[jdk17] RFR: 8269820: C2 PhaseIdealLoop::do_unroll get wrong opaque node [v2]
Hui Shi
hshi at openjdk.java.net
Mon Jul 5 01:31:33 UTC 2021
> In PhaseIdealLoop::is_canonical_loop_entry check, opaque node can be at either input of compare node, after is_canonical_loop_entry check, opaq node is getting only from compare node's in(2). This might get wrong oqaque node and cause crash/assertion. Detailed crash and analysis is in JBS.
>
> Fix: Adding method PhaseIdealLoop::get_opaque_from_cmp, getting opaque node from cmp node's either input.
>
> Test: Linux X64 tier1/2/3 release/fastdebug no regression.
>
> After this fix, BoolNode::Ideal might remove its code forbidding swapping compare node's input node order when second one is opaque1 node.
Hui Shi has updated the pull request incrementally with one additional commit since the last revision:
Fix more places assumption opaque at second input of compare nodes
-------------
Changes:
- all: https://git.openjdk.java.net/jdk17/pull/208/files
- new: https://git.openjdk.java.net/jdk17/pull/208/files/946984e9..a85fba61
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk17&pr=208&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk17&pr=208&range=00-01
Stats: 8 lines in 1 file changed: 2 ins; 0 del; 6 mod
Patch: https://git.openjdk.java.net/jdk17/pull/208.diff
Fetch: git fetch https://git.openjdk.java.net/jdk17 pull/208/head:pull/208
PR: https://git.openjdk.java.net/jdk17/pull/208
More information about the hotspot-compiler-dev
mailing list