RFR: 8342692: C2: long counted loop/long range checks: don't create loop-nest for short running loops [v15]

Roland Westrelin roland at openjdk.org
Fri May 9 12:41:14 UTC 2025


On Wed, 7 May 2025 21:24:40 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Wouldn't I then need to duplicate every `@run` line in the test i.e.:
>> 
>>  @run driver compiler.loopopts.superword.TestMemorySegment ByteArray
>>  @run driver compiler.loopopts.superword.TestMemorySegment ByteArray AlignVector
>> 
>> 
>> would become:
>> 
>> 
>>  @run driver compiler.loopopts.superword.TestMemorySegment ByteArray
>>  @run driver compiler.loopopts.superword.TestMemorySegment ByteArray AlignVector
>>  @run driver compiler.loopopts.superword.TestMemorySegment ByteArray ShortLoop
>>  @run driver compiler.loopopts.superword.TestMemorySegment ByteArray AlignVector ShortLoop
>> 
>> 
>> Same for `CharArray` etc...
>> That seems like a lot of extra complexity. Or would it be sufficient to only add it for `ByteArray` to have the non short loop case at least minimally covered?
>
> Yeah, I would only do it for one or two cases. Doing it for all would be a little excessive, and eventually we have too many combinations.

Sounds reasonable. Done in new commits.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21630#discussion_r2081580237


More information about the hotspot-compiler-dev mailing list