Integrated: 8347449: C2: UseLoopPredicate off should also turn UseProfiledLoopPredicate off
Manuel Hässig
duke at openjdk.org
Wed Apr 2 06:51:28 UTC 2025
On Wed, 26 Mar 2025 09:27:59 GMT, Manuel Hässig <duke at openjdk.org> wrote:
> # Issue Summary
>
> When running with `-XX:-UseLoopPredicate` C2 still inserts profiled loop parse predicates, despite those being a form of loop parse predicate. Further, the loop predicate code is not always consistent when to insert/expect profiled parse predicates.
>
> # Change Summary
>
> Following the rationale, that profiled predicates are a subset of loop predicates, this PR disables profiled predicates whenever loop predicates are disabled. They are disabled on the level of arguments. Further, before any checks for whether profiled predicates are enabled, this PR inserts a check that loop predicates are enabled such that the code is consistent in its intention.
>
> Concretel, this PR
> - adds parse predicate nodes to the IR testing framework,
> - turns off `UseProfiledLoopPredicate` if `UseLoopPredicate` is turned off,
> - predicates all checks for `UseProfiledLoopPredicate`on `UseLoopPredicate` first for consistency,
> - adds a regression test.
>
>
> # Testing
>
> The changes passed the following testing:
> - [Github Actions](https://github.com/mhaessig/jdk/actions/runs/14078750038)
> - tier1 through tier3 and Oracle internal testing
This pull request has now been integrated.
Changeset: d358f5f4
Author: Manuel Hässig <manuel.hassig at oracle.com>
Committer: Christian Hagedorn <chagedorn at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/d358f5f4a44aacf2d79ccdb3e362ce8ed571f6da
Stats: 150 lines in 7 files changed: 128 ins; 2 del; 20 mod
8347449: C2: UseLoopPredicate off should also turn UseProfiledLoopPredicate off
Reviewed-by: chagedorn, epeter
-------------
PR: https://git.openjdk.org/jdk/pull/24248
More information about the hotspot-compiler-dev
mailing list