RFR: 8373524: C2: no reachable node should have no use [v2]

Roland Westrelin roland at openjdk.org
Wed Dec 17 14:11:00 UTC 2025


> The failure occurs because `PhiNode::Ideal` uses `set_req` to update
> an input of a `Phi`. That causes the previous input to be disconnected
> but because of the use of `set_req`, the previous input that has no
> use is not enqueued for `igvn` to be reclaimed. The fix is to use
> `set_req_X` instead. I replaced uses of `set_req` with `set_req_X` in
> `PhiNode::Ideal` where I thought it made sense.

Roland Westrelin has updated the pull request incrementally with two additional commits since the last revision:

 - Update test/hotspot/jtreg/compiler/c2/TestNodeWithNoUseAfterPhiIdeal.java
   
   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
 - Update src/hotspot/share/opto/cfgnode.cpp
   
   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/28841/files
  - new: https://git.openjdk.org/jdk/pull/28841/files/ab262397..9f51aa5b

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

  Stats: 4 lines in 2 files changed: 3 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/28841.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28841/head:pull/28841

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


More information about the hotspot-compiler-dev mailing list