[PATCH] D93317: [LV] Vectorize (some) early and multiple exit loops

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 23 11:26:25 PST 2020


reames added a comment.

In D93317#2470271 <https://reviews.llvm.org/D93317#2470271>, @fhahn wrote:

> In D93317#2468673 <https://reviews.llvm.org/D93317#2468673>, @reames wrote:
>
>> Florian, any other edge cases you can think of?  I'd completely missed that one.  Thank you for finding it!
>
> I think there are some scenarios when we break some  LCSSA PHIs that use PHIs created  during SCEV expansion when we generate the runtime checks. After a first glance, it appears like an issue after we  add the conditional branch from the `middle` block. The example below should cause a verifier failure with `opt -loop-vectorize -force-vector-width=4`. I tried to reduce it a bit, but unfortunately it is still quite ugly.

I can confirm the failure and will debug.  Thank you again for finding a cornercase.

Florian, do you mind if I landed this under an off by default flag?  I realize we have correctness issues outstanding, but it would be a lot easier to test this, and highlight the fixes one by one if I was working off checked in code.  Once we'd worked through everything, I'd enable and remove the flag.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93317/new/

https://reviews.llvm.org/D93317



More information about the llvm-commits mailing list