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

Christian Hagedorn chagedorn at openjdk.org
Thu Apr 11 06:32:53 UTC 2024


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

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

Commit messages:
 - 8330004: Refactor cloning down code in Split If for Template Assertion Predicates

Changes: https://git.openjdk.org/jdk/pull/18723/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18723&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8330004
  Stats: 319 lines in 6 files changed: 236 ins; 65 del; 18 mod
  Patch: https://git.openjdk.org/jdk/pull/18723.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18723/head:pull/18723

PR: https://git.openjdk.org/jdk/pull/18723


More information about the hotspot-compiler-dev mailing list