/external/llvm/lib/Transforms/Utils/ |
UnifyFunctionExitNodes.cpp | 94 PHINode *PN = nullptr; 99 PN = PHINode::Create(F.getReturnType(), ReturningBlocks.size(), 101 NewRetBlock->getInstList().push_back(PN); 102 ReturnInst::Create(F.getContext(), PN, NewRetBlock); 114 if (PN) 115 PN->addIncoming(BB->getTerminator()->getOperand(0), BB);
|
BreakCriticalEdges.cpp | 101 PHINode *PN = dyn_cast<PHINode>(I); ++I) { 102 unsigned Idx = PN->getBasicBlockIndex(SplitBB); 103 Value *V = PN->getIncomingValue(Idx); 113 PHINode::Create(PN->getType(), Preds.size(), "split", 120 PN->setIncomingValue(Idx, NewPN); 180 PHINode *PN = cast<PHINode>(I); 187 if (PN->getIncomingBlock(BBIdx) != TIBB) 188 BBIdx = PN->getBasicBlockIndex(TIBB); 189 PN->setIncomingBlock(BBIdx, NewBB); 231 if (PHINode *PN = dyn_cast<PHINode>(DestBB->begin())) [all...] |
LCSSA.cpp | 72 if (PHINode *PN = dyn_cast<PHINode>(User)) 73 UserBB = PN->getIncomingBlock(U); 114 PHINode *PN = PHINode::Create(Inst.getType(), PredCache.GetNumPreds(ExitBB), 119 PN->addIncoming(&Inst, *PI); 126 &PN->getOperandUse(PN->getOperandNumForIncomingValue( 127 PN->getNumIncomingValues() - 1))); 130 AddedPHIs.push_back(PN); 133 SSAUpdate.AddAvailableValue(ExitBB, PN); 145 if (PHINode *PN = dyn_cast<PHINode>(User) [all...] |
CloneFunction.cpp | 465 if (const PHINode *PN = dyn_cast<PHINode>(I)) 466 PHIToResolve.push_back(PN); 489 PHINode *PN = cast<PHINode>(VMap[OPN]); 491 Value *V = VMap[PN->getIncomingBlock(pred)]; 493 Value *InVal = MapValue(PN->getIncomingValue(pred), 497 PN->setIncomingValue(pred, InVal); 498 PN->setIncomingBlock(pred, MappedBlock); 500 PN->removeIncomingValue(pred, false); 511 PHINode *PN = cast<PHINode>(NewBB->begin()); 513 if (NumPreds != PN->getNumIncomingValues()) [all...] |
LoopUnroll.cpp | 56 if (PHINode *PN = dyn_cast<PHINode>(I)) { 57 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) { 58 ValueToValueMapTy::iterator It = VMap.find(PN->getIncomingBlock(i)); 60 PN->setIncomingBlock(i, cast<BasicBlock>(It->second)); 355 PHINode *PN = OrigPHINode[i]; 357 PN->replaceAllUsesWith(PN->getIncomingValueForBlock(Preheader)); 358 Header->getInstList().erase(PN); 361 Value *InVal = PN->removeIncomingValue(LatchBlock, false); 369 PN->addIncoming(InVal, Latches.back()) [all...] |
LowerSwitch.cpp | 272 PHINode* PN = cast<PHINode>(I); 277 PN->removeIncomingValue(OrigBlock); 280 int BlockIdx = PN->getBasicBlockIndex(OrigBlock); 282 PN->setIncomingBlock((unsigned)BlockIdx, NewLeaf); 360 PHINode *PN = cast<PHINode>(I); 361 int BlockIdx = PN->getBasicBlockIndex(OrigBlock); 363 PN->setIncomingBlock((unsigned)BlockIdx, NewDefault);
|
BasicBlockUtils.cpp | 78 while (PHINode *PN = dyn_cast<PHINode>(BB->begin())) { 79 if (PN->getIncomingValue(0) != PN) 80 PN->replaceAllUsesWith(PN->getIncomingValue(0)); 82 PN->replaceAllUsesWith(UndefValue::get(PN->getType())); 85 MemDep->removeInstruction(PN); // Memdep updates AA itself. 86 else if (AA && isa<PointerType>(PN->getType())) 87 AA->deleteValue(PN); [all...] |
CodeExtractor.cpp | 193 PHINode *PN = dyn_cast<PHINode>(Header->begin()); 194 if (!PN) return; // No PHI nodes. 199 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) 200 if (Blocks.count(PN->getIncomingBlock(i))) 233 PHINode *PN = cast<PHINode>(OldPred->begin()); 236 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) 237 if (Blocks.count(PN->getIncomingBlock(i))) { 238 TerminatorInst *TI = PN->getIncomingBlock(i)->getTerminator(); 245 PHINode *PN = cast<PHINode>(AfterPHIs); 247 // from OldPred of PN [all...] |
LoopSimplify.cpp | 214 PHINode *PN = cast<PHINode>(I); 216 if (Value *V = SimplifyInstruction(PN, nullptr, nullptr, DT)) { 218 PN->replaceAllUsesWith(V); 219 if (AA) AA->deleteValue(PN); 220 PN->eraseFromParent(); 225 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) 226 if (PN->getIncomingValue(i) == PN && 227 L->contains(PN->getIncomingBlock(i))) 229 return PN; [all...] |
Local.cpp | 377 bool llvm::RecursivelyDeleteDeadPHINode(PHINode *PN, 380 for (Instruction *I = PN; areAllUsesEqual(I) && !I->mayHaveSideEffects(); 461 while (PHINode *PN = dyn_cast<PHINode>(PhiIt)) { 465 if (!recursivelySimplifyInstruction(PN, TD)) 483 while (PHINode *PN = dyn_cast<PHINode>(DestBB->begin())) { 484 Value *NewVal = PN->getIncomingValue(0); 486 if (NewVal == PN) NewVal = UndefValue::get(PN->getType()); 487 PN->replaceAllUsesWith(NewVal); 488 PN->eraseFromParent() [all...] |
PromoteMemoryToRegister.cpp | 685 PHINode *PN = I->second; 688 if (Value *V = SimplifyInstruction(PN, nullptr, nullptr, &DT)) { 689 if (AST && PN->getType()->isPointerTy()) 690 AST->deleteValue(PN); 691 PN->replaceAllUsesWith(V); 692 PN->eraseFromParent(); [all...] |
/external/llvm/lib/IR/ |
Dominators.cpp | 202 PHINode *PN = dyn_cast<PHINode>(UserInst); 203 if (PN && PN->getParent() == BBE.getEnd() && 204 PN->getIncomingBlock(U) == BBE.getStart()) 210 if (PN) 211 UseBB = PN->getIncomingBlock(U); 225 if (PHINode *PN = dyn_cast<PHINode>(UserInst)) 226 UseBB = PN->getIncomingBlock(U); 276 if (PHINode *PN = dyn_cast<PHINode>(I)) 277 return isReachableFromEntry(PN->getIncomingBlock(U)) [all...] |
BasicBlock.cpp | 254 while (PHINode *PN = dyn_cast<PHINode>(&front())) { 256 PN->removeIncomingValue(Pred, !DontDeleteUselessPHIs); 260 if (PN->getIncomingValue(0) != PN) 261 PN->replaceAllUsesWith(PN->getIncomingValue(0)); 264 PN->replaceAllUsesWith(UndefValue::get(PN->getType())); 274 PHINode *PN; 275 for (iterator II = begin(); (PN = dyn_cast<PHINode>(II)); ) [all...] |
Instruction.cpp | 388 const PHINode *PN = dyn_cast<PHINode>(I); 389 if (!PN) { 395 if (PN->getIncomingBlock(U) != BB)
|
Value.cpp | 563 PHINode *PN = dyn_cast<PHINode>(this); 564 if (PN && PN->getParent() == CurBB) 565 return PN->getIncomingValueForBlock(PredBB);
|
/external/llvm/lib/CodeGen/ |
DwarfEHPrepare.cpp | 151 PHINode *PN = PHINode::Create(Type::getInt8PtrTy(Ctx), ResumesSize, 163 PN->addIncoming(ExnObj, Parent); 169 CallInst *CI = CallInst::Create(RewindFunction, PN, "", UnwindBB);
|
SjLjEHPrepare.cpp | 327 PHINode *PN = cast<PHINode>(U); 328 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) 329 if (PN->getIncomingValue(i) == Inst) 330 MarkBlocksLiveIn(PN->getIncomingBlock(i), LiveBBs); 365 for (BasicBlock::iterator PN = UnwindBlock->begin(); isa<PHINode>(PN); ++PN) 366 PHIsToDemote.insert(cast<PHINode>(PN));
|
/external/llvm/lib/Analysis/ |
LoopInfo.cpp | 162 PHINode *PN = cast<PHINode>(I); 164 dyn_cast<ConstantInt>(PN->getIncomingValueForBlock(Incoming))) 167 dyn_cast<Instruction>(PN->getIncomingValueForBlock(Backedge))) 169 Inc->getOperand(0) == PN) 172 return PN;
|
/external/llvm/lib/Transforms/IPO/ |
FunctionAttrs.cpp | 752 PHINode *PN = cast<PHINode>(RVI); 753 for (int i = 0, e = PN->getNumIncomingValues(); i != e; ++i) 754 FlowsToReturn.insert(PN->getIncomingValue(i)); [all...] |
/external/llvm/lib/Transforms/InstCombine/ |
InstCombineLoadStoreAlloca.cpp | 823 PHINode *PN = PHINode::Create(MergedVal->getType(), 2, "storemerge"); 824 PN->addIncoming(SI.getOperand(0), SI.getParent()); 825 PN->addIncoming(OtherStore->getOperand(0), OtherBB) [all...] |
InstCombineShifts.cpp | 174 PHINode *PN = cast<PHINode>(I); 175 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) 176 if (!CanEvaluateShifted(PN->getIncomingValue(i), NumBits, isLeftShift,IC)) 303 PHINode *PN = cast<PHINode>(I); 304 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) 305 PN->setIncomingValue(i, GetShiftedValue(PN->getIncomingValue(i), 307 return PN; [all...] |
InstCombinePHI.cpp | 26 Instruction *InstCombiner::FoldPHIArgBinOpIntoPHI(PHINode &PN) { 27 Instruction *FirstInst = cast<Instruction>(PN.getIncomingValue(0)); 46 for (unsigned i = 1; i != PN.getNumIncomingValues(); ++i) { 47 Instruction *I = dyn_cast<Instruction>(PN.getIncomingValue(i)); 85 NewLHS = PHINode::Create(LHSType, PN.getNumIncomingValues(), 86 FirstInst->getOperand(0)->getName() + ".pn"); 87 NewLHS->addIncoming(InLHS, PN.getIncomingBlock(0)); 88 InsertNewInstBefore(NewLHS, PN); 93 NewRHS = PHINode::Create(RHSType, PN.getNumIncomingValues(), 94 FirstInst->getOperand(1)->getName() + ".pn"); [all...] |
/external/llvm/lib/Transforms/Scalar/ |
LICM.cpp | 198 /// PN is a user of I in ExitBlock that can be used to get the number and 202 PHINode &PN); 499 static bool isTriviallyReplacablePHI(PHINode &PN, Instruction &I) { 500 for (unsigned i = 0, e = PN.getNumIncomingValues(); i != e; ++i) 501 if (PN.getIncomingValue(i) != &I) 514 if (PHINode *PN = dyn_cast<PHINode>(UI)) { 519 if (isTriviallyReplacablePHI(*PN, I)) { 520 if (CurLoop->contains(PN)) 528 for (unsigned i = 0, e = PN->getNumIncomingValues(); i != e; ++i) 529 if (PN->getIncomingValue(i) == &I [all...] |
TailRecursionElimination.cpp | 423 PHINode *PN = ArgumentPHIs[i]; 426 if (Value *PNV = SimplifyInstruction(PN)) { 427 PN->replaceAllUsesWith(PNV); 428 PN->eraseFromParent(); 712 PHINode *PN = PHINode::Create(I->getType(), 2, 714 I->replaceAllUsesWith(PN); // Everyone use the PHI node now! 715 PN->addIncoming(I, NewEntry); 716 ArgumentPHIs.push_back(PN); [all...] |
/external/llvm/examples/Kaleidoscope/Chapter5/ |
toy.cpp | 555 PHINode *PN = Builder.CreatePHI(Type::getDoubleTy(getGlobalContext()), 2, 558 PN->addIncoming(ThenV, ThenBB); 559 PN->addIncoming(ElseV, ElseBB); 560 return PN;
|