Make SCEVExpander::addInsertedValue able to accept Values, not just
authorDan Gohman <gohman@apple.com>
Fri, 1 May 2009 16:58:31 +0000 (16:58 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 1 May 2009 16:58:31 +0000 (16:58 +0000)
Instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70552 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/ScalarEvolutionExpander.h

index b6b45788ea7cff43e1f028f982252aa7200be87a..6290c4012344193582db262207c218f4b3297b7f 100644 (file)
@@ -30,7 +30,7 @@ namespace llvm {
     ScalarEvolution &SE;
     LoopInfo &LI;
     std::map<SCEVHandle, Value*> InsertedExpressions;
-    std::set<Instruction*> InsertedInstructions;
+    std::set<Value*> InsertedValues;
 
     BasicBlock::iterator InsertPt;
 
@@ -50,7 +50,7 @@ namespace llvm {
     /// inserted by the code rewriter.  If so, the client should not modify the
     /// instruction.
     bool isInsertedInstruction(Instruction *I) const {
-      return InsertedInstructions.count(I);
+      return InsertedValues.count(I);
     }
 
     /// getOrInsertCanonicalInductionVariable - This method returns the
@@ -66,9 +66,9 @@ namespace llvm {
 
     /// addInsertedValue - Remember the specified instruction as being the
     /// canonical form for the specified SCEV.
-    void addInsertedValue(Instruction *I, const SCEV *S) {
-      InsertedExpressions[S] = (Value*)I;
-      InsertedInstructions.insert(I);
+    void addInsertedValue(Value *V, const SCEV *S) {
+      InsertedExpressions[S] = V;
+      InsertedValues.insert(V);
     }
 
     void setInsertionPoint(BasicBlock::iterator NewIP) { InsertPt = NewIP; }