diff options
author | Dan Gohman <gohman@apple.com> | 2007-06-19 14:28:31 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2007-06-19 14:28:31 +0000 |
commit | 5cec4db6ae13a41d04d86f37e347fc5b5997c948 (patch) | |
tree | 55f0f79b71f67e1c6fb31777dd5c65e6b535ac84 | |
parent | b5bec2b6f6f4a4da96170d1c258ad424112ad2c5 (diff) | |
download | llvm-5cec4db6ae13a41d04d86f37e347fc5b5997c948.tar.gz llvm-5cec4db6ae13a41d04d86f37e347fc5b5997c948.tar.bz2 llvm-5cec4db6ae13a41d04d86f37e347fc5b5997c948.tar.xz |
Rename ScalarEvolution::deleteInstructionFromRecords to
deleteValueFromRecords and loosen the types to all it to accept
Value* instead of just Instruction*, since this is what
ScalarEvolution uses internally anyway. This allows more flexibility
for future uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37657 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Analysis/ScalarEvolution.h | 6 | ||||
-rw-r--r-- | lib/Analysis/ScalarEvolution.cpp | 28 | ||||
-rw-r--r-- | lib/Transforms/Scalar/IndVarSimplify.cpp | 6 | ||||
-rw-r--r-- | lib/Transforms/Scalar/LoopStrengthReduce.cpp | 4 |
4 files changed, 22 insertions, 22 deletions
diff --git a/include/llvm/Analysis/ScalarEvolution.h b/include/llvm/Analysis/ScalarEvolution.h index 52723637bd..b6a58fe005 100644 --- a/include/llvm/Analysis/ScalarEvolution.h +++ b/include/llvm/Analysis/ScalarEvolution.h @@ -232,10 +232,10 @@ namespace llvm { /// an analyzable loop-invariant iteration count. bool hasLoopInvariantIterationCount(const Loop *L) const; - /// deleteInstructionFromRecords - This method should be called by the - /// client before it removes an instruction from the program, to make sure + /// deleteValueFromRecords - This method should be called by the + /// client before it removes a Value from the program, to make sure /// that no dangling references are left around. - void deleteInstructionFromRecords(Instruction *I) const; + void deleteValueFromRecords(Value *V) const; virtual bool runOnFunction(Function &F); virtual void releaseMemory(); diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index ed8ea32767..d8f8c003b3 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -1167,10 +1167,10 @@ namespace { /// loop without a loop-invariant iteration count. SCEVHandle getIterationCount(const Loop *L); - /// deleteInstructionFromRecords - This method should be called by the - /// client before it removes an instruction from the program, to make sure + /// deleteValueFromRecords - This method should be called by the + /// client before it removes a value from the program, to make sure /// that no dangling references are left around. - void deleteInstructionFromRecords(Instruction *I); + void deleteValueFromRecords(Value *V); private: /// createSCEV - We know that there is no SCEV for the specified value. @@ -1236,27 +1236,27 @@ namespace { // Basic SCEV Analysis and PHI Idiom Recognition Code // -/// deleteInstructionFromRecords - This method should be called by the +/// deleteValueFromRecords - This method should be called by the /// client before it removes an instruction from the program, to make sure /// that no dangling references are left around. -void ScalarEvolutionsImpl::deleteInstructionFromRecords(Instruction *I) { - SmallVector<Instruction *, 16> Worklist; +void ScalarEvolutionsImpl::deleteValueFromRecords(Value *V) { + SmallVector<Value *, 16> Worklist; - if (Scalars.erase(I)) { - if (PHINode *PN = dyn_cast<PHINode>(I)) + if (Scalars.erase(V)) { + if (PHINode *PN = dyn_cast<PHINode>(V)) ConstantEvolutionLoopExitValue.erase(PN); - Worklist.push_back(I); + Worklist.push_back(V); } while (!Worklist.empty()) { - Instruction *II = Worklist.back(); + Value *VV = Worklist.back(); Worklist.pop_back(); - for (Instruction::use_iterator UI = II->use_begin(), UE = II->use_end(); + for (Instruction::use_iterator UI = VV->use_begin(), UE = VV->use_end(); UI != UE; ++UI) { Instruction *Inst = cast<Instruction>(*UI); if (Scalars.erase(Inst)) { - if (PHINode *PN = dyn_cast<PHINode>(II)) + if (PHINode *PN = dyn_cast<PHINode>(VV)) ConstantEvolutionLoopExitValue.erase(PN); Worklist.push_back(Inst); } @@ -2593,8 +2593,8 @@ SCEVHandle ScalarEvolution::getSCEVAtScope(Value *V, const Loop *L) const { return ((ScalarEvolutionsImpl*)Impl)->getSCEVAtScope(getSCEV(V), L); } -void ScalarEvolution::deleteInstructionFromRecords(Instruction *I) const { - return ((ScalarEvolutionsImpl*)Impl)->deleteInstructionFromRecords(I); +void ScalarEvolution::deleteValueFromRecords(Value *V) const { + return ((ScalarEvolutionsImpl*)Impl)->deleteValueFromRecords(V); } static void PrintLoopInfo(std::ostream &OS, const ScalarEvolution *SE, diff --git a/lib/Transforms/Scalar/IndVarSimplify.cpp b/lib/Transforms/Scalar/IndVarSimplify.cpp index 2558fe15d1..f0019052d8 100644 --- a/lib/Transforms/Scalar/IndVarSimplify.cpp +++ b/lib/Transforms/Scalar/IndVarSimplify.cpp @@ -115,7 +115,7 @@ DeleteTriviallyDeadInstructions(std::set<Instruction*> &Insts) { for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i) if (Instruction *U = dyn_cast<Instruction>(I->getOperand(i))) Insts.insert(U); - SE->deleteInstructionFromRecords(I); + SE->deleteValueFromRecords(I); DOUT << "INDVARS: Deleting: " << *I; I->eraseFromParent(); Changed = true; @@ -181,7 +181,7 @@ void IndVarSimplify::EliminatePointerRecurrence(PHINode *PN, GetElementPtrInst *NGEPI = new GetElementPtrInst( NCE, Constant::getNullValue(Type::Int32Ty), NewAdd, GEPI->getName(), GEPI); - SE->deleteInstructionFromRecords(GEPI); + SE->deleteValueFromRecords(GEPI); GEPI->replaceAllUsesWith(NGEPI); GEPI->eraseFromParent(); GEPI = NGEPI; @@ -398,7 +398,7 @@ void IndVarSimplify::RewriteLoopExitValues(Loop *L) { // the PHI entirely. This is safe, because the NewVal won't be variant // in the loop, so we don't need an LCSSA phi node anymore. if (NumPreds == 1) { - SE->deleteInstructionFromRecords(PN); + SE->deleteValueFromRecords(PN); PN->replaceAllUsesWith(ExitVal); PN->eraseFromParent(); break; diff --git a/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/lib/Transforms/Scalar/LoopStrengthReduce.cpp index 0c4807d31a..9689c120d6 100644 --- a/lib/Transforms/Scalar/LoopStrengthReduce.cpp +++ b/lib/Transforms/Scalar/LoopStrengthReduce.cpp @@ -226,7 +226,7 @@ DeleteTriviallyDeadInstructions(std::set<Instruction*> &Insts) { for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i) if (Instruction *U = dyn_cast<Instruction>(I->getOperand(i))) Insts.insert(U); - SE->deleteInstructionFromRecords(I); + SE->deleteValueFromRecords(I); I->eraseFromParent(); Changed = true; } @@ -1488,7 +1488,7 @@ bool LoopStrengthReduce::runOnLoop(Loop *L, LPPassManager &LPM) { DeadInsts.insert(BO); // Break the cycle, then delete the PHI. PN->replaceAllUsesWith(UndefValue::get(PN->getType())); - SE->deleteInstructionFromRecords(PN); + SE->deleteValueFromRecords(PN); PN->eraseFromParent(); } } |