RFR: 8367389: C2 SuperWord: refactor VTransform to model the whole loop instead of just the basic block [v2]

Emanuel Peter epeter at openjdk.org
Wed Sep 17 11:45:58 UTC 2025


On Fri, 12 Sep 2025 09:09:29 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   for Manuel
>
> src/hotspot/share/opto/vectorization.cpp line 212:
> 
>> 210: // - No memory phi: only loads. All have the same input memory state from before the loop.
>> 211: // - With memory phi. Chain of memory operations inside the loop.
>> 212: void VLoopMemorySlices::find_memory_slices() {
> 
> See `VLoopMemorySlices` for more documentation on the cases.

Note: we used to only track slices with phis (i.e. with stores on the slice), and not those that have only loads (and hence no phi).

> src/hotspot/share/opto/vectorization.hpp line 382:
> 
>> 380: };
>> 381: 
>> 382: // Submodule of VLoopAnalyzer.
> 
> Refactored and moved down.

Needs to be after `VLoopBody`, because `VLoopMemorySlices` now needs `VLoopBody` as input.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27208#discussion_r2343565551
PR Review Comment: https://git.openjdk.org/jdk/pull/27208#discussion_r2343551782


More information about the hotspot-compiler-dev mailing list