From: Gabor Greif Date: Fri, 9 Jul 2010 09:50:51 +0000 (+0000) Subject: reuse result of operator*, it is expensive to recompute X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f6c166078f8f10006dcbdde081603eccccfcefbe;p=oota-llvm.git reuse result of operator*, it is expensive to recompute git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107959 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Analysis/LoopInfo.h b/include/llvm/Analysis/LoopInfo.h index 7b38052257a..9be01dd96f8 100644 --- a/include/llvm/Analysis/LoopInfo.h +++ b/include/llvm/Analysis/LoopInfo.h @@ -757,9 +757,11 @@ public: typedef GraphTraits > InvBlockTraits; for (typename InvBlockTraits::ChildIteratorType I = InvBlockTraits::child_begin(BB), E = InvBlockTraits::child_end(BB); - I != E; ++I) - if (DT.dominates(BB, *I)) // If BB dominates its predecessor... - TodoStack.push_back(*I); + I != E; ++I) { + typename InvBlockTraits::NodeType *N = *I; + if (DT.dominates(BB, N)) // If BB dominates its predecessor... + TodoStack.push_back(N); + } if (TodoStack.empty()) return 0; // No backedges to this block...