mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 00:32:55 +00:00
Use GVN in LTO instead of GCSE+LoadVN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50036 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4bda6e47e9
commit
eb60fb9c1f
@ -330,8 +330,7 @@ LTO::optimize(Module *M, std::ostream &Out,
|
||||
Passes.add(createGlobalsModRefPass()); // IP alias analysis
|
||||
|
||||
Passes.add(createLICMPass()); // Hoist loop invariants
|
||||
Passes.add(createLoadValueNumberingPass()); // GVN for load instrs
|
||||
Passes.add(createGCSEPass()); // Remove common subexprs
|
||||
Passes.add(createGVNPass()); // Remove common subexprs
|
||||
Passes.add(createDeadStoreEliminationPass()); // Nuke dead stores
|
||||
|
||||
// Cleanup and simplify the code after the scalar optimizations.
|
||||
|
@ -377,8 +377,7 @@ bool LTOCodeGenerator::generateAssemblyCode(std::ostream& out, std::string& errM
|
||||
passes.add(createGlobalsModRefPass()); // IP alias analysis
|
||||
|
||||
passes.add(createLICMPass()); // Hoist loop invariants
|
||||
passes.add(createLoadValueNumberingPass()); // GVN for load instrs
|
||||
passes.add(createGCSEPass()); // Remove common subexprs
|
||||
passes.add(createGVNPass()); // Remove common subexprs
|
||||
passes.add(createDeadStoreEliminationPass()); // Nuke dead stores
|
||||
|
||||
// Cleanup and simplify the code after the scalar optimizations.
|
||||
|
Loading…
x
Reference in New Issue
Block a user