diff options
Diffstat (limited to 'lib/Transforms/Utils/CloneFunction.cpp')
| -rw-r--r-- | lib/Transforms/Utils/CloneFunction.cpp | 38 | 
1 files changed, 19 insertions, 19 deletions
diff --git a/lib/Transforms/Utils/CloneFunction.cpp b/lib/Transforms/Utils/CloneFunction.cpp index 61448e9acb573..8073603400557 100644 --- a/lib/Transforms/Utils/CloneFunction.cpp +++ b/lib/Transforms/Utils/CloneFunction.cpp @@ -290,7 +290,7 @@ void PruningFunctionCloner::CloneBlock(const BasicBlock *BB,    // Have we already cloned this block?    if (BBEntry) return; -   +    // Nope, clone it now.    BasicBlock *NewBB;    BBEntry = NewBB = BasicBlock::Create(BB->getContext()); @@ -363,7 +363,7 @@ void PruningFunctionCloner::CloneBlock(const BasicBlock *BB,          hasDynamicAllocas = true;      }    } -   +    // Finally, clone over the terminator.    const TerminatorInst *OldTI = BB->getTerminator();    bool TerminatorDone = false; @@ -400,7 +400,7 @@ void PruningFunctionCloner::CloneBlock(const BasicBlock *BB,        TerminatorDone = true;      }    } -   +    if (!TerminatorDone) {      Instruction *NewInst = OldTI->clone();      if (OldTI->hasName()) @@ -418,11 +418,11 @@ void PruningFunctionCloner::CloneBlock(const BasicBlock *BB,      for (const BasicBlock *Succ : TI->successors())        ToClone.push_back(Succ);    } -   +    if (CodeInfo) {      CodeInfo->ContainsCalls          |= hasCalls;      CodeInfo->ContainsDynamicAllocas |= hasDynamicAllocas; -    CodeInfo->ContainsDynamicAllocas |= hasStaticAllocas &&  +    CodeInfo->ContainsDynamicAllocas |= hasStaticAllocas &&        BB != &BB->getParent()->front();    }  } @@ -468,7 +468,7 @@ void llvm::CloneAndPruneIntoFromInst(Function *NewFunc, const Function *OldFunc,      CloneWorklist.pop_back();      PFC.CloneBlock(BB, BB->begin(), CloneWorklist);    } -   +    // Loop over all of the basic blocks in the old function.  If the block was    // reachable, we have cloned it and the old block is now in the value map:    // insert it into the new function in the right order.  If not, ignore it. @@ -500,7 +500,7 @@ void llvm::CloneAndPruneIntoFromInst(Function *NewFunc, const Function *OldFunc,                       ModuleLevelChanges ? RF_None : RF_NoModuleLevelChanges,                       TypeMapper, Materializer);    } -   +    // Defer PHI resolution until rest of function is resolved, PHI resolution    // requires the CFG to be up-to-date.    for (unsigned phino = 0, e = PHIToResolve.size(); phino != e; ) { @@ -519,7 +519,7 @@ void llvm::CloneAndPruneIntoFromInst(Function *NewFunc, const Function *OldFunc,          Value *V = VMap.lookup(PN->getIncomingBlock(pred));          if (BasicBlock *MappedBlock = cast_or_null<BasicBlock>(V)) {            Value *InVal = MapValue(PN->getIncomingValue(pred), -                                  VMap,  +                                  VMap,                          ModuleLevelChanges ? RF_None : RF_NoModuleLevelChanges);            assert(InVal && "Unknown input value?");            PN->setIncomingValue(pred, InVal); @@ -529,9 +529,9 @@ void llvm::CloneAndPruneIntoFromInst(Function *NewFunc, const Function *OldFunc,            --pred;  // Revisit the next entry.            --e;          } -      }  +      }      } -     +      // The loop above has removed PHI entries for those blocks that are dead      // and has updated others.  However, if a block is live (i.e. copied over)      // but its terminator has been changed to not go to this block, then our @@ -546,11 +546,11 @@ void llvm::CloneAndPruneIntoFromInst(Function *NewFunc, const Function *OldFunc,        for (pred_iterator PI = pred_begin(NewBB), E = pred_end(NewBB);             PI != E; ++PI)          --PredCount[*PI]; -       +        // Figure out how many entries to remove from each PHI.        for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i)          ++PredCount[PN->getIncomingBlock(i)]; -       +        // At this point, the excess predecessor entries are positive in the        // map.  Loop over all of the PHIs and remove excess predecessor        // entries. @@ -563,7 +563,7 @@ void llvm::CloneAndPruneIntoFromInst(Function *NewFunc, const Function *OldFunc,          }        }      } -     +      // If the loops above have made these phi nodes have 0 or 1 operand,      // replace them with undef or the input value.  We must do this for      // correctness, because 0-operand phis are not valid. @@ -655,7 +655,7 @@ void llvm::CloneAndPruneIntoFromInst(Function *NewFunc, const Function *OldFunc,      BranchInst *BI = dyn_cast<BranchInst>(I->getTerminator());      if (!BI || BI->isConditional()) { ++I; continue; } -     +      BasicBlock *Dest = BI->getSuccessor(0);      if (!Dest->getSinglePredecessor()) {        ++I; continue; @@ -668,16 +668,16 @@ void llvm::CloneAndPruneIntoFromInst(Function *NewFunc, const Function *OldFunc,      // We know all single-entry PHI nodes in the inlined function have been      // removed, so we just need to splice the blocks.      BI->eraseFromParent(); -     +      // Make all PHI nodes that referred to Dest now refer to I as their source.      Dest->replaceAllUsesWith(&*I);      // Move all the instructions in the succ to the pred.      I->getInstList().splice(I->end(), Dest->getInstList()); -     +      // Remove the dest block.      Dest->eraseFromParent(); -     +      // Do not increment I, iteratively merge all things this block branches to.    } @@ -703,7 +703,7 @@ void llvm::CloneAndPruneFunctionInto(Function *NewFunc, const Function *OldFunc,                                       ValueToValueMapTy &VMap,                                       bool ModuleLevelChanges,                                       SmallVectorImpl<ReturnInst*> &Returns, -                                     const char *NameSuffix,  +                                     const char *NameSuffix,                                       ClonedCodeInfo *CodeInfo,                                       Instruction *TheCall) {    CloneAndPruneIntoFromInst(NewFunc, OldFunc, &OldFunc->front().front(), VMap, @@ -730,7 +730,7 @@ Loop *llvm::cloneLoopWithPreheader(BasicBlock *Before, BasicBlock *LoopDomBB,                                     const Twine &NameSuffix, LoopInfo *LI,                                     DominatorTree *DT,                                     SmallVectorImpl<BasicBlock *> &Blocks) { -  assert(OrigLoop->getSubLoops().empty() &&  +  assert(OrigLoop->getSubLoops().empty() &&           "Loop to be cloned cannot have inner loop");    Function *F = OrigLoop->getHeader()->getParent();    Loop *ParentLoop = OrigLoop->getParentLoop();  | 
