mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-27 13:30:05 +00:00
Run SimplifyLibCalls near the beginning, not at
the end. It is now run at the same moment as in llvm-gcc. Also, run StripDeadPrototypes at the end, just before running DeadTypeElimination. This may be useful when doing LTO. Note that llvm-gcc runs StripDeadPrototypes but not DeadTypeElimination. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49848 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
02819257a6
commit
fa191e4cd4
@ -262,6 +262,7 @@ void AddStandardCompilePasses(PassManager &PM) {
|
||||
|
||||
if (!DisableInline)
|
||||
addPass(PM, createFunctionInliningPass()); // Inline small functions
|
||||
addPass(PM, createSimplifyLibCallsPass()); // Library Call Optimizations
|
||||
addPass(PM, createArgumentPromotionPass()); // Scalarize uninlined fn args
|
||||
|
||||
addPass(PM, createTailDuplicationPass()); // Simplify cfg by copying code
|
||||
@ -294,7 +295,7 @@ void AddStandardCompilePasses(PassManager &PM) {
|
||||
addPass(PM, createDeadStoreEliminationPass()); // Delete dead stores
|
||||
addPass(PM, createAggressiveDCEPass()); // SSA based 'Aggressive DCE'
|
||||
addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs
|
||||
addPass(PM, createSimplifyLibCallsPass()); // Library Call Optimizations
|
||||
addPass(PM, createStripDeadPrototypesPass()); // Get rid of dead prototypes
|
||||
addPass(PM, createDeadTypeEliminationPass()); // Eliminate dead types
|
||||
addPass(PM, createConstantMergePass()); // Merge dup global constants
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user