[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