summaryrefslogtreecommitdiff
path: root/lib/VMCore/Instruction.cpp
diff options
context:
space:
mode:
authorGabor Greif <ggreif@gmail.com>2010-07-12 10:36:48 +0000
committerGabor Greif <ggreif@gmail.com>2010-07-12 10:36:48 +0000
commita8b9df7bd96e0b0bc6dec448d30b7d72180b6595 (patch)
tree7e20ea4d0895649d903c2805551ec04f30d16b23 /lib/VMCore/Instruction.cpp
parent3472766f9eb7d66f234c390ce1b3a8b76f0ee9ce (diff)
downloadllvm-a8b9df7bd96e0b0bc6dec448d30b7d72180b6595.tar.gz
llvm-a8b9df7bd96e0b0bc6dec448d30b7d72180b6595.tar.bz2
llvm-a8b9df7bd96e0b0bc6dec448d30b7d72180b6595.tar.xz
cache dereferenced iterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108131 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Instruction.cpp')
-rw-r--r--lib/VMCore/Instruction.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/VMCore/Instruction.cpp b/lib/VMCore/Instruction.cpp
index d3f62d0d08..9792adaaa1 100644
--- a/lib/VMCore/Instruction.cpp
+++ b/lib/VMCore/Instruction.cpp
@@ -286,9 +286,10 @@ bool Instruction::isUsedOutsideOfBlock(const BasicBlock *BB) const {
for (const_use_iterator UI = use_begin(), E = use_end(); UI != E; ++UI) {
// PHI nodes uses values in the corresponding predecessor block. For other
// instructions, just check to see whether the parent of the use matches up.
- const PHINode *PN = dyn_cast<PHINode>(*UI);
+ const User *U = *UI;
+ const PHINode *PN = dyn_cast<PHINode>(U);
if (PN == 0) {
- if (cast<Instruction>(*UI)->getParent() != BB)
+ if (cast<Instruction>(U)->getParent() != BB)
return true;
continue;
}