cache result of operator*
authorGabor Greif <ggreif@gmail.com>
Fri, 9 Jul 2010 15:52:36 +0000 (15:52 +0000)
committerGabor Greif <ggreif@gmail.com>
Fri, 9 Jul 2010 15:52:36 +0000 (15:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107977 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/PostDominators.cpp

index f0f3a05db8a0e789bab6c78b65abe34ccd45f0bf..7354afa181b2ac36898b668bda2eb0d740213286 100644 (file)
@@ -67,10 +67,11 @@ PostDominanceFrontier::calculate(const PostDominatorTree &DT,
   if (BB)
     for (pred_iterator SI = pred_begin(BB), SE = pred_end(BB);
          SI != SE; ++SI) {
+      BasicBlock *P = *SI;
       // Does Node immediately dominate this predecessor?
-      DomTreeNode *SINode = DT[*SI];
+      DomTreeNode *SINode = DT[P];
       if (SINode && SINode->getIDom() != Node)
-        S.insert(*SI);
+        S.insert(P);
     }
 
   // At this point, S is DFlocal.  Now we union in DFup's of our children...