diff options
Diffstat (limited to 'llvm/lib/Transforms/IPO/PassManagerBuilder.cpp')
| -rw-r--r-- | llvm/lib/Transforms/IPO/PassManagerBuilder.cpp | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp index c3acd9ff30d..842f3958284 100644 --- a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp +++ b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp @@ -168,6 +168,7 @@ PassManagerBuilder::PassManagerBuilder() {      PGOInstrUse = RunPGOInstrUse;      PrepareForThinLTO = EnablePrepareForThinLTO;      PerformThinLTO = false; +    DivergentTarget = false;  }  PassManagerBuilder::~PassManagerBuilder() { @@ -307,7 +308,7 @@ void PassManagerBuilder::addFunctionSimplificationPasses(    // Rotate Loop - disable header duplication at -Oz    MPM.add(createLoopRotatePass(SizeLevel == 2 ? 0 : -1));    MPM.add(createLICMPass());                  // Hoist loop invariants -  MPM.add(createLoopUnswitchPass(SizeLevel || OptLevel < 3)); +  MPM.add(createLoopUnswitchPass(SizeLevel || OptLevel < 3, DivergentTarget));    MPM.add(createCFGSimplificationPass());    addInstructionCombiningPass(MPM);    MPM.add(createIndVarSimplifyPass());        // Canonicalize indvars @@ -588,7 +589,7 @@ void PassManagerBuilder::populateModulePassManager(      MPM.add(createCorrelatedValuePropagationPass());      addInstructionCombiningPass(MPM);      MPM.add(createLICMPass()); -    MPM.add(createLoopUnswitchPass(SizeLevel || OptLevel < 3)); +    MPM.add(createLoopUnswitchPass(SizeLevel || OptLevel < 3, DivergentTarget));      MPM.add(createCFGSimplificationPass());      addInstructionCombiningPass(MPM);    } | 

