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