mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-18 12:29:21 +00:00
Reorder passes a bit. In particular, it makes sense to run globaldce IMMEDIATELY after funcresolve. Also, run the mem2reg pass _early_ so that IPCP and DAE actually do stuff.
Run instcombine and simplify cfg after this to cleanup the intraprocedural messes we create. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10134 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
afd0b4b24a
commit
14b170f5ff
@ -58,11 +58,13 @@ void AddConfiguredTransformationPasses(PassManager &PM) {
|
||||
PM.add(createVerifierPass()); // Verify that input is correct
|
||||
addPass(PM, createLowerSetJmpPass()); // Lower llvm.setjmp/.longjmp
|
||||
addPass(PM, createFunctionResolvingPass()); // Resolve (...) functions
|
||||
addPass(PM, createCFGSimplificationPass()); // Clean up disgusting code
|
||||
addPass(PM, createRaiseAllocationsPass()); // call %malloc -> malloc inst
|
||||
addPass(PM, createGlobalDCEPass()); // Remove unused globals
|
||||
addPass(PM, createRaiseAllocationsPass()); // call %malloc -> malloc inst
|
||||
addPass(PM, createPromoteMemoryToRegister()); // "Construct SSA form"
|
||||
addPass(PM, createIPConstantPropagationPass());// IP Constant Propagation
|
||||
addPass(PM, createDeadArgEliminationPass()); // Dead argument elimination
|
||||
addPass(PM, createInstructionCombiningPass()); // Cleanup after IPCP & DAE
|
||||
addPass(PM, createCFGSimplificationPass()); // Clean up disgusting code
|
||||
|
||||
addPass(PM, createPruneEHPass()); // Remove dead EH info
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user