/external/llvm/lib/Transforms/Utils/ |
D | SSAUpdater.cpp | 38 SSAUpdater::SSAUpdater(SmallVectorImpl<PHINode*> *NewPHI) in SSAUpdater() 65 static bool IsEquivalentPHI(PHINode *PHI, in IsEquivalentPHI() 100 if (PHINode *SomePhi = dyn_cast<PHINode>(BB->begin())) { in GetValueInMiddleOfBlock() 138 if (isa<PHINode>(BB->begin())) { in GetValueInMiddleOfBlock() 141 PHINode *SomePHI; in GetValueInMiddleOfBlock() 143 (SomePHI = dyn_cast<PHINode>(It)); ++It) { in GetValueInMiddleOfBlock() 150 PHINode *InsertedPHI = PHINode::Create(ProtoType, PredValues.size(), in GetValueInMiddleOfBlock() 182 if (PHINode *UserPN = dyn_cast<PHINode>(User)) in RewriteUse() 199 if (PHINode *UserPN = dyn_cast<PHINode>(User)) in RewriteUseAfterInsertions() 213 typedef PHINode PhiT; [all …]
|
D | Local.cpp | 395 bool llvm::RecursivelyDeleteDeadPHINode(PHINode *PN, in RecursivelyDeleteDeadPHINode() 469 if (!isa<PHINode>(BB->begin())) in RemovePredecessorAndSimplify() 478 while (PHINode *PN = dyn_cast<PHINode>(PhiIt)) { in RemovePredecessorAndSimplify() 500 while (PHINode *PN = dyn_cast<PHINode>(DestBB->begin())) { in MergeBasicBlockIntoOnlyPred() 569 for (BasicBlock::iterator I = Succ->begin(); isa<PHINode>(I); ++I) { in CanPropagatePredecessorsForPHIs() 570 PHINode *PN = cast<PHINode>(I); in CanPropagatePredecessorsForPHIs() 575 PHINode *BBPN = dyn_cast<PHINode>(PN->getIncomingValueForBlock(BB)); in CanPropagatePredecessorsForPHIs() 650 static void gatherIncomingValuesToPhi(PHINode *PN, in gatherIncomingValuesToPhi() 666 static void replaceUndefValuesInPhi(PHINode *PN, in replaceUndefValuesInPhi() 690 PHINode *PN) { in redirectValuesFromPredecessorsToPhi() [all …]
|
D | BreakCriticalEdges.cpp | 93 PHINode *PN = dyn_cast<PHINode>(I); ++I) { in createPHIsForSplitLoopExit() 99 if (const PHINode *VP = dyn_cast<PHINode>(V)) in createPHIsForSplitLoopExit() 104 PHINode *NewPN = in createPHIsForSplitLoopExit() 105 PHINode::Create(PN->getType(), Preds.size(), "split", in createPHIsForSplitLoopExit() 167 for (BasicBlock::iterator I = DestBB->begin(); isa<PHINode>(I); ++I) { in SplitCriticalEdge() 171 PHINode *PN = cast<PHINode>(I); in SplitCriticalEdge() 215 if (PHINode *PN = dyn_cast<PHINode>(DestBB->begin())) { in SplitCriticalEdge()
|
D | BasicBlockUtils.cpp | 70 if (!isa<PHINode>(BB->begin())) return; in FoldSingleEntryPHINodes() 72 while (PHINode *PN = dyn_cast<PHINode>(BB->begin())) { in FoldSingleEntryPHINodes() 97 PHINode *PN = dyn_cast<PHINode>(I); ++I) in DeleteDeadPHIs() 102 if (PHINode *PN = dyn_cast_or_null<PHINode>(PHIs[i].operator Value*())) in DeleteDeadPHIs() 138 if (PHINode *PN = dyn_cast<PHINode>(BI)) { in MergeBlockIntoPredecessor() 147 if (isa<PHINode>(BB->front())) in MergeBlockIntoPredecessor() 283 while (isa<PHINode>(SplitIt) || isa<LandingPadInst>(SplitIt)) in SplitBlock() 394 for (BasicBlock::iterator I = OrigBB->begin(); isa<PHINode>(I); ) { in UpdatePHINodes() 395 PHINode *PN = cast<PHINode>(I++); in UpdatePHINodes() 436 PHINode *NewPHI = in UpdatePHINodes() [all …]
|
D | LCSSA.cpp | 72 if (PHINode *PN = dyn_cast<PHINode>(User)) in processInstruction() 96 SmallVector<PHINode *, 16> AddedPHIs; in processInstruction() 97 SmallVector<PHINode *, 8> PostProcessPHIs; in processInstruction() 115 PHINode *PN = PHINode::Create(Inst.getType(), PredCache.GetNumPreds(ExitBB), in processInstruction() 158 if (PHINode *PN = dyn_cast<PHINode>(User)) in processInstruction() 161 if (isa<PHINode>(UserBB->begin()) && isExitBlock(UserBB, ExitBlocks)) { in processInstruction() 245 !isa<PHINode>(I->user_back()))) in formLCSSA()
|
D | SimplifyCFG.cpp | 93 typedef SmallVector<std::pair<PHINode *, Constant *>, 4> SwitchCaseResultsTy; 157 isa<PHINode>(BBI); ++BBI) { in SafeToMergeTerminators() 158 PHINode *PN = cast<PHINode>(BBI); in SafeToMergeTerminators() 175 SmallVectorImpl<PHINode*> &PhiNodes) { in isProfitableToFoldUnconditional() 198 isa<PHINode>(BBI); ++BBI) { in isProfitableToFoldUnconditional() 199 PHINode *PN = cast<PHINode>(BBI); in isProfitableToFoldUnconditional() 214 if (!isa<PHINode>(Succ->begin())) return; // Quick exit if nothing to do in AddPredecessorToBlock() 216 PHINode *PN; in AddPredecessorToBlock() 218 (PN = dyn_cast<PHINode>(I)); ++I) in AddPredecessorToBlock() 1037 PHINode *PN; in isSafeToHoistInvoke() [all …]
|
D | CloneFunction.cpp | 350 if (!isa<PHINode>(NewInst)) { in CloneBlock() 516 SmallVector<const PHINode*, 16> PHIToResolve; in CloneAndPruneIntoFromInst() 531 if (const PHINode *PN = dyn_cast<PHINode>(I)) { in CloneAndPruneIntoFromInst() 532 if (isa<PHINode>(VMap[PN])) in CloneAndPruneIntoFromInst() 551 const PHINode *OPN = PHIToResolve[phino]; in CloneAndPruneIntoFromInst() 561 PHINode *PN = cast<PHINode>(VMap[OPN]); in CloneAndPruneIntoFromInst() 583 PHINode *PN = cast<PHINode>(NewBB->begin()); in CloneAndPruneIntoFromInst() 601 for (; (PN = dyn_cast<PHINode>(I)); ++I) { in CloneAndPruneIntoFromInst() 614 PN = cast<PHINode>(NewBB->begin()); in CloneAndPruneIntoFromInst() 618 while ((PN = dyn_cast<PHINode>(I++))) { in CloneAndPruneIntoFromInst() [all …]
|
D | LoopUnroll.cpp | 58 if (PHINode *PN = dyn_cast<PHINode>(I)) { in RemapInstruction() 290 std::vector<PHINode*> OrigPHINode; in UnrollLoop() 291 for (BasicBlock::iterator I = Header->begin(); isa<PHINode>(I); ++I) { in UnrollLoop() 292 OrigPHINode.push_back(cast<PHINode>(I)); in UnrollLoop() 352 PHINode *NewPHI = cast<PHINode>(VMap[OrigPHINode[i]]); in UnrollLoop() 373 PHINode *phi = dyn_cast<PHINode>(BBI); ++BBI) { in UnrollLoop() 400 PHINode *PN = OrigPHINode[i]; in UnrollLoop() 459 PHINode *Phi = dyn_cast<PHINode>(BBI); ++BBI) { in UnrollLoop()
|
D | DemoteRegToStack.cpp | 58 if (PHINode *PN = dyn_cast<PHINode>(U)) { in DemoteRegToStack() 94 for (; isa<PHINode>(InsertPt) || isa<LandingPadInst>(InsertPt); ++InsertPt) in DemoteRegToStack() 108 AllocaInst *llvm::DemotePHIToStack(PHINode *P, Instruction *AllocaPoint) { in DemotePHIToStack() 138 for (; isa<PHINode>(InsertPt) || isa<LandingPadInst>(InsertPt); ++InsertPt) in DemotePHIToStack()
|
D | LoopUnrollRuntime.cpp | 78 PHINode *PN = dyn_cast<PHINode>(BBI); ++BBI) { in ConnectProlog() 82 PHINode *NewPN = PHINode::Create(PN->getType(), 2, PN->getName()+".unr", in ConnectProlog() 191 PHINode *NewIdx = PHINode::Create(NewIter->getType(), 2, "prol.iter", in CloneLoopBlocks() 209 for (BasicBlock::iterator I = Header->begin(); isa<PHINode>(I); ++I) { in CloneLoopBlocks() 210 PHINode *NewPHI = cast<PHINode>(VMap[I]); in CloneLoopBlocks()
|
D | CodeExtractor.cpp | 193 PHINode *PN = dyn_cast<PHINode>(Header->begin()); in severSplitPHINodes() 233 PHINode *PN = cast<PHINode>(OldPred->begin()); in severSplitPHINodes() 244 for (AfterPHIs = OldPred->begin(); isa<PHINode>(AfterPHIs); ++AfterPHIs) { in severSplitPHINodes() 245 PHINode *PN = cast<PHINode>(AfterPHIs); in severSplitPHINodes() 248 PHINode *NewPN = PHINode::Create(PN->getType(), 1 + NumPredsFromRegion, in severSplitPHINodes() 410 PHINode *P = dyn_cast<PHINode>(U.getUser()); in FindPhiPredForUseInBlock() 739 for (BasicBlock::iterator I = header->begin(); isa<PHINode>(I); ++I) { in extractCodeRegion() 740 PHINode *PN = cast<PHINode>(I); in extractCodeRegion() 752 for (BasicBlock::iterator I = Succs[i]->begin(); isa<PHINode>(I); ++I) { in extractCodeRegion() 753 PHINode *PN = cast<PHINode>(I); in extractCodeRegion()
|
D | BypassSlowDivision.cpp | 39 PHINode *Quotient; 40 PHINode *Remainder; 42 DivPhiNodes(PHINode *InQuotient, PHINode *InRemainder) in DivPhiNodes() 142 PHINode *QuoPhi = SuccessorBuilder.CreatePHI(Instr->getType(), 2); in insertFastDiv() 145 PHINode *RemPhi = SuccessorBuilder.CreatePHI(Instr->getType(), 2); in insertFastDiv()
|
/external/llvm/lib/Transforms/InstCombine/ |
D | InstCombinePHI.cpp | 25 Instruction *InstCombiner::FoldPHIArgBinOpIntoPHI(PHINode &PN) { in FoldPHIArgBinOpIntoPHI() 82 PHINode *NewLHS = nullptr, *NewRHS = nullptr; in FoldPHIArgBinOpIntoPHI() 84 NewLHS = PHINode::Create(LHSType, PN.getNumIncomingValues(), in FoldPHIArgBinOpIntoPHI() 92 NewRHS = PHINode::Create(RHSType, PN.getNumIncomingValues(), in FoldPHIArgBinOpIntoPHI() 131 Instruction *InstCombiner::FoldPHIArgGEPIntoPHI(PHINode &PN) { in FoldPHIArgGEPIntoPHI() 202 SmallVector<PHINode*, 16> OperandPhis(FixedOperands.size()); in FoldPHIArgGEPIntoPHI() 208 PHINode *NewPN = PHINode::Create(FirstOp->getType(), e, in FoldPHIArgGEPIntoPHI() 226 if (PHINode *OpPhi = OperandPhis[op]) in FoldPHIArgGEPIntoPHI() 287 Instruction *InstCombiner::FoldPHIArgLoadIntoPHI(PHINode &PN) { in FoldPHIArgLoadIntoPHI() 348 PHINode *NewPN = PHINode::Create(FirstLI->getOperand(0)->getType(), in FoldPHIArgLoadIntoPHI() [all …]
|
/external/llvm/lib/IR/ |
D | BasicBlock.cpp | 167 while (isa<PHINode>(i)) ++i; in getFirstNonPHI() 177 while (isa<PHINode>(i) || isa<DbgInfoIntrinsic>(i)) ++i; in getFirstNonPHIOrDbg() 188 if (isa<PHINode>(i) || isa<DbgInfoIntrinsic>(i)) in getFirstNonPHIOrDbgOrLifetime() 268 PHINode *APN = dyn_cast<PHINode>(&front()); in removePredecessor() 295 while (PHINode *PN = dyn_cast<PHINode>(&front())) { in removePredecessor() 315 PHINode *PN; in removePredecessor() 316 for (iterator II = begin(); (PN = dyn_cast<PHINode>(II)); ) { in removePredecessor() 369 PHINode *PN; in splitBasicBlock() 371 (PN = dyn_cast<PHINode>(II)); ++II) { in splitBasicBlock() 393 PHINode *PN = dyn_cast<PHINode>(II); in replaceSuccessorsPhiUsesWith()
|
D | Dominators.cpp | 102 if (isa<InvokeInst>(Def) || isa<PHINode>(User)) in dominates() 203 PHINode *PN = dyn_cast<PHINode>(UserInst); in dominates() 226 if (PHINode *PN = dyn_cast<PHINode>(UserInst)) in dominates() 258 if (isa<PHINode>(UserInst)) in dominates() 277 if (PHINode *PN = dyn_cast<PHINode>(I)) in isReachableFromEntry()
|
/external/llvm/lib/Transforms/Scalar/ |
D | IndVarSimplify.cpp | 110 void HandleFloatingPointIV(Loop *L, PHINode *PH); 118 PHINode *IndVar, SCEVExpander &Rewriter); 197 PHINode *PHI = dyn_cast<PHINode>(User); in getInsertPointForUses() 246 void IndVarSimplify::HandleFloatingPointIV(Loop *L, PHINode *PN) { in HandleFloatingPointIV() 401 PHINode *NewPHI = PHINode::Create(Int32Ty, 2, PN->getName()+".int", PN); in HandleFloatingPointIV() 453 PHINode *PN = dyn_cast<PHINode>(I); ++I) in RewriteNonIntegerIVs() 457 if (PHINode *PN = dyn_cast_or_null<PHINode>(&*PHIs[i])) in RewriteNonIntegerIVs() 497 PHINode *PN = dyn_cast<PHINode>(ExitBB->begin()); in RewriteLoopExitValues() 519 while ((PN = dyn_cast<PHINode>(BBI++))) { in RewriteLoopExitValues() 629 PHINode *NewPN = cast<PHINode>(PN->clone()); in RewriteLoopExitValues() [all …]
|
D | TailRecursionElimination.cpp | 109 SmallVectorImpl<PHINode *> &ArgumentPHIs, 114 SmallVectorImpl<PHINode *> &ArgumentPHIs, 118 SmallVectorImpl<PHINode *> &ArgumentPHIs, 389 SmallVector<PHINode*, 8> ArgumentPHIs; in runTRE() 422 PHINode *PN = ArgumentPHIs[i]; in runTRE() 617 SmallVectorImpl<PHINode *> &ArgumentPHIs, in EliminateRecursiveTailCall() 707 PHINode *PN = PHINode::Create(I->getType(), 2, in EliminateRecursiveTailCall() 739 PHINode *AccPN = in EliminateRecursiveTailCall() 740 PHINode::Create(AccumulatorRecursionEliminationInitVal->getType(), in EliminateRecursiveTailCall() 796 SmallVectorImpl<PHINode *> &ArgumentPHIs, in FoldReturnAndProcessPred() [all …]
|
D | JumpThreading.cpp | 135 bool ProcessBranchOnPHI(PHINode *PN); 397 if (PHINode *PN = dyn_cast<PHINode>(I)) { in ComputeValueKnownInPredecessors() 503 PHINode *PN = dyn_cast<PHINode>(Cmp->getOperand(0)); in ComputeValueKnownInPredecessors() 845 if (PHINode *PN = dyn_cast<PHINode>(CondInst)) in ProcessBlock() 1020 PHINode *PN = PHINode::Create(LI->getType(), std::distance(PB, PE), "", in SimplifyPartiallyRedundantLoad() 1228 bool JumpThreading::ProcessBranchOnPHI(PHINode *PN) { in ProcessBranchOnPHI() 1269 if (!isa<PHINode>(BB->front())) in ProcessBranchOnXOR() 1338 cast<PHINode>(BB->front()).getNumIncomingValues()) { in ProcessBranchOnXOR() 1368 PHINode *PN = dyn_cast<PHINode>(PNI); ++PNI) { in AddPHINodeEntriesForMappedBlock() 1442 for (; PHINode *PN = dyn_cast<PHINode>(BI); ++BI) in ThreadEdge() [all …]
|
D | LoopInterchange.cpp | 298 static PHINode *getInductionVariable(Loop *L, ScalarEvolution *SE) { in getInductionVariable() 299 PHINode *InnerIndexVar = L->getCanonicalInductionVariable(); in getInductionVariable() 304 for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ++I) { in getInductionVariable() 305 PHINode *PhiVar = cast<PHINode>(I); in getInductionVariable() 338 bool isLoopStructureUnderstood(PHINode *InnerInductionVar); 525 if (Latch && Latch != Header && isa<PHINode>(Latch->begin())) { in processLoopList() 633 for (auto I = BB->begin(); isa<PHINode>(I); ++I) in getPHICount() 639 PHINode *InnerInduction) { in isLoopStructureUnderstood() 653 unsigned IncomBlockIndx = PHINode::getIncomingValueNumForOperand(i); in isLoopStructureUnderstood() 673 PHINode *InnerInductionVar; in currentLimitations() [all …]
|
D | InductiveRangeCheckElimination.cpp | 502 std::vector<PHINode *> PHIValuesAtPseudoExit; 503 PHINode *IndVarEnd; 524 static void replacePHIBlock(PHINode *PN, BasicBlock *Block, 623 void LoopConstrainer::replacePHIBlock(PHINode *PN, BasicBlock *Block, in replacePHIBlock() 956 if (!isa<PHINode>(&I)) in cloneLoop() 959 PHINode *PN = cast<PHINode>(&I); in cloneLoop() 1092 if (!isa<PHINode>(&I)) in changeIterationSpaceEnd() 1095 PHINode *PN = cast<PHINode>(&I); in changeIterationSpaceEnd() 1097 PHINode *NewPHI = PHINode::Create(PN->getType(), 2, PN->getName() + ".copy", in changeIterationSpaceEnd() 1106 RRI.IndVarEnd = PHINode::Create(LS.IndVarNext->getType(), 2, "indvar.end", in changeIterationSpaceEnd() [all …]
|
/external/llvm/lib/Target/R600/ |
D | SIAnnotateControlFlow.cpp | 78 bool isElse(PHINode *Phi); 80 void eraseIfUnused(PHINode *Phi); 86 Value *handleLoopCondition(Value *Cond, PHINode *Broken, llvm::Loop *L); 172 bool SIAnnotateControlFlow::isElse(PHINode *Phi) { in isElse() 190 void SIAnnotateControlFlow::eraseIfUnused(PHINode *Phi) { in eraseIfUnused() 210 Value *SIAnnotateControlFlow::handleLoopCondition(Value *Cond, PHINode *Broken, in handleLoopCondition() 212 if (PHINode *Phi = dyn_cast<PHINode>(Cond)) { in handleLoopCondition() 214 PHINode *NewPhi = PHINode::Create(Int64, 0, "", &Parent->front()); in handleLoopCondition() 277 PHINode *Broken = PHINode::Create(Int64, 0, "", &Target->front()); in handleLoop() 339 PHINode *Phi = dyn_cast<PHINode>(Term->getCondition()); in runOnFunction()
|
/external/llvm/lib/Transforms/ObjCARC/ |
D | ProvenanceAnalysis.cpp | 48 bool ProvenanceAnalysis::relatedPHI(const PHINode *A, in relatedPHI() 54 if (const PHINode *PNB = dyn_cast<PHINode>(B)) in relatedPHI() 151 if (const PHINode *PN = dyn_cast<PHINode>(A)) in relatedCheck() 153 if (const PHINode *PN = dyn_cast<PHINode>(B)) in relatedCheck()
|
/external/llvm/include/llvm/Analysis/ |
D | ScalarEvolutionExpander.h | 70 std::set<AssertingVH<PHINode> > ChainedPhis; 129 PHINode *getOrInsertCanonicalInductionVariable(const Loop *L, Type *Ty); 194 void setChainedPhi(PHINode *PN) { ChainedPhis.insert(PN); } 264 bool isNormalAddRecExprPHI(PHINode *PN, Instruction *IncV, const Loop *L); 266 bool isExpandedAddRecExprPHI(PHINode *PN, Instruction *IncV, const Loop *L); 269 PHINode *getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized, 275 Value *expandIVInc(PHINode *PN, Value *StepV, const Loop *L,
|
/external/llvm/lib/Analysis/ |
D | IVUsers.cpp | 130 if (!isa<PHINode>(I) && !isSafeToSpeculativelyExecute(I)) in AddUsersImpl() 155 if (isa<PHINode>(User) && Processed.count(User)) in AddUsersImpl() 162 if (PHINode *PHI = dyn_cast<PHINode>(User)) { in AddUsersImpl() 164 unsigned ValNo = PHINode::getIncomingValueNumForOperand(OperandNo); in AddUsersImpl() 178 if (isa<PHINode>(User) || Processed.count(User) || in AddUsersImpl() 263 for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ++I) in runOnLoop()
|
/external/llvm/include/llvm/Transforms/Utils/ |
D | SSAUpdater.h | 26 class PHINode; variable 54 SmallVectorImpl<PHINode*> *InsertedPHIs; 59 explicit SSAUpdater(SmallVectorImpl<PHINode*> *InsertedPHIs = nullptr);
|