if (!StopAtLevelRaise) {
Passes.add(createRaisePointerReferencesPass()); // Eliminate casts
Passes.add(createPromoteMemoryToRegister()); // Promote alloca's to regs
if (!StopAtLevelRaise) {
Passes.add(createRaisePointerReferencesPass()); // Eliminate casts
Passes.add(createPromoteMemoryToRegister()); // Promote alloca's to regs
+ Passes.add(createReassociatePass()); // Reassociate expressions
Passes.add(createInstructionCombiningPass()); // Combine silly seq's
Passes.add(createDeadInstEliminationPass()); // Kill InstCombine remnants
Passes.add(createGCSEPass()); // Remove common subexprs
Passes.add(createInstructionCombiningPass()); // Combine silly seq's
Passes.add(createDeadInstEliminationPass()); // Kill InstCombine remnants
Passes.add(createGCSEPass()); // Remove common subexprs