[LLVMdev] Trying out Loop Vectorizer

Benjamin Kramer 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.

- Ben

More information about the llvm-dev mailing list