Integrated: JDK-8272574: C2: assert(false) failed: Bad graph detected in build_loop_late

王超 github.com+25214855+casparcwang at openjdk.java.net
Tue Sep 14 20:59:30 UTC 2021


On Tue, 17 Aug 2021 12:02:21 GMT, 王超 <github.com+25214855+casparcwang at openjdk.org> wrote:

> Current loop predication will promote nodes(with a dependency on a later control node) to the insertion point which dominates the later control node.
> 
> In the following example, loopPrediction will promote node 434 to the outer loop(predicted insert point is right after node 424), and it depends on control node 207.  But node 424 dominates node 207, which means after the promotion, the cloned nodes have a control dependency on a later control node, which leads to a bad graph.
> 
> ![image](https://user-images.githubusercontent.com/25214855/129720970-ff65b8f4-8bef-401d-8590-54aca6de470e.png)
> 
> ![image](https://user-images.githubusercontent.com/25214855/129721369-4c61222b-7305-4522-9a37-e3e6e2138aa9.png)

This pull request has now been integrated.

Changeset: 16c3ad1f
Author:    casparcwang <casparcwang at tencent.com>
Committer: Jie Fu <jiefu at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/16c3ad1ff4d9a0e21f15656c73a96a6c143c811a
Stats:     96 lines in 4 files changed: 91 ins; 0 del; 5 mod

8272574: C2: assert(false) failed: Bad graph detected in build_loop_late

Co-authored-by: Hui Shi <hshi at openjdk.org>
Co-authored-by: Christian Hagedorn <chagedorn at openjdk.org>
Reviewed-by: thartmann, chagedorn, kvn

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

PR: https://git.openjdk.java.net/jdk/pull/5142


More information about the hotspot-compiler-dev mailing list