RFR: 8294236: [IR Framework] CPU preconditions are overriden by regular preconditions [v2]

Vladimir Kozlov kvn at openjdk.org
Mon Sep 26 17:58:20 UTC 2022


On Mon, 26 Sep 2022 07:43:09 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:

>> This changeset ensures that all preconditions of a IR test (`applyIf`, `applyIfCPUFeature`, etc.) are evaluated as a logical conjunction to determine whether the test's IR check should be applied.
>> 
>> #### Testing
>> 
>> - tier1-3 (windows-x64, linux-x64, linux-aarch64, and macosx-x64).
>> - IR framework tests in `test/hotspot/jtreg/testlibrary_tests/ir_framework` (linux-x64).
>
> Roberto Castañeda Lozano has updated the pull request incrementally with three additional commits since the last revision:
> 
>  - Describe behavior in README.md
>  - Use whitespaces consistently
>  - Require C2

I think we should use `} else if () {` constructs here since you not exit immediately after finding `applyIf*`.

test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestPreconditions.java line 44:

> 42:     // The IR check should not be applied, since LoopMaxUnroll is set to 8.
> 43:     @Test
> 44:     @IR(applyIf = {"LoopMaxUnroll", "= 0"},

Comment contradict value in condition: `LoopMaxUnroll is set to 8.` vs `"LoopMaxUnroll", "= 0"`

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

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


More information about the hotspot-compiler-dev mailing list