RFR: 8263577: C2: reachable nodes shouldn't have dead uses at the end of optimizations

Roland Westrelin roland at openjdk.java.net
Mon Mar 15 12:38:21 UTC 2021


It's not uncommon for c2 to leave dead uses hanging from reachable
nodes. It's usually harmless but can cause confusion (such as in
valhalla JDK-8262289, not reproducible with non valhalla code AFAICT).

Most of the time, these are caused by calls to set_req() during igvn
that should be set_req_X() calls. I added a verification pass at the
end of optimization and fixed all the ones I found.

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

Commit messages:
 - fix

Changes: https://git.openjdk.java.net/jdk/pull/3012/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3012&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8263577
  Stats: 162 lines in 21 files changed: 61 ins; 42 del; 59 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3012.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3012/head:pull/3012

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


More information about the hotspot-compiler-dev mailing list