RFR: 8327381: Refactor type-improving transformations in BoolNode::Ideal to BoolNode::Value [v11]
Emanuel Peter
epeter at openjdk.org
Mon Jul 22 06:50:44 UTC 2024
On Wed, 26 Jun 2024 06:57:23 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:
>> 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 20 additional commits since the last revision:
>>
>> - Merge branch 'master' into boolnode-refactor
>> - update test values, @run directive, and remove an empty line
>> - 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
>> - ... and 10 more: https://git.openjdk.org/jdk/compare/175b1170...715a6304
>
> I've run some testing again and the newly added test failed on all platforms in tier2:
>
> compiler/c2/gvn/TestBoolNodeGVN.java
>
> Additionally required flags:
>
> -XX:-TieredCompilation
>
> Maybe you need to increase the warm-up.
>
> Output:
>
> One or more @IR rules failed:
>
> Failed IR Rules (1) of Methods (1)
> ----------------------------------
> 1) Method "public static boolean compiler.c2.gvn.TestBoolNodeGVN.testShouldHaveCpmU(int,int)" - [Failed IR rules: 1]:
> * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={AFTER_PARSING}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#CMP_U#_", "4"}, applyIfPlatform={}, failOn={}, applyIfPlatformOr={"x64", "true", "aarch64", "true", "riscv64", "true"}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> > Phase "After Parsing":
> - counts: Graph contains wrong number of nodes:
> * Constraint 1: "(\\d+(\\s){2}(CmpU.*)+(\\s){2}===.*)"
> - Failed comparison: [found] 2 = 4 [given]
> - Matched nodes (2):
> * 31 CmpU === _ 23 27 [[ 32 ]] !jvms: TestBoolNodeGVN::testShouldHaveCpmU @ bci:9 (line 66)
> * 60 CmpU === _ 23 57 [[ 61 ]] !jvms: TestBoolNodeGVN::testShouldHaveCpmU @ bci:44 (line 68)
@chhagedorn should we change the regex to have a space at the end, so that we do not do this kind of prefix-matching?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/18198#issuecomment-2242211367
More information about the hotspot-compiler-dev
mailing list