diff options
author | Gabor Greif <ggreif@gmail.com> | 2010-07-12 10:36:48 +0000 |
---|---|---|
committer | Gabor Greif <ggreif@gmail.com> | 2010-07-12 10:36:48 +0000 |
commit | a8b9df7bd96e0b0bc6dec448d30b7d72180b6595 (patch) | |
tree | 7e20ea4d0895649d903c2805551ec04f30d16b23 /lib/VMCore/Instruction.cpp | |
parent | 3472766f9eb7d66f234c390ce1b3a8b76f0ee9ce (diff) | |
download | llvm-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.cpp | 5 |
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; } |