[jdk17] Integrated: 8269746: C2: assert(!in->is_CFG()) failed: CFG Node with no controlling input?
Roland Westrelin
roland at openjdk.java.net
Thu Jul 8 07:27:51 UTC 2021
On Wed, 7 Jul 2021 07:37:55 GMT, Roland Westrelin <roland at openjdk.org> wrote:
> The backedge and the exit test of an inner strip mined loop are
> removed. A safepoint is right above the inner loop exit test when that
> happens. The outer strip mined loop safepoint is then processed by
> igvn which finds the other safepoint. This causes the outer loop
> safepoint to be replaced by the safepoint that was in the inner
> loop. Then the outer loop back edge is removed by igvn. This is done
> by replacing the loop exit by the control of the outer loop
> safepoint. Given the outer loop safepoint was replaced by a dominating
> safepoint, that logic replaces the oiter loop exit with the dominating
> safepoint control input. That must be harmless most of the time, but
> in this particular case a Store was between the 2 safepoints. That
> Store is still reachable in the graph but its control is not.
>
> Note: test case not included because the crash no longer reproduces (supposedly because order of node processing by igvn matters)
This pull request has now been integrated.
Changeset: 8f798b82
Author: Roland Westrelin <roland at openjdk.org>
URL: https://git.openjdk.java.net/jdk17/commit/8f798b822235e3bdbaf7a94caaae400de3753a25
Stats: 8 lines in 1 file changed: 6 ins; 0 del; 2 mod
8269746: C2: assert(!in->is_CFG()) failed: CFG Node with no controlling input?
Reviewed-by: chagedorn, thartmann
-------------
PR: https://git.openjdk.java.net/jdk17/pull/222
More information about the hotspot-compiler-dev
mailing list