diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2007-06-06 11:26:20 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2007-06-06 11:26:20 +0000 |
commit | 51e844b60168d019a293daddf19bd291c706dc3f (patch) | |
tree | 35783992cbe35b777ab8ff30e8a3e2653df13e6b /lib/Analysis | |
parent | 2c614c5c699fed503b93e85ea0cb48811843c3c7 (diff) | |
download | external_llvm-51e844b60168d019a293daddf19bd291c706dc3f.zip external_llvm-51e844b60168d019a293daddf19bd291c706dc3f.tar.gz external_llvm-51e844b60168d019a293daddf19bd291c706dc3f.tar.bz2 |
Optimize this test. Firstly, only Instructions may use other Instructions.
Secondly, checking whether removal succeeded tells you whether it was in
the map to begin with.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37469 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis')
-rw-r--r-- | lib/Analysis/ScalarEvolution.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index b1c3a17..bf67fd3 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -1210,8 +1210,8 @@ void ScalarEvolutionsImpl::deleteInstructionFromRecords(Instruction *I) { for (Instruction::use_iterator UI = II->use_begin(), UE = II->use_end(); UI != UE; ++UI) { - Instruction *Inst = dyn_cast<Instruction>(*UI); - if (Inst && hasSCEV(Inst) && Scalars.erase(Inst)) { + Instruction *Inst = cast<Instruction>(*UI); + if (Scalars.erase(Inst)) { if (PHINode *PN = dyn_cast<PHINode>(II)) ConstantEvolutionLoopExitValue.erase(PN); Worklist.push_back(Inst); |