[llvm-commits] [llvm] r80487 - /llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp

Chris Lattner sabre at nondot.org
Sat Aug 29 23:22:51 PDT 2009


Author: lattner
Date: Sun Aug 30 01:22:51 2009
New Revision: 80487

URL: http://llvm.org/viewvc/llvm-project?rev=80487&view=rev
Log:
move AddUsersToWorkList to the worklist processing class, make the
argument stronger typed.

Modified:
    llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp

Modified: llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp?rev=80487&r1=80486&r2=80487&view=diff

==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp Sun Aug 30 01:22:51 2009
@@ -112,6 +112,16 @@
       return I;
     }
 
+    /// AddUsersToWorkList - When an instruction is simplified, add all users of
+    /// the instruction to the work lists because they might get more simplified
+    /// now.
+    ///
+    void AddUsersToWorkList(Instruction &I) {
+      for (Value::use_iterator UI = I.use_begin(), UE = I.use_end();
+           UI != UE; ++UI)
+        Add(cast<Instruction>(*UI));
+    }
+    
     
     /// Zap - check that the worklist is empty and nuke the backing store for
     /// the map if it is large.
@@ -141,16 +151,6 @@
     LLVMContext *Context;
     LLVMContext *getContext() const { return Context; }
 
-    /// AddUsersToWorkList - When an instruction is simplified, add all users of
-    /// the instruction to the work lists because they might get more simplified
-    /// now.
-    ///
-    void AddUsersToWorkList(Value &I) {
-      for (Value::use_iterator UI = I.use_begin(), UE = I.use_end();
-           UI != UE; ++UI)
-        Worklist.Add(cast<Instruction>(*UI));
-    }
-
     /// AddOperandsToWorkList - When an instruction is simplified, add operands
     /// to the work lists because they might get more simplified now.
     ///
@@ -312,7 +312,7 @@
     // modified.
     //
     Instruction *ReplaceInstUsesWith(Instruction &I, Value *V) {
-      AddUsersToWorkList(I);         // Add all modified instrs to worklist
+      Worklist.AddUsersToWorkList(I);   // Add all modified instrs to worklist.
       
       // If we are replacing the instruction with itself, this must be in a
       // segment of unreachable code, so just clobber the instruction.
@@ -3239,8 +3239,8 @@
   Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1);
 
   // Handle the integer rem common cases
-  if (Instruction *common = commonIRemTransforms(I))
-    return common;
+  if (Instruction *Common = commonIRemTransforms(I))
+    return Common;
   
   if (Value *RHSNeg = dyn_castNegVal(Op1))
     if (!isa<Constant>(RHSNeg) ||
@@ -10349,7 +10349,7 @@
         // Otherwise, it's a call, just insert cast right after the call instr
         InsertNewInstBefore(NC, *Caller);
       }
-      AddUsersToWorkList(*Caller);
+      Worklist.AddUsersToWorkList(*Caller);
     } else {
       NV = UndefValue::get(Caller->getType());
     }
@@ -13006,7 +13006,7 @@
 
         // Push the new instruction and any users onto the worklist.
         Worklist.Add(Result);
-        AddUsersToWorkList(*Result);
+        Worklist.AddUsersToWorkList(*Result);
 
         // Move the name to the new instruction first.
         Result->takeName(I);
@@ -13034,7 +13034,7 @@
           EraseInstFromFunction(*I);
         } else {
           Worklist.Add(I);
-          AddUsersToWorkList(*I);
+          Worklist.AddUsersToWorkList(*I);
         }
       }
       Changed = true;





More information about the llvm-commits mailing list