diff options
author | Gabor Greif <ggreif@gmail.com> | 2010-07-09 15:01:36 +0000 |
---|---|---|
committer | Gabor Greif <ggreif@gmail.com> | 2010-07-09 15:01:36 +0000 |
commit | 0028cc673075cce713603e9bbf159ecf70632a63 (patch) | |
tree | fa520236e557dad6606eae4080d12ad0fe510f3b /llvm/lib/Transforms/InstCombine/InstructionCombining.cpp | |
parent | d323f5e161020e398c76bd6b2301b951c123e278 (diff) | |
download | bcm5719-llvm-0028cc673075cce713603e9bbf159ecf70632a63.tar.gz bcm5719-llvm-0028cc673075cce713603e9bbf159ecf70632a63.zip |
cache result of operator*
llvm-svn: 107972
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstructionCombining.cpp')
-rw-r--r-- | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp index eb22b84005a..af2958fe3d9 100644 --- a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp +++ b/llvm/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; |