RFR: JDK-8272574: C2: assert(false) failed: Bad graph detected in build_loop_late [v8]

王超 github.com+25214855+casparcwang at openjdk.java.net
Mon Aug 23 08:32:12 UTC 2021


> 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)

王超 has updated the pull request incrementally with one additional commit since the last revision:

  Make the comment more professional

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5142/files
  - new: https://git.openjdk.java.net/jdk/pull/5142/files/9106885e..332d7a16

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5142&range=07
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5142&range=06-07

  Stats: 10 lines in 1 file changed: 5 ins; 4 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5142.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5142/head:pull/5142

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


More information about the hotspot-compiler-dev mailing list