RFR: 8324751: C2 SuperWord: Aliasing Analysis runtime check [v3]

Emanuel Peter epeter at openjdk.org
Sun Aug 3 07:17:03 UTC 2025


On Mon, 28 Jul 2025 12:17:54 GMT, Manuel Hässig <mhaessig at openjdk.org> wrote:

>> Emanuel Peter has updated the pull request incrementally with four additional commits since the last revision:
>> 
>>  - Update test/hotspot/jtreg/compiler/loopopts/superword/TestAliasingFuzzer.java
>>    
>>    Co-authored-by: Manuel Hässig <manuel at haessig.org>
>>  - Update src/hotspot/share/opto/vectorization.hpp
>>    
>>    Co-authored-by: Manuel Hässig <manuel at haessig.org>
>>  - Update src/hotspot/share/opto/vtransform.hpp
>>    
>>    Co-authored-by: Manuel Hässig <manuel at haessig.org>
>>  - some suggestions by Manuel
>
> src/hotspot/share/opto/superword.cpp line 836:
> 
>> 834: 
>> 835:   // If we cannot speculate (aliasing analysis runtime checks), we need to respect all edges.
>> 836:   bool with_weak_memory_edges = !_vloop.use_speculative_aliasing_checks();
> 
> Edges that always have to be respected are strong edges. So, if we cannot speculate, we only have strong edges. With this comment and understanding, I would write the expression as
> 
> bool with_weak_memory_edges = _vloop.use_speculative_aliasing_checks();
> 
> or 
> 
> bool with_strong_memory_edges = !_vloop.use_speculative_aliasing_checks();

Changed it, thanks!

> src/hotspot/share/opto/superword.cpp line 878:
> 
>> 876: 
>> 877:   // If we cannot speculate (aliasing analysis runtime checks), we need to respect all edges.
>> 878:   bool with_weak_memory_edges = !_vloop.use_speculative_aliasing_checks();
> 
> Same as above.

done!

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24278#discussion_r2249633620
PR Review Comment: https://git.openjdk.org/jdk/pull/24278#discussion_r2249633644


More information about the hotspot-compiler-dev mailing list