RFR: 8324751: C2 SuperWord: Aliasing Analysis runtime check [v11]
Emanuel Peter
epeter at openjdk.org
Tue Aug 19 16:50:50 UTC 2025
On Tue, 19 Aug 2025 16:42:58 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> I mean, it should be in code's comments. And, yes please run benchmarks with different configuration.
>
> 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.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24278#discussion_r2285810654
More information about the hotspot-compiler-dev
mailing list