cache result of operator* (found by inspection)
authorGabor Greif <ggreif@gmail.com>
Fri, 9 Jul 2010 14:48:08 +0000 (14:48 +0000)
committerGabor Greif <ggreif@gmail.com>
Fri, 9 Jul 2010 14:48:08 +0000 (14:48 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107971 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/GVN.cpp

index 8b656dc9d4d544ca3c852a19c3f02ffcf7352e17..88b67768fa5dfbb8869d3b1bb40cda534e970b4f 100644 (file)
@@ -2214,8 +2214,10 @@ bool GVN::performPRE(Function &F) {
                                      CurInst->getName() + ".pre-phi",
                                      CurrentBlock->begin());
       for (pred_iterator PI = pred_begin(CurrentBlock),
-           PE = pred_end(CurrentBlock); PI != PE; ++PI)
-        Phi->addIncoming(predMap[*PI], *PI);
+           PE = pred_end(CurrentBlock); PI != PE; ++PI) {
+        BasicBlock *P = *PI;
+        Phi->addIncoming(predMap[P], P);
+      }
 
       VN.add(Phi, ValNo);
       localAvail[CurrentBlock]->table[ValNo] = Phi;