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
This commit is contained in:
Gabor Greif 2010-07-09 09:50:51 +00:00
parent dfbc29a5a2
commit f6c166078f

View File

@ -757,9 +757,11 @@ public:
typedef GraphTraits<Inverse<BlockT*> > 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...