aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGabor Greif <ggreif@gmail.com>2010-07-09 15:01:36 +0000
committerGabor Greif <ggreif@gmail.com>2010-07-09 15:01:36 +0000
commitfc36c0f21ff8fbfe41984cd6109c3e6b0aa8678f (patch)
treeea1ebe58ee97d6c9bcbfd9de23dfb522df3cbe41 /lib
parent1d3ae029c4f2a643df9ea9d0ed7c874a086d0ef2 (diff)
cache result of operator*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107972 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Transforms/InstCombine/InstructionCombining.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Transforms/InstCombine/InstructionCombining.cpp b/lib/Transforms/InstCombine/InstructionCombining.cpp
index eb22b84005..af2958fe3d 100644
--- a/lib/Transforms/InstCombine/InstructionCombining.cpp
+++ b/lib/Transforms/InstCombine/InstructionCombining.cpp
@@ -715,9 +715,10 @@ Instruction *InstCombiner::visitGetElementPtrInst(GetElementPtrInst &GEP) {
static bool IsOnlyNullComparedAndFreed(const Value &V) {
for (Value::const_use_iterator UI = V.use_begin(), UE = V.use_end();
UI != UE; ++UI) {
- if (isFreeCall(*UI))
+ const User *U = *UI;
+ if (isFreeCall(U))
continue;
- if (const ICmpInst *ICI = dyn_cast<ICmpInst>(*UI))
+ if (const ICmpInst *ICI = dyn_cast<ICmpInst>(U))
if (ICI->isEquality() && isa<ConstantPointerNull>(ICI->getOperand(1)))
continue;
return false;