RFR: 8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind
Martin Doerr
mdoerr at openjdk.java.net
Fri Apr 30 09:50:20 UTC 2021
PPC64 and s390 have DecodeN implementations which use a MachTemp input. When LCM hoists the DecodeN, the MachTemp nodes reside in the old block, but should get hoisted together with the DecodeN node.
Same is true for load Base input which exists on s390 for example. Unfortunately, that's just a platform specific MachNode which is not nicely recognizable in LCM.
-------------
Commit messages:
- More generic condition for input node hoisting decision
- Fix indentation.
- Also support hoisting of load Base input. Remove assertion again which would require more changes.
- Move hoisting of MachTemp inputs before hoisting of DecodeN. Add stronger assertion to PhaseCFG::verify()
- 8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind
Changes: https://git.openjdk.java.net/jdk/pull/3637/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3637&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8265784
Stats: 14 lines in 1 file changed: 13 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jdk/pull/3637.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/3637/head:pull/3637
PR: https://git.openjdk.java.net/jdk/pull/3637
More information about the hotspot-compiler-dev
mailing list