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

Christian Hagedorn chagedorn at openjdk.org
Thu Apr 18 12:45:30 UTC 2024


On Thu, 18 Apr 2024 12:42:31 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 two additional commits since the last revision:
> 
>  - Move push-inputs/outputs to Node_List.
>  - Review Emanuel

Thanks a lot for your review!

I've addressed all your comments and pushed an update. I already incorporated the idea of moving the `push` methods to `Node_List`.

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

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


More information about the hotspot-compiler-dev mailing list