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

Alina Sbirlea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 30 14:03:09 PDT 2019


asbirlea marked 3 inline comments as done.
asbirlea added inline comments.


================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:674
 
-  MPM.add(createLoopVectorizePass(DisableUnrollLoops, !LoopVectorize));
+  MPM.add(createLoopVectorizePass(!LoopsInterleaved, !LoopVectorize));
 
----------------
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.


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