[vmkit-commits] [vmkit] r83281 - /vmkit/trunk/lib/N3/VMCore/CLIJit.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Sun Oct 4 09:50:01 PDT 2009


Author: geoffray
Date: Sun Oct  4 11:50:01 2009
New Revision: 83281

URL: http://llvm.org/viewvc/llvm-project?rev=83281&view=rev
Log:
Change the list of pass to mirror what LLVM is doing.


Modified:
    vmkit/trunk/lib/N3/VMCore/CLIJit.cpp

Modified: vmkit/trunk/lib/N3/VMCore/CLIJit.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/CLIJit.cpp?rev=83281&r1=83280&r2=83281&view=diff

==============================================================================
--- vmkit/trunk/lib/N3/VMCore/CLIJit.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/CLIJit.cpp Sun Oct  4 11:50:01 2009
@@ -1744,46 +1744,38 @@
   // LLVM does not allow calling functions from other modules in verifier
   //PM->add(llvm::createVerifierPass());                  // Verify that input is correct
   
-  addPass(PM, llvm::createCFGSimplificationPass());    // Clean up disgusting code
-  addPass(PM, llvm::createScalarReplAggregatesPass());// Kill useless allocas
-  addPass(PM, llvm::createInstructionCombiningPass()); // Clean up after IPCP & DAE
-  addPass(PM, llvm::createCFGSimplificationPass());    // Clean up after IPCP & DAE
-  addPass(PM, llvm::createPromoteMemoryToRegisterPass());// Kill useless allocas
-  addPass(PM, llvm::createInstructionCombiningPass()); // Clean up after IPCP & DAE
-  addPass(PM, llvm::createCFGSimplificationPass());    // Clean up after IPCP & DAE
+  addPass(PM, createCFGSimplificationPass()); // Clean up disgusting code
+  addPass(PM, createPromoteMemoryToRegisterPass());// Kill useless allocas
   
-  addPass(PM, llvm::createTailDuplicationPass());      // Simplify cfg by copying code
-  addPass(PM, llvm::createInstructionCombiningPass()); // Cleanup for scalarrepl.
-  addPass(PM, llvm::createCFGSimplificationPass());    // Merge & remove BBs
-  addPass(PM, llvm::createScalarReplAggregatesPass()); // Break up aggregate allocas
-  addPass(PM, llvm::createInstructionCombiningPass()); // Combine silly seq's
-  addPass(PM, llvm::createCondPropagationPass());      // Propagate conditionals
-  
-   
-  addPass(PM, llvm::createTailCallEliminationPass());  // Eliminate tail calls
-  addPass(PM, llvm::createCFGSimplificationPass());    // Merge & remove BBs
-  addPass(PM, llvm::createReassociatePass());          // Reassociate expressions
-  addPass(PM, llvm::createLoopRotatePass());
-  addPass(PM, llvm::createLICMPass());                 // Hoist loop invariants
-  addPass(PM, llvm::createLoopUnswitchPass());         // Unswitch loops.
-  addPass(PM, llvm::createInstructionCombiningPass()); // Clean up after LICM/reassoc
-  addPass(PM, llvm::createIndVarSimplifyPass());       // Canonicalize indvars
-  addPass(PM, llvm::createLoopUnrollPass());           // Unroll small loops
-  addPass(PM, llvm::createInstructionCombiningPass()); // Clean up after the unroller
-  //addPass(PM, mvm::createArrayChecksPass()); 
-  addPass(PM, llvm::createGVNPass());                  // GVN for load instructions
-  //addPass(PM, llvm::createGCSEPass());                 // Remove common subexprs
-  addPass(PM, llvm::createSCCPPass());                 // Constant prop with SCCP
-  addPass(PM, llvm::createPredicateSimplifierPass());                
+  addPass(PM, createInstructionCombiningPass()); // Cleanup for scalarrepl.
+  addPass(PM, createJumpThreadingPass());        // Thread jumps.
+  addPass(PM, createCFGSimplificationPass());    // Merge & remove BBs
+  addPass(PM, createScalarReplAggregatesPass()); // Break up aggregate allocas
+  addPass(PM, createInstructionCombiningPass()); // Combine silly seq's
+  addPass(PM, createCondPropagationPass());      // Propagate conditionals
   
+  addPass(PM, createCFGSimplificationPass());    // Merge & remove BBs
+  addPass(PM, createPredicateSimplifierPass());
+  addPass(PM, createReassociatePass());          // Reassociate expressions
+  addPass(PM, createLICMPass());                 // Hoist loop invariants
   
+  addPass(PM, createLoopUnswitchPass());         // Unswitch loops.
+  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
+  addPass(PM, createSCCPPass());                 // Constant prop with SCCP
+  addPass(PM, createCFGSimplificationPass());    // Merge & remove BBs
+ 
   // Run instcombine after redundancy elimination to exploit opportunities
   // opened up by them.
-  addPass(PM, llvm::createInstructionCombiningPass());
-  addPass(PM, llvm::createCondPropagationPass());      // Propagate conditionals
+  addPass(PM, createInstructionCombiningPass());
+  addPass(PM, createCondPropagationPass());      // Propagate conditionals
+
+  addPass(PM, createDeadStoreEliminationPass()); // Delete dead stores
+  addPass(PM, createAggressiveDCEPass());        // Delete dead instructions
+  addPass(PM, createCFGSimplificationPass());    // Merge & remove BBs
 
-  addPass(PM, llvm::createDeadStoreEliminationPass()); // Delete dead stores
-  addPass(PM, llvm::createAggressiveDCEPass());        // SSA based 'Aggressive DCE'
-  addPass(PM, llvm::createCFGSimplificationPass());    // Merge & remove BBs
   addPass(PM, mvm::createLowerArrayLengthPass());
 }





More information about the vmkit-commits mailing list