random tidying
authorChris Lattner <sabre@nondot.org>
Sat, 10 Oct 2009 06:22:45 +0000 (06:22 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 10 Oct 2009 06:22:45 +0000 (06:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83701 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/GVN.cpp
lib/Transforms/Utils/LCSSA.cpp

index 86bbc602e39b69772bd908d096b2fc323229c12b..bd5b02895ec306a1eee184bf7d2b32092a0cf651 100644 (file)
@@ -816,8 +816,9 @@ Value *GVN::GetValueForBlock(BasicBlock *BB, Instruction *Orig,
   else
     NumPreds = std::distance(pred_begin(BB), pred_end(BB));
 
-  // Otherwise, the idom is the loop, so we need to insert a PHI node.  Do so
-  // now, then get values to fill in the incoming values for the PHI.
+  // Otherwise, we may need to insert a PHI node.  Do so now, then get values to
+  // fill in the incoming values for the PHI.  If the PHI ends up not being
+  // needed, we can always remove it later.
   PHINode *PN = PHINode::Create(Orig->getType(), Orig->getName()+".rle",
                                 BB->begin());
   PN->reserveOperandSpace(NumPreds);
@@ -832,7 +833,8 @@ Value *GVN::GetValueForBlock(BasicBlock *BB, Instruction *Orig,
 
   VN.getAliasAnalysis()->copyValue(Orig, PN);
 
-  // Attempt to collapse PHI nodes that are trivially redundant
+  // Attempt to collapse PHI nodes that are trivially redundant.  This happens
+  // when we construct a PHI that ends up not being needed.
   Value *v = CollapsePhi(PN);
   if (!v) {
     // Cache our phi construction results
@@ -1777,8 +1779,8 @@ Value *GVN::AttemptRedundancyElimination(Instruction *orig, unsigned valno) {
   // If we didn't find instances, give up.  Otherwise, perform phi construction.
   if (Results.size() == 0)
     return 0;
-  else
-    return GetValueForBlock(BaseBlock, orig, Results, true);
+  
+  return GetValueForBlock(BaseBlock, orig, Results, true);
 }
 
 /// processInstruction - When calculating availability, handle an instruction
index 48e6a17a0661f8b69912337fccbe6713fc3378f3..af54add385ee1664e97a8e04b75c77fee02e61be 100644 (file)
@@ -197,9 +197,8 @@ void LCSSA::ProcessInstruction(Instruction *Instr,
   for (Value::use_iterator UI = Instr->use_begin(), E = Instr->use_end();
        UI != E;) {
     BasicBlock *UserBB = cast<Instruction>(*UI)->getParent();
-    if (PHINode *P = dyn_cast<PHINode>(*UI)) {
+    if (PHINode *P = dyn_cast<PHINode>(*UI))
       UserBB = P->getIncomingBlock(UI);
-    }
     
     // If the user is in the loop, don't rewrite it!
     if (UserBB == Instr->getParent() || inLoop(UserBB)) {
@@ -231,12 +230,11 @@ void LCSSA::getLoopValuesUsedOutsideLoop(Loop *L,
   for (Loop::block_iterator BB = L->block_begin(), BE = L->block_end();
        BB != BE; ++BB) {
     for (BasicBlock::iterator I = (*BB)->begin(), E = (*BB)->end(); I != E; ++I)
-      for (Value::use_iterator UI = I->use_begin(), UE = I->use_end(); UI != UE;
-           ++UI) {
+      for (Value::use_iterator UI = I->use_begin(), UE = I->use_end();
+           UI != UE; ++UI) {
         BasicBlock *UserBB = cast<Instruction>(*UI)->getParent();
-        if (PHINode* p = dyn_cast<PHINode>(*UI)) {
+        if (PHINode *p = dyn_cast<PHINode>(*UI))
           UserBB = p->getIncomingBlock(UI);
-        }
         
         if (*BB != UserBB && !inLoop(UserBB)) {
           AffectedValues.insert(I);
@@ -288,7 +286,7 @@ Value *LCSSA::GetValueForBlock(DomTreeNode *BB, Instruction *OrigInst,
   Phis.insert(std::make_pair(BB, PN));
                                  
   // Fill in the incoming values for the block.
-  for (BasicBlock** PI = PredCache.GetPreds(BBN); *PI; ++PI)
+  for (BasicBlock **PI = PredCache.GetPreds(BBN); *PI; ++PI)
     PN->addIncoming(GetValueForBlock(DT->getNode(*PI), OrigInst, Phis), *PI);
   return PN;
 }