RFR: 8334647: C2: CastII added by PhaseIdealLoop::add_template_assertion_predicate() should have control [v3]
Roland Westrelin
roland at openjdk.org
Thu Jul 25 15:48:39 UTC 2024
On Fri, 12 Jul 2024 10:30:23 GMT, Roland Westrelin <roland at openjdk.org> wrote:
>> `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.
>
> Roland Westrelin has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:
>
> - Merge branch 'master' into JDK-8334647
> - review
> - Merge branch 'master' into JDK-8334647
> - review
> - review
> - fix
Thanks Vladimir.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19808#issuecomment-2250734973
More information about the hotspot-compiler-dev
mailing list