From: Arnold Schwaighofer Date: Tue, 13 Aug 2013 15:51:25 +0000 (+0000) Subject: Remove logic that decides whether to vectorize or not depending on O-levels X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=b6171c529670e5c240aaf9c08f5f1b6dba9d16fc;p=oota-llvm.git Remove logic that decides whether to vectorize or not depending on O-levels 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 --- diff --git a/lib/Transforms/IPO/PassManagerBuilder.cpp b/lib/Transforms/IPO/PassManagerBuilder.cpp index a6b3f4ef2a5..3883ea242c1 100644 --- a/lib/Transforms/IPO/PassManagerBuilder.cpp +++ b/lib/Transforms/IPO/PassManagerBuilder.cpp @@ -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) diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 37637ca6280..ca820617861 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -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) {