X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2Fopt%2Fopt.cpp;h=19dcb2b782c63f81aac03678a70e2a5918180954;hb=629c1a3f78494d0dd769fe82bd2bd17df0555843;hp=4b7dbf510667b0386a26ab09c16c15af529ae47e;hpb=2510c3b70f5315533ea31f286b50bd978352e85e;p=oota-llvm.git diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 4b7dbf51066..19dcb2b782c 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -262,10 +262,10 @@ void AddStandardCompilePasses(PassManager &PM) { if (!DisableInline) addPass(PM, createFunctionInliningPass()); // Inline small functions - addPass(PM, createSimplifyLibCallsPass()); // Library Call Optimizations addPass(PM, createArgumentPromotionPass()); // Scalarize uninlined fn args addPass(PM, createTailDuplicationPass()); // Simplify cfg by copying code + addPass(PM, createSimplifyLibCallsPass()); // Library Call Optimizations addPass(PM, createInstructionCombiningPass()); // Cleanup for scalarrepl. addPass(PM, createJumpThreadingPass()); // Thread jumps. addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs @@ -280,8 +280,10 @@ void AddStandardCompilePasses(PassManager &PM) { addPass(PM, createLICMPass()); // Hoist loop invariants addPass(PM, createLoopUnswitchPass()); // Unswitch loops. addPass(PM, createLoopIndexSplitPass()); // Index split loops. - addPass(PM, createInstructionCombiningPass()); // Clean up after LICM/reassoc + // FIXME : Removing instcombine causes nestedloop regression. + addPass(PM, createInstructionCombiningPass()); addPass(PM, createIndVarSimplifyPass()); // Canonicalize indvars + addPass(PM, createLoopDeletionPass()); // Delete dead loops addPass(PM, createLoopUnrollPass()); // Unroll small loops addPass(PM, createInstructionCombiningPass()); // Clean up after the unroller addPass(PM, createGVNPass()); // Remove redundancies @@ -294,7 +296,7 @@ void AddStandardCompilePasses(PassManager &PM) { addPass(PM, createCondPropagationPass()); // Propagate conditionals addPass(PM, createDeadStoreEliminationPass()); // Delete dead stores - addPass(PM, createAggressiveDCEPass()); // SSA based 'Aggressive DCE' + addPass(PM, createAggressiveDCEPass()); // Delete dead instructions addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs addPass(PM, createStripDeadPrototypesPass()); // Get rid of dead prototypes addPass(PM, createDeadTypeEliminationPass()); // Eliminate dead types