Remove logic that decides whether to vectorize or not depending on O-levels
authorArnold Schwaighofer <aschwaighofer@apple.com>
Tue, 13 Aug 2013 15:51:25 +0000 (15:51 +0000)
committerArnold Schwaighofer <aschwaighofer@apple.com>
Tue, 13 Aug 2013 15:51:25 +0000 (15:51 +0000)
I have moved this logic into clang and opt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188281 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/PassManagerBuilder.cpp
tools/opt/opt.cpp

index a6b3f4ef2a54f9a0bc5dac3024834cf51f926329..3883ea242c1ab60ef38734cab07522be00271291 100644 (file)
@@ -195,7 +195,7 @@ void PassManagerBuilder::populateModulePassManager(PassManagerBase &MPM) {
   MPM.add(createLoopIdiomPass());             // Recognize idioms like memset.
   MPM.add(createLoopDeletionPass());          // Delete dead loops
 
-  if (!LateVectorize && LoopVectorize && OptLevel > 1 && SizeLevel < 2)
+  if (!LateVectorize && LoopVectorize)
       MPM.add(createLoopVectorizePass());
 
   if (!DisableUnrollLoops)
index 37637ca628057558a09088f4cf6d04afd55f303e..ca820617861d1d80dc5e46ecc86f8843675edaf1 100644 (file)
@@ -451,6 +451,8 @@ static void AddOptimizationPasses(PassManagerBase &MPM,FunctionPassManager &FPM,
   
   Builder.populateFunctionPassManager(FPM);
   Builder.populateModulePassManager(MPM);
+
+  Builder.LoopVectorize = OptLevel > 1 && SizeLevel < 2;
 }
 
 static void AddStandardCompilePasses(PassManagerBase &PM) {