8260420: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint #2315
Loop strip mining verification fails because a
Now the load without a safepoint use is always detected by loop strip mining verification but without verification (for example, in a product build), we still hit several different issues depending on the exact use of the load (compare
Therefore, relaxing loop strip mining verification is not an option.
The problem with the fix for JDK-8249607 is that it relies on IGVN being executed before pre/main/post loops are created, merging the two clones such that the remaining one has a safepoint use and is therefore correctly handled. However, this is not guaranteed. In fact, if
I think we have the following options:
I've decided to go with 4) and also reverted the fix for JDK-8249607 which is no longer required.
As Roland and Christian already noticed, there are various other issues with that code that hopefully will be addressed at some point by JDK-8252372.
@TobiHartmann This change now passes all automated pre-integration checks.
After integration, the commit message for the final commit will be:
At the time when this comment was updated there had been 23 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.
@TobiHartmann Since your change was applied there have been 37 commits pushed to the
Your commit was automatically rebased without conflicts.
Pushed as commit fe407cf.