RFR: 8327381: Refactor type-improving transformations in BoolNode::Ideal to BoolNode::Value [v10]
Christian Hagedorn
chagedorn at openjdk.org
Fri Jun 14 07:36:17 UTC 2024
On Thu, 30 May 2024 19:35:37 GMT, Kangcheng Xu <kxu at openjdk.org> wrote:
>> 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 18 additional commits since the last revision:
>
> - Merge branch 'master' into boolnode-refactor
> - move test location, add negative test case, simplify imports
> - 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
> - ... and 8 more: https://git.openjdk.org/jdk/compare/297bb064...84784c74
Apart from Emanuel's comments and a small additional comment, it looks good to me, too! Let's wait until testing is complete.
src/hotspot/share/opto/subnode.cpp line 1813:
> 1811:
> 1812:
> 1813: //------------------------------Value------------------------------------------
Can be removed
Suggestion:
-------------
Marked as reviewed by chagedorn (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/18198#pullrequestreview-2117687172
PR Review Comment: https://git.openjdk.org/jdk/pull/18198#discussion_r1639393730
More information about the hotspot-compiler-dev
mailing list