RFR: JDK-8308994: C2: Re-implement experimental post loop vectorization

Emanuel Peter epeter at openjdk.org
Fri Jun 23 10:40:03 UTC 2023


On Fri, 23 Jun 2023 09:53:22 GMT, Emanuel Peter <epeter 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.
>
> src/hotspot/share/opto/loopnode.cpp line 4688:
> 
>> 4686:     for (LoopTreeIterator iter(_ltree_root); !iter.done(); iter.next()) {
>> 4687:       IdealLoopTree* lpt = iter.current();
>> 4688:       if (lpt->is_counted() && lpt->is_innermost()) {
> 
> Is this applied to all innermost counted loops? Or only post-loops?

Ah, you do the check inside. Why not lift it out and assert inside?

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

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


More information about the hotspot-dev mailing list