[LLVMdev] Automatic Vectorization

Renato Golin rengolin at systemcall.org
Thu Dec 17 07:09:37 PST 2009

Hi all,

I've sent it as a reply to another thread, but it was ill placed.
Anyway, sorry about the duplication, but here it goes.

I've been looking into the loop passes and noticed
we do alias analysis and scalar evolution only, trying to clean up the
loop as far as possible.

I suppose that, if we were to define SCCs, split them into groups and
re-arranging into multiple loops, we would still do it in the IR.
Would that spoil any other pass? What passes should run
before/after such a pass?

I believe that would be a FunctionPass and registered in the
LoopDependencyAnalysis "runOnLoop()", so it can run when such pass is
called by the PassManager. Or should it be a completely separate pass
(VectorizationPass?) so we can control it from a separate command-line

Any comments appreciated before I dig in.



Reclaim your digital rights, eliminate DRM, learn more at

More information about the llvm-dev mailing list