During the LTO phase LICM will move loop invariant global variables out of loops
(informed by GlobalModRef). This makes more loops countable presenting
opportunity for the loop vectorizer.
Adding the loop vectorizer improves some TSVC benchmarks and twolf/ref dataset
(5%) on x86-64.
radar://
15970632
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202051
91177308-0d34-0410-b5e6-
96231b3b80d8
// Nuke dead stores.
PM.add(createDeadStoreEliminationPass());
+ // More loops are countable try to vectorize them.
+ PM.add(createLoopVectorizePass(true, true));
+
// Cleanup and simplify the code after the scalar optimizations.
PM.add(createInstructionCombiningPass());