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
// The IPO passes may leave cruft around. Clean up after them.
addPass(Passes, createInstructionCombiningPass());
+ addPass(Passes, createPredicateSimplifierPass());
addPass(Passes, createScalarReplAggregatesPass()); // Break up allocas