[master] RFR: 8319185: [Lilliput] Enable and fix vectorization tests [v2]

Aleksey Shipilev shade at openjdk.org
Tue Jan 30 16:19:09 UTC 2024


On Tue, 30 Jan 2024 16:16:16 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> The change does two (related) things:
>> 
>> It white-lists the UseCompactObjectHeaders flag in the IR testing framework. Without this, the flag would not be passed through to any IR framework test.
>> That first change makes 3 tests fail. Those are all vectorization tests, and they are failing because 'small' array types (4-byte-elements and smaller) no longer have their elements aligned at 8-byte-boundaries. This throws off vectorization because this only kicks in on aligned accesses. The mitigation is to disable the failing tests for now. #118 offered a more comprehensive solution, but it was also more intrusive. After some discussion with Emmanuel Peter and Maurizio Cimadamore, we came to the conclusion that disabling the tests for now might be a better approach, especially considering that we may soon no longer need special 4-byte-array-alignment anymore.
>> 
>> 
>> Testing:
>>  - [x] compiler/c2/irTests/TestVectorizationMismatchedAccess.java +UCOH
>>  - [x] compiler/c2/irTests/TestVectorizationNotRun.java +UCOH
>>  - [x] compiler/loopopts/superword/TestIndependentPacksWithCyclicDependency.java +UCOH
>>  - [x] compiler/c2/irTests/TestVectorizationMismatchedAccess.java -UCOH
>>  - [x] compiler/c2/irTests/TestVectorizationNotRun.java -UCOH
>>  - [x] compiler/loopopts/superword/TestIndependentPacksWithCyclicDependency.java -UCOH
>>  - [x] tier1 +UCOH
>>  - [x] tier1 -UCOH
>
> Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Formatting improvement

Looks fine, but consider a stylistic nit.

Marked as reviewed by shade (Committer).

test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMismatchedAccess.java line 153:

> 151: 
> 152:     @Test
> 153:     @IR(applyIf = {"UseCompactObjectHeaders", "false"}, counts = { IRNode.LOAD_VECTOR_L, ">=1", IRNode.STORE_VECTOR, ">=1" })

Putting `applyIf` and `counts` on different lines looks cleaner; like in the case way below.

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

Marked as reviewed by shade (Committer).

PR Review: https://git.openjdk.org/lilliput/pull/125#pullrequestreview-1851628907
PR Review: https://git.openjdk.org/lilliput/pull/125#pullrequestreview-1851745737
PR Review Comment: https://git.openjdk.org/lilliput/pull/125#discussion_r1471453995


More information about the lilliput-dev mailing list