Home
last modified time | relevance | path

Searched refs:PHINode (Results 1 – 25 of 190) sorted by relevance

12345678

/external/llvm/lib/Transforms/Utils/
DSSAUpdater.cpp38 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 …]
DLocal.cpp395 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 …]
DBreakCriticalEdges.cpp93 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()
DBasicBlockUtils.cpp70 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 …]
DLCSSA.cpp72 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()
DSimplifyCFG.cpp93 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 …]
DCloneFunction.cpp350 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 …]
DLoopUnroll.cpp58 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()
DDemoteRegToStack.cpp58 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()
DLoopUnrollRuntime.cpp78 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()
DCodeExtractor.cpp193 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()
DBypassSlowDivision.cpp39 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/
DInstCombinePHI.cpp25 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/
DBasicBlock.cpp167 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()
DDominators.cpp102 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/
DIndVarSimplify.cpp110 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 …]
DTailRecursionElimination.cpp109 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 …]
DJumpThreading.cpp135 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 …]
DLoopInterchange.cpp298 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 …]
DInductiveRangeCheckElimination.cpp502 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/
DSIAnnotateControlFlow.cpp78 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/
DProvenanceAnalysis.cpp48 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/
DScalarEvolutionExpander.h70 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/
DIVUsers.cpp130 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/
DSSAUpdater.h26 class PHINode; variable
54 SmallVectorImpl<PHINode*> *InsertedPHIs;
59 explicit SSAUpdater(SmallVectorImpl<PHINode*> *InsertedPHIs = nullptr);

12345678