[llvm-dev] difference between polly stripmine, vector and unroll flags
Michael Kruse via llvm-dev
llvm-dev at lists.llvm.org
Tue Jul 17 00:05:57 PDT 2018
2018-07-16 11:32 GMT-07:00 hameeza ahmed <hahmed2305 at gmail.com>:
> Hello I m using following polly flags,
>
> clang -O3 -mllvm -polly -mllvm -polly-vectorizer=stripmine
This prepares instructions into vector-sized chunks
(-polly-prevect-width, 4 by default), but does not generate vector
instructions itself. The LoopVectorizer can generate vector
instructions from it.
> clang -O3 -mllvm -polly -mllvm -polly-vectorizer=polly
Like -polly-vectorizer=stripmine, but generates vector instructions itself.
> clang -O3 -mllvm -polly -mllvm -force-vector-interleave=32
This is a LoopVectorizer option. It does not vectorize, but interleave
(a special kind of unrolling).
Michael
More information about the llvm-dev
mailing list