diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp index c46b29608a2..8ac8ed46909 100644 --- a/tools/gccas/gccas.cpp +++ b/tools/gccas/gccas.cpp @@ -103,6 +103,7 @@ void AddConfiguredTransformationPasses(PassManager &PM) { addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs addPass(PM, createScalarReplAggregatesPass()); // Break up aggregate allocas addPass(PM, createInstructionCombiningPass()); // Combine silly seq's + addPass(PM, createPredicateSimplifierPass()); // Canonicalize registers addPass(PM, createCondPropagationPass()); // Propagate conditionals addPass(PM, createTailCallEliminationPass()); // Eliminate tail calls diff --git a/tools/gccld/GenerateCode.cpp b/tools/gccld/GenerateCode.cpp index 38b3d418451..2e81d38aac6 100644 --- a/tools/gccld/GenerateCode.cpp +++ b/tools/gccld/GenerateCode.cpp @@ -248,6 +248,7 @@ int llvm::GenerateBytecode(Module *M, int StripLevel, bool Internalize, // The IPO passes may leave cruft around. Clean up after them. addPass(Passes, createInstructionCombiningPass()); + addPass(Passes, createPredicateSimplifierPass()); addPass(Passes, createScalarReplAggregatesPass()); // Break up allocas