OSDN Git Service

Move MemCpyOpt after GVN.
authorOwen Anderson <resistor@mac.com>
Tue, 22 Apr 2008 07:12:26 +0000 (07:12 +0000)
committerOwen Anderson <resistor@mac.com>
Tue, 22 Apr 2008 07:12:26 +0000 (07:12 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50097 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-ld/Optimize.cpp
tools/lto/lto.cpp
tools/lto2/LTOCodeGenerator.cpp

index 5a22ea1..cbdf2f7 100644 (file)
@@ -169,8 +169,8 @@ void Optimize(Module* M) {
     addPass(Passes, createGlobalsModRefPass());      // IP alias analysis
 
     addPass(Passes, createLICMPass());               // Hoist loop invariants
-    addPass(Passes, createMemCpyOptPass());          // Remove dead memcpy's
     addPass(Passes, createGVNPass());                  // Remove redundancies
+    addPass(Passes, createMemCpyOptPass());          // Remove dead memcpy's
     addPass(Passes, createDeadStoreEliminationPass()); // Nuke dead stores
 
     // Cleanup and simplify the code after the scalar optimizations.
index b7bd992..d2cb3b8 100644 (file)
@@ -330,8 +330,8 @@ LTO::optimize(Module *M, std::ostream &Out,
   Passes.add(createGlobalsModRefPass());      // IP alias analysis
   
   Passes.add(createLICMPass());               // Hoist loop invariants
-  Passed.add(createMemCpyOptPass());  // Remove dead memcpy's
   Passes.add(createGVNPass());               // Remove common subexprs
+  Passed.add(createMemCpyOptPass());  // Remove dead memcpy's
   Passes.add(createDeadStoreEliminationPass()); // Nuke dead stores
 
   // Cleanup and simplify the code after the scalar optimizations.
index 0c86613..e829cfb 100644 (file)
@@ -377,8 +377,8 @@ bool LTOCodeGenerator::generateAssemblyCode(std::ostream& out, std::string& errM
     passes.add(createGlobalsModRefPass());      // IP alias analysis
 
     passes.add(createLICMPass());               // Hoist loop invariants
-    passes.add(createMemCpyOptPass());  // Remove dead memcpy's
     passes.add(createGVNPass());               // Remove common subexprs
+    passes.add(createMemCpyOptPass());  // Remove dead memcpy's
     passes.add(createDeadStoreEliminationPass()); // Nuke dead stores
 
     // Cleanup and simplify the code after the scalar optimizations.