Eliminate the dropInstruction method, which is not needed any more.
Fix a subtle iterator invalidation bug I introduced in the last commit.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60258 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/lib/Transforms/Scalar/MemCpyOptimizer.cpp
index 40eaa1d..5d68388 100644
--- a/lib/Transforms/Scalar/MemCpyOptimizer.cpp
+++ b/lib/Transforms/Scalar/MemCpyOptimizer.cpp
@@ -609,7 +609,7 @@
   // Drop any cached information about the call, because we may have changed
   // its dependence information by changing its parameter.
   MemoryDependenceAnalysis& MD = getAnalysis<MemoryDependenceAnalysis>();
-  MD.dropInstruction(C);
+  MD.removeInstruction(C);
 
   // Remove the memcpy
   MD.removeInstruction(cpy);
@@ -691,11 +691,9 @@
   // If C and M don't interfere, then this is a valid transformation.  If they
   // did, this would mean that the two sources overlap, which would be bad.
   if (MD.getDependency(C) == dep) {
-    MD.dropInstruction(M);
+    MD.removeInstruction(M);
     M->eraseFromParent();
-    
     NumMemCpyInstr++;
-    
     return true;
   }
   
@@ -703,7 +701,6 @@
   // inserted and act like nothing happened.
   MD.removeInstruction(C);
   C->eraseFromParent();
-  
   return false;
 }