Home
last modified time | relevance | path

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

1234567

/external/llvm/lib/Transforms/Utils/
DSSAUpdater.cpp38 SSAUpdater::SSAUpdater(SmallVectorImpl<PHINode*> *NewPHI) in SSAUpdater()
73 static bool IsEquivalentPHI(PHINode *PHI, in IsEquivalentPHI()
129 if (PHINode *SomePhi = dyn_cast<PHINode>(BB->begin())) { in GetValueInMiddleOfBlock()
167 if (isa<PHINode>(BB->begin())) { in GetValueInMiddleOfBlock()
170 PHINode *SomePHI; in GetValueInMiddleOfBlock()
172 (SomePHI = dyn_cast<PHINode>(It)); ++It) { in GetValueInMiddleOfBlock()
179 PHINode *InsertedPHI = PHINode::Create(ProtoType, PredValues.size(), in GetValueInMiddleOfBlock()
212 if (PHINode *UserPN = dyn_cast<PHINode>(User)) in RewriteUse()
233 if (PHINode *UserPN = dyn_cast<PHINode>(User)) in RewriteUseAfterInsertions()
249 typedef PHINode PhiT;
[all …]
DLocal.cpp376 bool llvm::RecursivelyDeleteDeadPHINode(PHINode *PN, in RecursivelyDeleteDeadPHINode()
451 if (!isa<PHINode>(BB->begin())) in RemovePredecessorAndSimplify()
460 while (PHINode *PN = dyn_cast<PHINode>(PhiIt)) { in RemovePredecessorAndSimplify()
482 while (PHINode *PN = dyn_cast<PHINode>(DestBB->begin())) { in MergeBasicBlockIntoOnlyPred()
547 for (BasicBlock::iterator I = Succ->begin(); isa<PHINode>(I); ++I) { in CanPropagatePredecessorsForPHIs()
548 PHINode *PN = cast<PHINode>(I); in CanPropagatePredecessorsForPHIs()
553 PHINode *BBPN = dyn_cast<PHINode>(PN->getIncomingValueForBlock(BB)); in CanPropagatePredecessorsForPHIs()
617 while (isa<PHINode>(*BBI)) { in TryToSimplifyUncondBranchFromEmptyBlock()
620 if (PHINode* PN = dyn_cast<PHINode>(*UI)) { in TryToSimplifyUncondBranchFromEmptyBlock()
633 if (isa<PHINode>(Succ->begin())) { in TryToSimplifyUncondBranchFromEmptyBlock()
[all …]
DBasicBlockUtils.cpp68 if (!isa<PHINode>(BB->begin())) return; in FoldSingleEntryPHINodes()
77 while (PHINode *PN = dyn_cast<PHINode>(BB->begin())) { in FoldSingleEntryPHINodes()
102 PHINode *PN = dyn_cast<PHINode>(I); ++I) in DeleteDeadPHIs()
107 if (PHINode *PN = dyn_cast_or_null<PHINode>(PHIs[i].operator Value*())) in DeleteDeadPHIs()
141 if (PHINode *PN = dyn_cast<PHINode>(BI)) { in MergeBlockIntoPredecessor()
150 if (isa<PHINode>(BB->front())) in MergeBlockIntoPredecessor()
289 while (isa<PHINode>(SplitIt) || isa<LandingPadInst>(SplitIt)) in SplitBlock()
400 for (BasicBlock::iterator I = OrigBB->begin(); isa<PHINode>(I); ) { in UpdatePHINodes()
401 PHINode *PN = cast<PHINode>(I++); in UpdatePHINodes()
424 PHINode *NewPHI = in UpdatePHINodes()
[all …]
DBreakCriticalEdges.cpp134 PHINode *PN = dyn_cast<PHINode>(I); ++I) { in createPHIsForSplitLoopExit()
140 if (const PHINode *VP = dyn_cast<PHINode>(V)) in createPHIsForSplitLoopExit()
145 PHINode *NewPN = in createPHIsForSplitLoopExit()
146 PHINode::Create(PN->getType(), Preds.size(), "split", in createPHIsForSplitLoopExit()
209 for (BasicBlock::iterator I = DestBB->begin(); isa<PHINode>(I); ++I) { in SplitCriticalEdge()
213 PHINode *PN = cast<PHINode>(I); in SplitCriticalEdge()
263 if (PHINode *PN = dyn_cast<PHINode>(DestBB->begin())) { in SplitCriticalEdge()
DLCSSA.cpp157 !isa<PHINode>(I->use_back()))) in runOnLoop()
198 if (PHINode *PN = dyn_cast<PHINode>(U)) in ProcessInstruction()
220 SmallVector<PHINode*, 16> AddedPHIs; in ProcessInstruction()
235 PHINode *PN = PHINode::Create(Inst->getType(), in ProcessInstruction()
268 if (PHINode *PN = dyn_cast<PHINode>(User)) in ProcessInstruction()
271 if (isa<PHINode>(UserBB->begin()) && in ProcessInstruction()
DLoopUnroll.cpp50 if (PHINode *PN = dyn_cast<PHINode>(I)) { in RemapInstruction()
250 std::vector<PHINode*> OrigPHINode; in UnrollLoop()
251 for (BasicBlock::iterator I = Header->begin(); isa<PHINode>(I); ++I) { in UnrollLoop()
252 OrigPHINode.push_back(cast<PHINode>(I)); in UnrollLoop()
282 PHINode *NewPHI = cast<PHINode>(VMap[OrigPHINode[i]]); in UnrollLoop()
305 PHINode *phi = dyn_cast<PHINode>(BBI); ++BBI) { in UnrollLoop()
332 PHINode *PN = OrigPHINode[i]; in UnrollLoop()
391 PHINode *Phi = dyn_cast<PHINode>(BBI); ++BBI) { in UnrollLoop()
DCloneFunction.cpp267 if (!isa<PHINode>(NewInst)) { in CloneBlock()
397 SmallVector<const PHINode*, 16> PHIToResolve; in CloneAndPruneFunctionInto()
410 if (const PHINode *PN = dyn_cast<PHINode>(I)) in CloneAndPruneFunctionInto()
424 const PHINode *OPN = PHIToResolve[phino]; in CloneAndPruneFunctionInto()
434 PHINode *PN = cast<PHINode>(VMap[OPN]); in CloneAndPruneFunctionInto()
456 PHINode *PN = cast<PHINode>(NewBB->begin()); in CloneAndPruneFunctionInto()
474 for (; (PN = dyn_cast<PHINode>(I)); ++I) { in CloneAndPruneFunctionInto()
487 PN = cast<PHINode>(NewBB->begin()); in CloneAndPruneFunctionInto()
491 while ((PN = dyn_cast<PHINode>(I++))) { in CloneAndPruneFunctionInto()
510 if (PHINode *PN = dyn_cast<PHINode>(VMap[PHIToResolve[Idx]])) in CloneAndPruneFunctionInto()
[all …]
DSimplifyCFG.cpp128 isa<PHINode>(BBI); ++BBI) { in SafeToMergeTerminators()
129 PHINode *PN = cast<PHINode>(BBI); in SafeToMergeTerminators()
146 SmallVectorImpl<PHINode*> &PhiNodes) { in isProfitableToFoldUnconditional()
169 isa<PHINode>(BBI); ++BBI) { in isProfitableToFoldUnconditional()
170 PHINode *PN = cast<PHINode>(BBI); in isProfitableToFoldUnconditional()
185 if (!isa<PHINode>(Succ->begin())) return; // Quick exit if nothing to do in AddPredecessorToBlock()
187 PHINode *PN; in AddPredecessorToBlock()
189 (PN = dyn_cast<PHINode>(I)); ++I) in AddPredecessorToBlock()
205 PHINode *SomePHI = cast<PHINode>(BB->begin()); in GetIfCondition()
1040 PHINode *PN; in isSafeToHoistInvoke()
[all …]
DDemoteRegToStack.cpp44 if (PHINode *PN = dyn_cast<PHINode>(U)) { in DemoteRegToStack()
99 for (; isa<PHINode>(InsertPt) || isa<LandingPadInst>(InsertPt); ++InsertPt) in DemoteRegToStack()
109 AllocaInst *llvm::DemotePHIToStack(PHINode *P, Instruction *AllocaPoint) { in DemotePHIToStack()
139 for (; isa<PHINode>(InsertPt) || isa<LandingPadInst>(InsertPt); ++InsertPt) in DemotePHIToStack()
DCodeExtractor.cpp192 PHINode *PN = dyn_cast<PHINode>(Header->begin()); in severSplitPHINodes()
232 PHINode *PN = cast<PHINode>(OldPred->begin()); in severSplitPHINodes()
243 for (AfterPHIs = OldPred->begin(); isa<PHINode>(AfterPHIs); ++AfterPHIs) { in severSplitPHINodes()
244 PHINode *PN = cast<PHINode>(AfterPHIs); in severSplitPHINodes()
247 PHINode *NewPN = PHINode::Create(PN->getType(), 1 + NumPredsFromRegion, in severSplitPHINodes()
410 PHINode *P = dyn_cast<PHINode>(*UI); in FindPhiPredForUseInBlock()
742 for (BasicBlock::iterator I = header->begin(); isa<PHINode>(I); ++I) { in extractCodeRegion()
743 PHINode *PN = cast<PHINode>(I); in extractCodeRegion()
755 for (BasicBlock::iterator I = Succs[i]->begin(); isa<PHINode>(I); ++I) { in extractCodeRegion()
756 PHINode *PN = cast<PHINode>(I); in extractCodeRegion()
DLoopUnrollRuntime.cpp71 PHINode *PN = dyn_cast<PHINode>(BBI); ++BBI) { in ConnectProlog()
75 PHINode *NewPN = PHINode::Create(PN->getType(), 2, PN->getName()+".unr", in ConnectProlog()
169 for (BasicBlock::iterator I = Header->begin(); isa<PHINode>(I); ++I) { in CloneLoopBlocks()
170 PHINode *NewPHI = cast<PHINode>(VMap[I]); in CloneLoopBlocks()
DBypassSlowDivision.cpp38 PHINode *Quotient;
39 PHINode *Remainder;
41 DivPhiNodes(PHINode *InQuotient, PHINode *InRemainder) in DivPhiNodes()
141 PHINode *QuoPhi = SuccessorBuilder.CreatePHI(Instr->getType(), 2); in insertFastDiv()
144 PHINode *RemPhi = SuccessorBuilder.CreatePHI(Instr->getType(), 2); in insertFastDiv()
DLoopSimplify.cpp273 PHINode *PN; in ProcessLoop()
275 (PN = dyn_cast<PHINode>(I++)); ) in ProcessLoop()
468 static PHINode *FindPHIToPartitionLoops(Loop *L, DominatorTree *DT, in FindPHIToPartitionLoops()
470 for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ) { in FindPHIToPartitionLoops()
471 PHINode *PN = cast<PHINode>(I); in FindPHIToPartitionLoops()
556 PHINode *PN = FindPHIToPartitionLoops(L, DT, AA, LI); in SeparateNestedLoop()
693 for (BasicBlock::iterator I = Header->begin(); isa<PHINode>(I); ++I) { in InsertUniqueBackedgeBlock()
694 PHINode *PN = cast<PHINode>(I); in InsertUniqueBackedgeBlock()
695 PHINode *NewPN = PHINode::Create(PN->getType(), BackedgeBlocks.size(), in InsertUniqueBackedgeBlock()
/external/llvm/lib/Transforms/InstCombine/
DInstCombinePHI.cpp24 Instruction *InstCombiner::FoldPHIArgBinOpIntoPHI(PHINode &PN) { in FoldPHIArgBinOpIntoPHI()
81 PHINode *NewLHS = 0, *NewRHS = 0; in FoldPHIArgBinOpIntoPHI()
83 NewLHS = PHINode::Create(LHSType, PN.getNumIncomingValues(), in FoldPHIArgBinOpIntoPHI()
91 NewRHS = PHINode::Create(RHSType, PN.getNumIncomingValues(), in FoldPHIArgBinOpIntoPHI()
130 Instruction *InstCombiner::FoldPHIArgGEPIntoPHI(PHINode &PN) { in FoldPHIArgGEPIntoPHI()
201 SmallVector<PHINode*, 16> OperandPhis(FixedOperands.size()); in FoldPHIArgGEPIntoPHI()
207 PHINode *NewPN = PHINode::Create(FirstOp->getType(), e, in FoldPHIArgGEPIntoPHI()
225 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.cpp136 while (isa<PHINode>(i)) ++i; in getFirstNonPHI()
146 while (isa<PHINode>(i) || isa<DbgInfoIntrinsic>(i)) ++i; in getFirstNonPHIOrDbg()
157 if (isa<PHINode>(i) || isa<DbgInfoIntrinsic>(i)) in getFirstNonPHIOrDbgOrLifetime()
223 PHINode *APN = dyn_cast<PHINode>(&front()); in removePredecessor()
250 while (PHINode *PN = dyn_cast<PHINode>(&front())) { in removePredecessor()
270 PHINode *PN; in removePredecessor()
271 for (iterator II = begin(); (PN = dyn_cast<PHINode>(II)); ) { in removePredecessor()
324 PHINode *PN; in splitBasicBlock()
326 (PN = dyn_cast<PHINode>(II)); ++II) { in splitBasicBlock()
348 PHINode *PN = dyn_cast<PHINode>(II); in replaceSuccessorsPhiUsesWith()
DDominators.cpp120 if (isa<InvokeInst>(Def) || isa<PHINode>(User)) in dominates()
222 PHINode *PN = dyn_cast<PHINode>(UserInst); in dominates()
246 if (PHINode *PN = dyn_cast<PHINode>(UserInst)) in dominates()
278 if (isa<PHINode>(UserInst)) in dominates()
297 if (PHINode *PN = dyn_cast<PHINode>(I)) in isReachableFromEntry()
/external/llvm/lib/Transforms/Scalar/
DIndVarSimplify.cpp105 void HandleFloatingPointIV(Loop *L, PHINode *PH);
113 PHINode *IndVar, SCEVExpander &Rewriter);
192 PHINode *PHI = dyn_cast<PHINode>(User); in getInsertPointForUses()
241 void IndVarSimplify::HandleFloatingPointIV(Loop *L, PHINode *PN) { in HandleFloatingPointIV()
396 PHINode *NewPHI = PHINode::Create(Int32Ty, 2, PN->getName()+".int", PN); in HandleFloatingPointIV()
448 PHINode *PN = dyn_cast<PHINode>(I); ++I) in RewriteNonIntegerIVs()
452 if (PHINode *PN = dyn_cast_or_null<PHINode>(&*PHIs[i])) in RewriteNonIntegerIVs()
492 PHINode *PN = dyn_cast<PHINode>(ExitBB->begin()); in RewriteLoopExitValues()
499 while ((PN = dyn_cast<PHINode>(BBI++))) { in RewriteLoopExitValues()
568 PHINode *NewPN = cast<PHINode>(PN->clone()); in RewriteLoopExitValues()
[all …]
DTailRecursionElimination.cpp100 SmallVector<PHINode*, 8> &ArgumentPHIs,
105 SmallVector<PHINode*, 8> &ArgumentPHIs,
109 SmallVector<PHINode*, 8> &ArgumentPHIs,
169 SmallVector<PHINode*, 8> ArgumentPHIs; in runOnFunction()
216 PHINode *PN = ArgumentPHIs[i]; in runOnFunction()
427 SmallVector<PHINode*, 8> &ArgumentPHIs, in EliminateRecursiveTailCall() argument
514 PHINode *PN = PHINode::Create(I->getType(), 2, in EliminateRecursiveTailCall()
546 PHINode *AccPN = in EliminateRecursiveTailCall()
547 PHINode::Create(AccumulatorRecursionEliminationInitVal->getType(), in EliminateRecursiveTailCall()
603 SmallVector<PHINode*, 8> &ArgumentPHIs, in FoldReturnAndProcessPred() argument
[all …]
DCodeGenPrepare.cpp290 if (!isa<DbgInfoIntrinsic>(BBI) && !isa<PHINode>(BBI)) in EliminateMostlyEmptyBlocks()
317 while (const PHINode *PN = dyn_cast<PHINode>(BBI++)) { in CanMergeBlocks()
321 if (User->getParent() != DestBB || !isa<PHINode>(User)) in CanMergeBlocks()
327 if (const PHINode *UPN = dyn_cast<PHINode>(User)) in CanMergeBlocks()
341 const PHINode *DestBBPN = dyn_cast<PHINode>(DestBB->begin()); in CanMergeBlocks()
346 if (const PHINode *BBPN = dyn_cast<PHINode>(BB->begin())) { in CanMergeBlocks()
359 while (const PHINode *PN = dyn_cast<PHINode>(BBI++)) { in CanMergeBlocks()
364 if (const PHINode *V2PN = dyn_cast<PHINode>(V2)) in CanMergeBlocks()
405 PHINode *PN; in EliminateMostlyEmptyBlock()
407 (PN = dyn_cast<PHINode>(BBI)); ++BBI) { in EliminateMostlyEmptyBlock()
[all …]
/external/llvm/lib/Transforms/ObjCARC/
DProvenanceAnalysis.cpp47 bool ProvenanceAnalysis::relatedPHI(const PHINode *A, in relatedPHI()
52 if (const PHINode *PNB = dyn_cast<PHINode>(B)) in relatedPHI()
150 if (const PHINode *PN = dyn_cast<PHINode>(A)) in relatedCheck()
152 if (const PHINode *PN = dyn_cast<PHINode>(B)) in relatedCheck()
/external/llvm/include/llvm/Analysis/
DScalarEvolutionExpander.h70 std::set<AssertingVH<PHINode> > ChainedPhis;
121 PHINode *getOrInsertCanonicalInductionVariable(const Loop *L, Type *Ty);
188 void setChainedPhi(PHINode *PN) { ChainedPhis.insert(PN); }
257 bool isNormalAddRecExprPHI(PHINode *PN, Instruction *IncV, const Loop *L);
259 bool isExpandedAddRecExprPHI(PHINode *PN, Instruction *IncV, const Loop *L);
262 PHINode *getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized,
266 Value *expandIVInc(PHINode *PN, Value *StepV, const Loop *L,
/external/llvm/lib/Target/R600/
DSIAnnotateControlFlow.cpp72 bool isElse(PHINode *Phi);
74 void eraseIfUnused(PHINode *Phi);
165 bool SIAnnotateControlFlow::isElse(PHINode *Phi) { in isElse()
183 void SIAnnotateControlFlow::eraseIfUnused(PHINode *Phi) { in eraseIfUnused()
204 if (PHINode *Phi = dyn_cast<PHINode>(Cond)) { in handleLoopCondition()
261 PHINode *Broken = PHINode::Create(Int64, 0, "", &Target->front()); in handleLoop()
311 PHINode *Phi = dyn_cast<PHINode>(Term->getCondition()); in runOnFunction()
/external/llvm/lib/Analysis/
DIVUsers.cpp127 if (!isa<PHINode>(I) && !isSafeToSpeculativelyExecute(I, TD)) in AddUsersImpl()
153 if (isa<PHINode>(User) && Processed.count(User)) in AddUsersImpl()
160 if (PHINode *PHI = dyn_cast<PHINode>(User)) { in AddUsersImpl()
162 unsigned ValNo = PHINode::getIncomingValueNumForOperand(OperandNo); in AddUsersImpl()
176 if (isa<PHINode>(User) || Processed.count(User) || in AddUsersImpl()
243 for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ++I) in runOnLoop()
/external/llvm/include/llvm/Transforms/Utils/
DSSAUpdater.h26 class PHINode; variable
52 SmallVectorImpl<PHINode*> *InsertedPHIs;
57 explicit SSAUpdater(SmallVectorImpl<PHINode*> *InsertedPHIs = 0);
/external/llvm/lib/Transforms/Vectorize/
DLoopVectorize.cpp168 typedef SmallVector<PHINode*, 4> PhiVector;
310 PHINode *Induction;
312 PHINode *OldInduction;
414 typedef DenseMap<PHINode*, ReductionDescriptor> ReductionList;
418 typedef MapVector<PHINode*, InductionInfo> InductionList;
431 PHINode *getInduction() { return Induction; } in getInduction()
489 bool AddReductionVar(PHINode *Phi, ReductionKind Kind);
495 InductionKind isInductionVariable(PHINode *Phi);
526 PHINode *Induction;
804 PHINode *Phi = dyn_cast_or_null<PHINode>(Ptr); in isConsecutivePtr()
[all …]

1234567