forked from OSchip/llvm-project
Run an instcombine pass after inlining but before scalarrepl. This allows
instcombine to clean up the code, which makes more code suitable for SRoA. This helps C++ code in particular, e.g. speeding up tramp3d by 31%. llvm-svn: 33235
This commit is contained in:
parent
c8dcede292
commit
faa060878b
|
@ -102,6 +102,7 @@ void AddConfiguredTransformationPasses(PassManager &PM) {
|
||||||
|
|
||||||
addPass(PM, createRaisePointerReferencesPass());// Recover type information
|
addPass(PM, createRaisePointerReferencesPass());// Recover type information
|
||||||
addPass(PM, createTailDuplicationPass()); // Simplify cfg by copying code
|
addPass(PM, createTailDuplicationPass()); // Simplify cfg by copying code
|
||||||
|
addPass(PM, createInstructionCombiningPass()); // Cleanup for scalarrepl.
|
||||||
addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs
|
addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs
|
||||||
addPass(PM, createScalarReplAggregatesPass()); // Break up aggregate allocas
|
addPass(PM, createScalarReplAggregatesPass()); // Break up aggregate allocas
|
||||||
addPass(PM, createInstructionCombiningPass()); // Combine silly seq's
|
addPass(PM, createInstructionCombiningPass()); // Combine silly seq's
|
||||||
|
|
Loading…
Reference in New Issue