[PATCH] D30247: Epilog loop vectorization

Ayal Zaks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 29 08:15:15 PST 2019


Ayal added a comment.

In D30247#1340561 <https://reviews.llvm.org/D30247#1340561>, @DavidMC wrote:

> In D30247#863168 <https://reviews.llvm.org/D30247#863168>, @ashutosh.nema wrote:
>
> > This patch is little old and not updated with latest vectorization changes.
> >
> > In the RFC there are few concerns raised around the new block layout:
> >  a)	If original loop alias check fails, then directly jump to scalar loop
> >  b)	On critical path there should not be extra checks, i.e. when minimum iteration check fails for the original vector loop then directly jump to scalar loop. In my opinion this is possible optimization opportunity loss, because when minimum iteration check for original loop fails, can still try executing epilog loop and that requires epilog loop’s minimum iteration check. We can keep his under option.
> >
> > I guess both the cases can be handled, I’ll re initiate the discussion & update this patch soon.
>
>
> Is there any update with this patch? I find it very useful for cycles and size for targets that has masked operations not just for load and store but also for other operations including intra operations


BTW, targets that have efficient masked operations may also find it useful for cycles and size to vectorize (including epilogs) under -Os, and following r345705 possibly also with enable-masked-interleaved-mem-accesses turned on.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D30247





More information about the llvm-commits mailing list