Integrated: 8327111: Replace remaining usage of create_bool_from_template_assertion_predicate() which requires additional OpaqueLoop*Nodes transformation strategies
Christian Hagedorn
chagedorn at openjdk.org
Mon Apr 8 10:55:12 UTC 2024
On Thu, 4 Apr 2024 13:50:37 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:
> https://github.com/openjdk/jdk/pull/18293 started to replace `create_bool_from_template_assertion_predicate()` usages to fix an endless DFS traversal problem. This patch is a follow-up to replace the last usage of `create_bool_from_template_assertion_predicate()` in `clone_assertion_predicate_and_initialize()` to completely fix the problem.
>
> Depending on where `clone_assertion_predicate_and_initialize()` is called from, we need to clone the Template Assertion Predicate Expression differently:
> - Create a new Template Assertion Predicate for a main loop: Clone everything except for the `OpaqueLoopInitNode` which needs to be replaced with a new `OpaqueLoopInitNode` (done with `clone_and_replace_init()`).
> - Create an Initialized Assertion Predicate for all other cases: Clone everything except for the `OpaqueLoop*Nodes` which are replaced with an actual init and stride value (done with `clone_and_replace_init_and_stride()`).
>
> Note that it's incorrect to _not_ create new Template Assertion Predicates in case we split the loop further (for example after peeling a loop). This will be eventually fixed with [JDK-8288981](https://bugs.openjdk.org/browse/JDK-8288981).
>
> I've extended the test added with https://github.com/openjdk/jdk/pull/18293 to also cover the now fixed cases.
>
> Thanks,
> Christian
This pull request has now been integrated.
Changeset: fc18201b
Author: Christian Hagedorn <chagedorn at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/fc18201bbdac7ac7d78767c780d3efe5352ee77a
Stats: 189 lines in 5 files changed: 103 ins; 82 del; 4 mod
8327111: Replace remaining usage of create_bool_from_template_assertion_predicate() which requires additional OpaqueLoop*Nodes transformation strategies
Reviewed-by: epeter, kvn
-------------
PR: https://git.openjdk.org/jdk/pull/18628
More information about the hotspot-compiler-dev
mailing list