[LLVMdev] Trying out Loop Vectorizer
benny.kra at gmail.com
Mon Dec 31 11:57:01 PST 2012
On 31.12.2012, at 20:03, Michael Lam <michael.lam.sk at gmail.com> wrote:
> Hi all,
> I am trying out the new loop vectorizer in LLVM 3.2. I wanted to see the effect of the pass in `opt` but I have no success. I used LLVM IR generated from C examples in http://blog.llvm.org/2012/12/new-loop-vectorizer.html#more and pass them to `opt -S -O3 -vectorize-loops example.ll`. However, I do not see vectorized output. What am I doing wrong?
I'm not entirely sure why this is the case, the target specific stuff for opt is still very new, but at the moment you have to explicitly set a triple for opt so it can access target-specific bits to estimate the cost of vectorization. Something like "opt -mtriple=x86_64-linux-gnu -S -O3 -vectorize-loops" should work. You can also specify a target cpu with -mcpu (which takes the same arguments as clang -march) to experiment with different SSE levels.
More information about the llvm-dev