RFR: 8327381: Refactor type-improving transformations in BoolNode::Ideal to BoolNode::Value [v9]

Kangcheng Xu kxu at openjdk.org
Tue May 7 17:33:29 UTC 2024


> This PR resolves [JDK-8327381](https://bugs.openjdk.org/browse/JDK-8327381)
> 
> Currently the transformations for expressions with patterns `((x & m) u<= m)` or `((m & x) u<= m)` to `true` is in `BoolNode::Ideal` function with a new constant node of value `1` created. However, this is technically a type-improving (reduction in range) transformation that's better suited in `BoolNode::Value` function.
> 
> New unit test `test/hotspot/jtreg/compiler/c2/TestBoolNodeGvn.java` asserting on IR nodes and correctness of this transformation is added and passing.

Kangcheng Xu has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 16 additional commits since the last revision:

 - Merge branch 'master' into boolnode-refactor
 - refactor BoolNode::Value() and extract code to ::Value_cmpu_and_mask
 - update comments
 - fix indentation again
 - apply test only on x64, aarch64 and riscv64
 - also renames the class name in @run
 - update test @run annotation
 - improve formatting, correct annotation and rename test class
 - Merge branch 'master' into boolnode-refactor
 - update the package name for tests
 - ... and 6 more: https://git.openjdk.org/jdk/compare/91beff36...278c436a

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/18198/files
  - new: https://git.openjdk.org/jdk/pull/18198/files/53cf5b3b..278c436a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18198&range=08
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18198&range=07-08

  Stats: 122406 lines in 3144 files changed: 56561 ins; 49745 del; 16100 mod
  Patch: https://git.openjdk.org/jdk/pull/18198.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18198/head:pull/18198

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


More information about the hotspot-compiler-dev mailing list