[PATCH] D61030: [PassManagerBuilder] Add option for interleaved loops, for loop vectorize.

Renato Golin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 30 14:07:05 PDT 2019


rengolin accepted this revision.
rengolin added inline comments.
This revision is now accepted and ready to land.


================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:674
 
-  MPM.add(createLoopVectorizePass(DisableUnrollLoops, !LoopVectorize));
+  MPM.add(createLoopVectorizePass(!LoopsInterleaved, !LoopVectorize));
 
----------------
asbirlea wrote:
> hsaito wrote:
> > rengolin wrote:
> > > I may not have understood the problem, but to keep the previous behaviour, souldn't this be:
> > >     MPM.add(createLoopVectorizePass(DisableUnrollLoops || !LoopsInterleaved, !LoopVectorize));
> > I think, the intent of the patch is to change that (but not for clang until next time around).
> > 
> > http://lists.llvm.org/pipermail/llvm-dev/2019-April/131968.html
> > 
> Per the clang sibling-patch (D61142), the added field is `LoopsInterleaved = !DisableUnrollLoops`.
> 
> The new flag can be controlled in opt, vs `DisableUnrollLoops` could not.
> 
> A separate clang change can add flags such as `-floop-interleave`, `-fno-loop-interleave` to control this flag separately from the `-fno-unroll-loops`. I am not planning to make this addition.
Ah, makes sense! Thanks!


Repository:
  rL LLVM

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

https://reviews.llvm.org/D61030





More information about the llvm-commits mailing list