RFR: 8308994: C2: Re-implement experimental post loop vectorization [v2]

Emanuel Peter epeter at openjdk.org
Mon Jul 3 14:55:14 UTC 2023


On Mon, 3 Jul 2023 07:37:22 GMT, Pengfei Li <pli at openjdk.org> wrote:

>> ## TL;DR
>> 
>> This patch completely re-implements C2's experimental post loop vectorization for better stability, maintainability and performance. Compared with the original implementation, this new implementation adds a standalone loop phase in C2's ideal loop phases and can vectorize more post loops. The original implementation and all code related to multi-versioned post loops are deleted in this patch. More details about this patch can be found in the document replied in this pull request.
>
> Pengfei Li has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Address part of comments from Emanuel

src/hotspot/share/opto/vmaskloop.cpp line 64:

> 62: 
> 63:   if (!cl->is_valid_counted_loop(T_INT)) {
> 64:     trace_msg(nullptr, "Loop is not a valid counted loop");

Would it help to dump the loop head here? Just that one knows which loop is being rejected here?

src/hotspot/share/opto/vmaskloop.cpp line 68:

> 66:   }
> 67:   if (abs(cl->stride_con()) != 1) {
> 68:     trace_msg(nullptr, "Loop has unsupported stride value");

Dump loop head and the stride

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14581#discussion_r1250994587
PR Review Comment: https://git.openjdk.org/jdk/pull/14581#discussion_r1250995022


More information about the hotspot-compiler-dev mailing list