[jdk17] Integrated: 8268672: C2: assert(!loop->is_member(u_loop)) failed: can be in outer loop or out of both loops only
Roland Westrelin
roland at openjdk.java.net
Mon Jun 21 14:20:51 UTC 2021
On Thu, 17 Jun 2021 13:53:12 GMT, Roland Westrelin <roland at openjdk.org> wrote:
> This is caused by the fix for 8263303 in which I changed the code of
> loop cloning of a strip mined loop so nodes that are pinned in the
> outer loop but not referenced by the loop's safepoint are moved out of
> the loop before cloning:
>
> https://github.com/openjdk/jdk/commit/d4377afb999f4f03d384ded97771c83ea1c1f513#diff-7b82624b78127158abbce6835eeba196bd062aee59512ec2d4e4c8c7d681573bR1980
>
> The assert failure here is caused by a node that has its control input
> set to the inner loop but is assigned control by PhaseIdealLoop out of
> the inner loop. The assert fires because the change from 8263303
> affects the condition that the assert checks. I still think, in
> principle, the fix from 8263303 is the good one so I propose to simply
> reorganize the change from 8263303 so the assert doesn't wrongly fire.
This pull request has now been integrated.
Changeset: d3ad8cd3
Author: Roland Westrelin <roland at openjdk.org>
URL: https://git.openjdk.java.net/jdk17/commit/d3ad8cd344681fe8442f821f97f05996bb972abe
Stats: 64 lines in 2 files changed: 62 ins; 0 del; 2 mod
8268672: C2: assert(!loop->is_member(u_loop)) failed: can be in outer loop or out of both loops only
Reviewed-by: kvn, neliasso
-------------
PR: https://git.openjdk.java.net/jdk17/pull/88
More information about the hotspot-compiler-dev
mailing list