RFR: 8314024: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info [v3]

Roland Westrelin roland at openjdk.org
Tue Aug 29 08:28:50 UTC 2023


> A node is sunk from the pre loop into the main loop. That node, in the
> main loop, feeds into a test. When the node is sunk it is pinned
> between the main and pre loop. The test it feeds into is then
> eliminated by range check elimination: the sunk node becomes input to
> an expression that computes the new bound of the pre loop. The
> resulting graph is broken because the sunk node is pinned below the
> pre loop but used by the exit test of the pre loop.
> 
> The fix I propose is in `PhaseIdealLoop::try_sink_out_of_loop()`, to
> skip nodes in pre loops that have a use in the companion main loop.

Roland Westrelin has updated the pull request incrementally with one additional commit since the last revision:

  test fix

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/15399/files
  - new: https://git.openjdk.org/jdk/pull/15399/files/d6e2c8b7..412f899f

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=15399&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15399&range=01-02

  Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/15399.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15399/head:pull/15399

PR: https://git.openjdk.org/jdk/pull/15399


More information about the hotspot-compiler-dev mailing list