RFR: 8335709: C2: assert(!loop->is_member(get_loop(useblock))) failed: must be outside loop

Tobias Hartmann thartmann at openjdk.org
Thu Jul 18 11:19:33 UTC 2024


On Thu, 18 Jul 2024 09:38:47 GMT, Roland Westrelin <roland at openjdk.org> wrote:

> When a `NeverBranch` is added to an infinite loop, the `NeverBanch`
> and its projection that branches in the loop are assigned to the wrong
> loop. The confuses the logic that tries to sink nodes out of loop.

That looks good to me. I submitted some testing and will report back once it passed.

test/hotspot/jtreg/compiler/loopopts/InfiniteLoopBadControlNeverBranch.java line 49:

> 47:     static void test() {
> 48:         int i = 0;
> 49:         while(true) {

Suggestion:

        while (true) {

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

Marked as reviewed by thartmann (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/20231#pullrequestreview-2185526151
PR Review Comment: https://git.openjdk.org/jdk/pull/20231#discussion_r1682662382


More information about the hotspot-compiler-dev mailing list