[llvm-commits] [123716] Reid's StripDeadPrototypes patch

jlaskey at apple.com jlaskey at apple.com
Mon Feb 12 03:32:31 PST 2007


Revision: 123716
Author:   jlaskey
Date:     2007-02-12 03:32:30 -0800 (Mon, 12 Feb 2007)

Log Message:
-----------
Reid's StripDeadPrototypes patch

Modified Paths:
--------------
    apple-local/branches/llvm/gcc/llvm-backend.cpp

Modified: apple-local/branches/llvm/gcc/llvm-backend.cpp
===================================================================
--- apple-local/branches/llvm/gcc/llvm-backend.cpp	2007-02-11 11:46:07 UTC (rev 123715)
+++ apple-local/branches/llvm/gcc/llvm-backend.cpp	2007-02-12 11:32:30 UTC (rev 123716)
@@ -260,62 +260,63 @@
     HasPerModulePasses = true;
     PassManager *PM = PerModulePasses;
     if (flag_unit_at_a_time)
-      PM->add(createRaiseAllocationsPass());     // call %malloc -> malloc inst
-    PM->add(createCFGSimplificationPass());    // Clean up disgusting code
-    PM->add(createPromoteMemoryToRegisterPass());// Kill useless allocas
+      PM->add(createRaiseAllocationsPass());      // call %malloc -> malloc inst
+    PM->add(createCFGSimplificationPass());       // Clean up disgusting code
+    PM->add(createPromoteMemoryToRegisterPass()); // Kill useless allocas
     if (flag_unit_at_a_time) {
-      PM->add(createGlobalOptimizerPass());      // Optimize out global vars
-      PM->add(createGlobalDCEPass());            // Remove unused fns and globs
-      PM->add(createIPConstantPropagationPass());// IP Constant Propagation
-      PM->add(createDeadArgEliminationPass());   // Dead argument elimination
+      PM->add(createGlobalOptimizerPass());       // Optimize out global vars
+      PM->add(createGlobalDCEPass());             // Remove unused fns and globs
+      PM->add(createIPConstantPropagationPass()); // IP Constant Propagation
+      PM->add(createDeadArgEliminationPass());    // Dead argument elimination
     }
-    PM->add(createInstructionCombiningPass()); // Clean up after IPCP & DAE
+    PM->add(createInstructionCombiningPass());    // Clean up after IPCP & DAE
     // DISABLE PREDSIMPLIFY UNTIL PR967 is fixed.
-    //PM->add(createPredicateSimplifierPass());  // Canonicalize registers
-    PM->add(createCFGSimplificationPass());    // Clean up after IPCP & DAE
+    //PM->add(createPredicateSimplifierPass());   // Canonicalize registers
+    PM->add(createCFGSimplificationPass());       // Clean up after IPCP & DAE
     if (flag_unit_at_a_time)
-      PM->add(createPruneEHPass());              // Remove dead EH info
+      PM->add(createPruneEHPass());               // Remove dead EH info
 
     if (optimize > 1) {
-      if (flag_inline_trees > 1)   // respect -fno-inline-functions
-        PM->add(createFunctionInliningPass());   // Inline small functions
+      if (flag_inline_trees > 1)                // respect -fno-inline-functions
+        PM->add(createFunctionInliningPass());  // Inline small functions
       if (flag_unit_at_a_time)
-        PM->add(createSimplifyLibCallsPass());   // Library Call Optimizations
+        PM->add(createSimplifyLibCallsPass());  // Library Call Optimizations
 
       if (optimize > 2)
-    	PM->add(createArgumentPromotionPass());  // Scalarize uninlined fn args
+    	PM->add(createArgumentPromotionPass()); // Scalarize uninlined fn args
     }
     
-    PM->add(createTailDuplicationPass());      // Simplify cfg by copying code
-    PM->add(createInstructionCombiningPass()); // Cleanup for scalarrepl.
-    PM->add(createCFGSimplificationPass());    // Merge & remove BBs
-    PM->add(createScalarReplAggregatesPass()); // Break up aggregate allocas
-    PM->add(createInstructionCombiningPass()); // Combine silly seq's
-    PM->add(createCondPropagationPass());      // Propagate conditionals
-    PM->add(createTailCallEliminationPass());  // Eliminate tail calls
-    PM->add(createCFGSimplificationPass());    // Merge & remove BBs
-    PM->add(createReassociatePass());          // Reassociate expressions
-    PM->add(createLICMPass());                 // Hoist loop invariants
-    PM->add(createLoopUnswitchPass());         // Unswitch loops.
-    PM->add(createInstructionCombiningPass()); // Clean up after LICM/reassoc
-    PM->add(createIndVarSimplifyPass());       // Canonicalize indvars
+    PM->add(createTailDuplicationPass());       // Simplify cfg by copying code
+    PM->add(createInstructionCombiningPass());  // Cleanup for scalarrepl.
+    PM->add(createCFGSimplificationPass());     // Merge & remove BBs
+    PM->add(createScalarReplAggregatesPass());  // Break up aggregate allocas
+    PM->add(createInstructionCombiningPass());  // Combine silly seq's
+    PM->add(createCondPropagationPass());       // Propagate conditionals
+    PM->add(createTailCallEliminationPass());   // Eliminate tail calls
+    PM->add(createCFGSimplificationPass());     // Merge & remove BBs
+    PM->add(createReassociatePass());           // Reassociate expressions
+    PM->add(createLICMPass());                  // Hoist loop invariants
+    PM->add(createLoopUnswitchPass());          // Unswitch loops.
+    PM->add(createInstructionCombiningPass());  // Clean up after LICM/reassoc
+    PM->add(createIndVarSimplifyPass());        // Canonicalize indvars
     if (flag_unroll_loops)
-      PM->add(createLoopUnrollPass());           // Unroll small loops
-    PM->add(createInstructionCombiningPass()); // Clean up after the unroller
-    PM->add(createLoadValueNumberingPass());   // GVN for load instructions
-    PM->add(createGCSEPass());                 // Remove common subexprs
-    PM->add(createSCCPPass());                 // Constant prop with SCCP
+      PM->add(createLoopUnrollPass());          // Unroll small loops
+    PM->add(createInstructionCombiningPass());  // Clean up after the unroller
+    PM->add(createLoadValueNumberingPass());    // GVN for load instructions
+    PM->add(createGCSEPass());                  // Remove common subexprs
+    PM->add(createSCCPPass());                  // Constant prop with SCCP
     
     // Run instcombine after redundancy elimination to exploit opportunities
     // opened up by them.
     PM->add(createInstructionCombiningPass());
-    PM->add(createCondPropagationPass());      // Propagate conditionals
-    PM->add(createDeadStoreEliminationPass()); // Delete dead stores
-    PM->add(createAggressiveDCEPass());        // SSA based 'Aggressive DCE'
-    PM->add(createCFGSimplificationPass());    // Merge & remove BBs
+    PM->add(createCondPropagationPass());       // Propagate conditionals
+    PM->add(createDeadStoreEliminationPass());  // Delete dead stores
+    PM->add(createAggressiveDCEPass());         // SSA based 'Aggressive DCE'
+    PM->add(createCFGSimplificationPass());     // Merge & remove BBs
     
     if (optimize > 1 && flag_unit_at_a_time)
-      PM->add(createConstantMergePass());        // Merge dup global constants 
+      PM->add(createConstantMergePass());       // Merge dup global constants 
+    PM->add(createStripDeadPrototypesPass());   // Get rid of dead prototypes
   }
   
   if (emit_llvm_bc) {





More information about the llvm-commits mailing list