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