OSDN Git Service

[RSForGC] Bring computeLiveOutSeed up to code; NFC
authorSanjoy Das <sanjoy@playingwithpointers.com>
Sun, 26 Jun 2016 04:55:30 +0000 (04:55 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Sun, 26 Jun 2016 04:55:30 +0000 (04:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273798 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/RewriteStatepointsForGC.cpp

index f7aa772..ccb3bbb 100644 (file)
@@ -2408,17 +2408,17 @@ static void computeLiveInValues(BasicBlock::reverse_iterator rbegin,
 }
 
 static void computeLiveOutSeed(BasicBlock *BB, SetVector<Value *> &LiveTmp) {
-
   for (BasicBlock *Succ : successors(BB)) {
-    const BasicBlock::iterator E(Succ->getFirstNonPHI());
-    for (BasicBlock::iterator I = Succ->begin(); I != E; I++) {
-      PHINode *Phi = cast<PHINode>(&*I);
-      Value *V = Phi->getIncomingValueForBlock(BB);
+    for (auto &I : *Succ) {
+      PHINode *PN = dyn_cast<PHINode>(&I);
+      if (!PN)
+        break;
+
+      Value *V = PN->getIncomingValueForBlock(BB);
       assert(!isUnhandledGCPointerType(V->getType()) &&
              "support for FCA unimplemented");
-      if (isHandledGCPointerType(V->getType()) && !isa<Constant>(V)) {
+      if (isHandledGCPointerType(V->getType()) && !isa<Constant>(V))
         LiveTmp.insert(V);
-      }
     }
   }
 }