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

Vladimir Kozlov kvn at openjdk.org
Tue Aug 19 17:42:48 UTC 2025


On Tue, 19 Aug 2025 16:47:41 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> The patch already adds these comments:
>> 
>> - `predicates.hpp`
>>   - https://github.com/openjdk/jdk/pull/24278/files#diff-d3883ecef2a7ed7fecf2f7b3b7d60c898b97d4199717552ecd52c3973e298a68R88-R102
>>   - `VTransform::apply_speculative_aliasing_runtime_checks` uses pre-existing `add_speculative_check`
>> 
>> Before the patch, we already have:
>> - `add_speculative_check`: I think it reads quite clearly, but it does not have any good descriptions. It calls:
>>   - `create_new_if_for_predicate`: no mention about multiversioning... but predicates apply to non auto-vec uses, so it should probably not be placed there.
>>   - `create_new_if_for_multiversion`: does not mention mention much. I'll add a link to `maybe_multiversion_for_auto_vectorization_runtime_checks` where there is more documentation.
>> - `PhaseIdealLoop::maybe_multiversion_for_auto_vectorization_runtime_checks` mentions that we only multiversion if there is no predicate.
>> 
>> I'm adding some more documentation and cross-links.
>
> At some point, we need a more high-level documentation in `superword.hpp`. Currently, there is some documentation in `SuperWord::SLP_extract`, but that is not very easy to find, and I think there are also some inaccuracies there. But I'll look at that in a future RFE.

I think you can do major documentation update in separate RFE.

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

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


More information about the hotspot-compiler-dev mailing list