diff options
Diffstat (limited to 'llvm/tools/opt/opt.cpp')
-rw-r--r-- | llvm/tools/opt/opt.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/llvm/tools/opt/opt.cpp b/llvm/tools/opt/opt.cpp index 1a886ea7965..2119cc0183f 100644 --- a/llvm/tools/opt/opt.cpp +++ b/llvm/tools/opt/opt.cpp @@ -176,10 +176,6 @@ static cl::opt<bool> DisableLoopUnrolling("disable-loop-unrolling", cl::desc("Disable loop unrolling in all relevant passes"), cl::init(false)); -static cl::opt<bool> -DisableLoopVectorization("disable-loop-vectorization", - cl::desc("Disable the loop vectorization pass"), - cl::init(false)); static cl::opt<bool> DisableSLPVectorization("disable-slp-vectorization", @@ -381,11 +377,13 @@ static void AddOptimizationPasses(legacy::PassManagerBase &MPM, Builder.DisableUnrollLoops = (DisableLoopUnrolling.getNumOccurrences() > 0) ? DisableLoopUnrolling : OptLevel == 0; - // This is final, unless there is a #pragma vectorize enable - if (DisableLoopVectorization) - Builder.LoopVectorize = false; - // If option wasn't forced via cmd line (-vectorize-loops, -loop-vectorize) - else if (!Builder.LoopVectorize) + // Check if vectorization is explicitly disabled via -vectorize-loops=false. + // The flag enables vectorization in the LoopVectorize pass, it is on by + // default, and if it was disabled, leave it disabled here. + // Another flag that exists: -loop-vectorize, controls adding the pass to the + // pass manager. If set, the pass is added, and there is no additional check + // here for it. + if (Builder.LoopVectorize) Builder.LoopVectorize = OptLevel > 1 && SizeLevel < 2; // When #pragma vectorize is on for SLP, do the same as above |