I sent a patch to llvm-commit with a new loop vectorizer. This is a very simple loop vectorizer, but we have to start somewhere. With this new loop vectorizer we can already vectorize a good number of loops. I know that we can improve the new loop vectorizer in a number of ways. We can implement a precise dependence test, we can add support for reduction variables, we can resolve a number of phase-ordering issues, just to name a few. I would like to focus on the 'cost model' aspects of the vectorization. In order to implement an efficient cost model we will need to improve our codegen infrastructure and implement the VectorTargetTransformationInfo interface. I appreciate any help, feedback, patches and ideas on the new loop vectorizer and how we can push this forward.