diff options
author | Chris Lattner <sabre@nondot.org> | 2003-08-31 21:45:55 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-08-31 21:45:55 +0000 |
commit | cf37c23a4716ee755802bf7fcc535902359f224a (patch) | |
tree | a7ecb02472106c2f5c82c50d7bbbeee71f1b5d79 /tools/gccas/gccas.cpp | |
parent | 3186d275f73fb0ce2ee0fea6c688daafc82ffac2 (diff) |
* move the dead-type-eliminate passes to the end, where they are more useful
* add prune-eh and inlining passes
* other minor pass reorganizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8277 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/gccas/gccas.cpp')
-rw-r--r-- | tools/gccas/gccas.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp index 77ff891bdc..7de05c6889 100644 --- a/tools/gccas/gccas.cpp +++ b/tools/gccas/gccas.cpp @@ -62,17 +62,20 @@ static inline void addPass(PassManager &PM, Pass *P) { void AddConfiguredTransformationPasses(PassManager &PM) { 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, createRaiseAllocationsPass()); // call %malloc -> malloc inst + addPass(PM, createGlobalDCEPass()); // Remove unused globals + addPass(PM, createPruneEHPass()); // Remove dead EH info + addPass(PM, createFunctionInliningPass()); // Inline small functions + 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 + addPass(PM, createInstructionCombiningPass()); // Combine silly seq's + + addPass(PM, createIndVarSimplifyPass()); // Simplify indvars addPass(PM, createReassociatePass()); // Reassociate expressions addPass(PM, createInstructionCombiningPass()); // Combine silly seq's @@ -87,6 +90,8 @@ void AddConfiguredTransformationPasses(PassManager &PM) { addPass(PM, createInstructionCombiningPass()); addPass(PM, createAggressiveDCEPass()); // SSA based 'Aggressive DCE' addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs + addPass(PM, createDeadTypeEliminationPass()); // Eliminate dead types + addPass(PM, createConstantMergePass()); // Merge dup global constants } |