[llvm-commits] CVS: llvm/tools/gccas/gccas.cpp
Chris Lattner
lattner at cs.uiuc.edu
Sun Feb 1 01:26:02 PST 2004
Changes in directory llvm/tools/gccas:
gccas.cpp updated: 1.91 -> 1.92
---
Log message:
Now that tailduplication does not bork SSA form, run mem2reg earlier in gccas.
This tremendously improves the code generated by the LLVM optimizer, primarily
by making the inliner more aggressive. For example, it improves the stepanov
benchmark from 55.56 mega-additions/sec to 98.04 Ma/s. It also improves the
oopack/iterator benchmark from 338.3MFLOPS/s to 1103.4MFLOPS/s. Less noteworthy,
it improves oopack/matrix from 573 -> 641 MFLOPS/s.
---
Diffs of the changes: (+4 -2)
Index: llvm/tools/gccas/gccas.cpp
diff -u llvm/tools/gccas/gccas.cpp:1.91 llvm/tools/gccas/gccas.cpp:1.92
--- llvm/tools/gccas/gccas.cpp:1.91 Tue Jan 13 21:39:42 2004
+++ llvm/tools/gccas/gccas.cpp Sun Feb 1 01:24:53 2004
@@ -65,18 +65,20 @@
if (DisableOptimizations) return;
- addPass(PM, createCFGSimplificationPass()); // Clean up disgusting code
addPass(PM, createRaiseAllocationsPass()); // call %malloc -> malloc inst
+ addPass(PM, createCFGSimplificationPass()); // Clean up disgusting code
+ addPass(PM, createPromoteMemoryToRegister()); // Kill useless allocas
addPass(PM, createGlobalDCEPass()); // Remove unused globals
addPass(PM, createIPConstantPropagationPass());// IP Constant Propagation
addPass(PM, createDeadArgEliminationPass()); // Dead argument elimination
+ addPass(PM, createInstructionCombiningPass()); // Clean up after IPCP & DAE
+ addPass(PM, createCFGSimplificationPass()); // Clean up after IPCP & DAE
addPass(PM, createPruneEHPass()); // Remove dead EH info
if (!DisableInline)
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
More information about the llvm-commits
mailing list