[PATCH] D55785: [LoopVectorize] Rename pass options. NFC.

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 17 12:47:54 PST 2018


Meinersbur created this revision.
Meinersbur added reviewers: hfinkel, hsaito, dmgreen, Ayal, dcaballe, fedor.sergeev, rengolin.
Herald added a subscriber: mehdi_amini.

Rename:
NoUnrolling to InterleaveOnlyWhenForced 
and
AlwaysVectorize to !VectorizeOnlyWhenForced

Contrary to what the name 'AlwaysVectorize' suggests, it does not unconditionally vectorize all loops, but applies a cost model to determine whether vectorization is profitable to all loops. Hence, passing false will disable the cost model, except when a loop is marked with llvm.loop.vectorize.enable. The 'OnlyWhenForced' suffix (suggested by @hfinkel in D55716 <https://reviews.llvm.org/D55716>) better matches this behavior.

Similarly, 'NoUnrolling' disables the profitability cost model for interleaving (a term to distinguish it from unrolling by the LoopUnrollPass); rename it for consistency.

Note that LoopVectorize'rs vectorize and interleaving transformations are not entirely independent. For instance, `{!"llvm.loop.vectorize.enable", i32 0}` disables interleaving as well.


Repository:
  rL LLVM

https://reviews.llvm.org/D55785

Files:
  include/llvm/Transforms/Vectorize.h
  include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
  include/llvm/Transforms/Vectorize/LoopVectorize.h
  lib/Transforms/IPO/PassManagerBuilder.cpp
  lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
  lib/Transforms/Vectorize/LoopVectorize.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55785.178514.patch
Type: text/x-patch
Size: 7934 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181217/cd832bfe/attachment.bin>


More information about the llvm-commits mailing list