[llvm-commits] [PATCH] BasicBlock Autovectorization Pass

Duncan Sands baldrick at free.fr
Tue Nov 8 06:46:46 PST 2011


Hi Hal,

> Generally, I've observed slowdowns from the introduction of too many
> permutations per chain (the chain selection procedure can be changed to
> help this, and I'll work on that). Also, sometimes legalization of
> non-native vector operations creates inefficient code, and I'll also
> look at these cases in more detail.

the same problem applies when using LLVM to codegen the output of the
GCC auto-vectorizer (you can do this using dragonegg): in some cases
the code generators scalarize IR that maps directly to x86 instructions.
There's a plan to have a codegen option output a message when it
scalarizes something (probably this would be a private patch rather than
something that would go into LLVM), and then systematically compile lots
of code using the gcc auto-vectorizer and fix x86 until all such messages
go away.

Ciao, Duncan.



More information about the llvm-commits mailing list