RFR: 8334647: C2: CastII added by PhaseIdealLoop::add_template_assertion_predicate() should have control
Roland Westrelin
roland at openjdk.org
Thu Jun 20 14:55:34 UTC 2024
`PhaseIdealLoop::add_template_assertion_predicate()` creates a new
`CastII` but doesn't set its control. I think it's good practice to
always set the control of a `CastII` when it narrows the type of its
input (it has to be control dependent on some condition that makes the
narrowing possible). This is also motivated by
https://bugs.openjdk.org/browse/JDK-8275202 where a node that becomes
top is used as an indication that control flow where the node changes
type can constant fold. This only works if control is set correctly.
-------------
Commit messages:
- fix
Changes: https://git.openjdk.org/jdk/pull/19808/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19808&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8334647
Stats: 5 lines in 2 files changed: 3 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/19808.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/19808/head:pull/19808
PR: https://git.openjdk.org/jdk/pull/19808
More information about the hotspot-compiler-dev
mailing list