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 5a22ea1394f6d4d55682c6f175afa56f6915021d..cbdf2f74990a6c9873a434b976857fd6b638ccb9 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 b7bd992c31ce53b77183b035b9eda1e49ad5cc38..d2cb3b8b43c4724a7f1bba823e0280565e09fc49 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 0c86613ae92ff8b5d5d46cbc05ac96e7248111cb..e829cfb6dc35854589248e1842e2f03492a72e02 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.