RFR: 8330004: Refactor cloning down code in Split If for Template Assertion Predicates [v3]

Emanuel Peter epeter at openjdk.org
Thu Apr 18 13:53:01 UTC 2024


On Thu, 18 Apr 2024 13:41:32 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

>> This is another patch split off https://github.com/openjdk/jdk/pull/16877. It refactors the "cloning down" code for Split If with Template Assertion Predicates. This mainly includes the replacement of `subgraph_has_opaque()` with a new class `TemplateAssertionPredicateExpressionNode`. More details can be found as PR comments.
>> 
>> #### Background
>> 
>> The cloning down code is required in Split If when trying to split any node up that belongs to a Template Assertion Predicate Expression (TAPE) (including the `OpaqueLoop*` nodes). We need to prevent that to avoid having any phi nodes in the TAPE which could result in failures when trying to later match and clone Template Assertion Predicates. Instead of cloning such a TAPE node up, we clone ("down") the entire TAPE.
>> 
>> Thanks,
>> Christian
>
> Christian Hagedorn has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Update

Looks good to me now.

-------------

Marked as reviewed by epeter (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/18723#pullrequestreview-2008967334


More information about the hotspot-compiler-dev mailing list