From: Gabor Greif Date: Fri, 9 Jul 2010 15:01:36 +0000 (+0000) Subject: cache result of operator* X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=fc36c0f21ff8fbfe41984cd6109c3e6b0aa8678f;p=oota-llvm.git cache result of operator* git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107972 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/InstCombine/InstructionCombining.cpp b/lib/Transforms/InstCombine/InstructionCombining.cpp index eb22b84005a..af2958fe3d9 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(*UI)) + if (const ICmpInst *ICI = dyn_cast(U)) if (ICI->isEquality() && isa(ICI->getOperand(1))) continue; return false;