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 | 1dc032a56a87535aa83e03d3fcccd3f1499f7898 (patch) | |
| tree | ea1ebe58ee97d6c9bcbfd9de23dfb522df3cbe41 /lib/Transforms | |
| parent | 42a16633e6d4dd0b0bb5da4aafcad429de2466c6 (diff) | |
| download | external_llvm-1dc032a56a87535aa83e03d3fcccd3f1499f7898.zip external_llvm-1dc032a56a87535aa83e03d3fcccd3f1499f7898.tar.gz external_llvm-1dc032a56a87535aa83e03d3fcccd3f1499f7898.tar.bz2 | |
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/Transforms')
| -rw-r--r-- | lib/Transforms/InstCombine/InstructionCombining.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Transforms/InstCombine/InstructionCombining.cpp b/lib/Transforms/InstCombine/InstructionCombining.cpp index eb22b84..af2958f 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; |
