[jdk19] RFR: 8289954: C2: Assert failed in PhaseCFG::verify() after JDK-8183390

Pengfei Li pli at openjdk.org
Mon Jul 18 09:23:01 UTC 2022


On Mon, 18 Jul 2022 08:33:50 GMT, Roland Westrelin <roland at openjdk.org> wrote:

> To have this fixed in jdk 19, you need to open a PR againsts jdk 19.

Yeah, this is indeed against jdk 19.

> Isn't SuperWord::unrolling_analysis() only called for main and rce post loops anyway? What loop type doesn't the extra check exclude in the case of your test?

It's a normal loop. I find the check is called from `IdealLoopTree::policy_unroll_slp_analysis()`. And that function is called from `IdealLoopTree::policy_unroll()` which accepts normal loops. I see the assert in `IdealLoopTree::policy_unroll()` says

assert(cl->is_normal_loop() || cl->is_main_loop(), "");

We probably need another fix to avoid this. But to reduce risks, I still propose we just restore the incorrectly updated code in this PR for jdk 19 and do complete fix in jdk 20.

-------------

PR: https://git.openjdk.org/jdk19/pull/130


More information about the hotspot-compiler-dev mailing list