Add tail duplication pass to the pipeline, move the verifier pass to the front

Other minor reorganizations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6849 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-06-22 20:11:45 +00:00
parent 1ee7855dfa
commit e643a6cb9a

View File

@ -60,18 +60,16 @@ static inline void addPass(PassManager &PM, Pass *P) {
void AddConfiguredTransformationPasses(PassManager &PM) { void AddConfiguredTransformationPasses(PassManager &PM) {
if (Verify) PM.add(createVerifierPass()); PM.add(createVerifierPass()); // Verify that input is correct
addPass(PM, createFunctionResolvingPass()); // Resolve (...) functions addPass(PM, createFunctionResolvingPass()); // Resolve (...) functions
addPass(PM, createGlobalDCEPass()); // Kill unused uinit g-vars addPass(PM, createGlobalDCEPass()); // Kill unused uinit g-vars
addPass(PM, createDeadTypeEliminationPass()); // Eliminate dead types addPass(PM, createDeadTypeEliminationPass()); // Eliminate dead types
addPass(PM, createConstantMergePass()); // Merge dup global constants addPass(PM, createConstantMergePass()); // Merge dup global constants
addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs
addPass(PM, createVerifierPass()); // Verify that input is correct
addPass(PM, createDeadInstEliminationPass()); // Remove Dead code/vars
addPass(PM, createRaiseAllocationsPass()); // call %malloc -> malloc inst addPass(PM, createRaiseAllocationsPass()); // call %malloc -> malloc inst
addPass(PM, createInstructionCombiningPass()); // Cleanup code for raise addPass(PM, createInstructionCombiningPass()); // Cleanup code for raise
addPass(PM, createRaisePointerReferencesPass());// Recover type information addPass(PM, createRaisePointerReferencesPass());// Recover type information
addPass(PM, createTailDuplicationPass()); // Simplify cfg by copying code
addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs
addPass(PM, createInstructionCombiningPass()); // Combine silly seq's addPass(PM, createInstructionCombiningPass()); // Combine silly seq's
addPass(PM, createScalarReplAggregatesPass()); // Break up aggregate allocas addPass(PM, createScalarReplAggregatesPass()); // Break up aggregate allocas
addPass(PM, createPromoteMemoryToRegister()); // Promote alloca's to regs addPass(PM, createPromoteMemoryToRegister()); // Promote alloca's to regs
@ -88,7 +86,7 @@ void AddConfiguredTransformationPasses(PassManager &PM) {
// Run instcombine after redundancy elimination to exploit opportunities // Run instcombine after redundancy elimination to exploit opportunities
// opened up by them. // opened up by them.
addPass(PM, createInstructionCombiningPass()); addPass(PM, createInstructionCombiningPass());
addPass(PM, createAggressiveDCEPass()); // SSA based 'Agressive DCE' addPass(PM, createAggressiveDCEPass()); // SSA based 'Aggressive DCE'
addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs
} }