Be more accurate
authorChris Lattner <sabre@nondot.org>
Wed, 17 Mar 2004 01:59:27 +0000 (01:59 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 17 Mar 2004 01:59:27 +0000 (01:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12464 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/GCSE.cpp

index e949525d80db314aeb88a93f62e37f4b20ec2419..c5d5a684e44c303a820cbdff043af079436330a7 100644 (file)
@@ -223,6 +223,11 @@ Instruction *GCSE::EliminateCSE(Instruction *I, Instruction *Other) {
     Instruction *Second = I != First ? I : Other; // Get iterator to second inst
     BI = Second;
 
+    if (isa<LoadInst>(Second))
+      ++NumLoadRemoved;  // Keep track of loads eliminated
+    if (isa<CallInst>(Second))
+      ++NumCallRemoved;  // Keep track of calls eliminated
+
     // Destroy Second, using First instead.
     ReplaceInstWithInst(First, BI);
     Ret = First;
@@ -231,9 +236,19 @@ Instruction *GCSE::EliminateCSE(Instruction *I, Instruction *Other) {
     // dominates the other instruction, we can simply use it
     //
   } else if (DomSetInfo->dominates(BB1, BB2)) {    // I dom Other?
+    if (isa<LoadInst>(Other))
+      ++NumLoadRemoved;  // Keep track of loads eliminated
+    if (isa<CallInst>(Other))
+      ++NumCallRemoved;  // Keep track of calls eliminated
+
     ReplaceInstWithInst(I, Other);
     Ret = I;
   } else if (DomSetInfo->dominates(BB2, BB1)) {    // Other dom I?
+    if (isa<LoadInst>(I))
+      ++NumLoadRemoved;  // Keep track of loads eliminated
+    if (isa<CallInst>(I))
+      ++NumCallRemoved;  // Keep track of calls eliminated
+
     ReplaceInstWithInst(Other, I);
     Ret = Other;
   } else {
@@ -266,10 +281,6 @@ Instruction *GCSE::EliminateCSE(Instruction *I, Instruction *Other) {
     return 0;
   }
 
-  if (isa<LoadInst>(Ret))
-    ++NumLoadRemoved;  // Keep track of loads eliminated
-  if (isa<CallInst>(Ret))
-    ++NumCallRemoved;  // Keep track of calls eliminated
   ++NumInstRemoved;   // Keep track of number of instructions eliminated
 
   // Add all users of Ret to the worklist...