[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