Add tail duplication pass to the pipeline, move the verifier pass to the front
authorChris Lattner <sabre@nondot.org>
Sun, 22 Jun 2003 20:11:45 +0000 (20:11 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 22 Jun 2003 20:11:45 +0000 (20:11 +0000)
Other minor reorganizations

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6849 91177308-0d34-0410-b5e6-96231b3b80d8

tools/gccas/gccas.cpp

index ae42b7189718811ee8b2ce7cb5699e9063720d1c..19182a9d519c1cff399cc774db95382ea149f4d1 100644 (file)
@@ -60,18 +60,16 @@ static inline void addPass(PassManager &PM, Pass *P) {
 
 
 void AddConfiguredTransformationPasses(PassManager &PM) {
-  if (Verify) PM.add(createVerifierPass());
-
+  PM.add(createVerifierPass());                  // Verify that input is correct
   addPass(PM, createFunctionResolvingPass());    // Resolve (...) functions
   addPass(PM, createGlobalDCEPass());            // Kill unused uinit g-vars
   addPass(PM, createDeadTypeEliminationPass());  // Eliminate dead types
   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, createInstructionCombiningPass()); // Cleanup code for raise
   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, createScalarReplAggregatesPass()); // Break up aggregate allocas
   addPass(PM, createPromoteMemoryToRegister());  // Promote alloca's to regs
@@ -88,7 +86,7 @@ void AddConfiguredTransformationPasses(PassManager &PM) {
   // Run instcombine after redundancy elimination to exploit opportunities
   // opened up by them.
   addPass(PM, createInstructionCombiningPass());
-  addPass(PM, createAggressiveDCEPass());        // SSA based 'Agressive DCE'
+  addPass(PM, createAggressiveDCEPass());        // SSA based 'Aggressive DCE'
   addPass(PM, createCFGSimplificationPass());    // Merge & remove BBs
 }