Cache DT[*SI] lookup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36239 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/PostDominators.cpp b/lib/Analysis/PostDominators.cpp
index b239596..add25fd 100644
--- a/lib/Analysis/PostDominators.cpp
+++ b/lib/Analysis/PostDominators.cpp
@@ -282,10 +282,12 @@
if (BB)
for (pred_iterator SI = pred_begin(BB), SE = pred_end(BB);
- SI != SE; ++SI)
+ SI != SE; ++SI) {
// Does Node immediately dominate this predecessor?
- if (DT[*SI] && DT[*SI]->getIDom() != Node)
+ DominatorTree::Node *SINode = DT[*SI];
+ if (SINode && SINode->getIDom() != Node)
S.insert(*SI);
+ }
// At this point, S is DFlocal. Now we union in DFup's of our children...
// Loop through and visit the nodes that Node immediately dominates (Node's