Home
last modified time | relevance | path

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

12345678910>>...12

/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DPhiValues.cpp49 void PhiValues::processPhi(const PHINode *Phi, in processPhi()
50 SmallVectorImpl<const PHINode *> &Stack) { in processPhi()
60 if (PHINode *PhiPhiOp = dyn_cast<PHINode>(PhiOp)) { in processPhi()
88 const PHINode *ComponentPhi = Stack.pop_back_val(); in processPhi()
92 if (PHINode *PhiOp = dyn_cast<PHINode>(Op)) { in processPhi()
120 if (!isa<PHINode>(V)) in processPhi()
125 const PhiValues::ValueSet &PhiValues::getValuesForPhi(const PHINode *PN) { in getValuesForPhi()
128 SmallVector<const PHINode *, 8> Stack; in getValuesForPhi()
146 if (const PHINode *PN = dyn_cast<PHINode>(V)) in invalidateValue()
167 for (const PHINode &PN : BB.phis()) { in print()
[all …]
H A DIVDescriptors.cpp68 static Instruction *lookThroughAnd(PHINode *Phi, Type *&RT, in lookThroughAnd()
358 bool IsAPhi = isa<PHINode>(Cur); in AddReductionVar()
473 if (isa<PHINode>(UI)) { in AddReductionVar()
484 } else if (!isa<PHINode>(UI) && in AddReductionVar()
646 if (OrigPhi == dyn_cast<PHINode>(SI->getTrueValue())) in isAnyOfPattern()
738 if ((isa<PHINode>(*TrueVal) && isa<PHINode>(*FalseVal)) || in isConditionalRdxPattern()
739 (!isa<PHINode>(*TrueVal) && !isa<PHINode>(*FalseVal))) in isConditionalRdxPattern()
976 SmallPtrSet<PHINode *, 4> SeenPhis; in isFixedOrderRecurrence()
1015 if (isa<PHINode>(SinkCandidate)) in isFixedOrderRecurrence()
1158 if (isa<PHINode>(UI)) in getReductionOpChain()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSSAUpdater.cpp77 static bool IsEquivalentPHI(PHINode *PHI, in IsEquivalentPHI()
112 if (PHINode *SomePhi = dyn_cast<PHINode>(BB->begin())) { in GetValueInMiddleOfBlock()
149 if (isa<PHINode>(BB->begin())) { in GetValueInMiddleOfBlock()
159 PHINode *InsertedPHI = in GetValueInMiddleOfBlock()
192 if (PHINode *UserPN = dyn_cast<PHINode>(User)) in RewriteUse()
252 if (PHINode *UserPN = dyn_cast<PHINode>(User)) in RewriteUseAfterInsertions()
267 using PhiT = PHINode;
275 PHINode *PHI;
304 if (PHINode *SomePhi = dyn_cast<PHINode>(BB->begin())) in FindPredecessorBlocks()
320 PHINode *PHI = in CreateEmptyPHI()
[all …]
H A DLCSSA.cpp83 SmallSetVector<PHINode *, 16> LocalPHIsToRemove; in formLCSSAForInstructions()
121 if (auto *PN = dyn_cast<PHINode>(User)) in formLCSSAForInstructions()
144 SmallVector<PHINode *, 16> AddedPHIs; in formLCSSAForInstructions()
145 SmallVector<PHINode *, 8> PostProcessPHIs; in formLCSSAForInstructions()
147 SmallVector<PHINode *, 4> LocalInsertedPHIs; in formLCSSAForInstructions()
162 PHINode *PN = PHINode::Create(I->getType(), PredCache.size(ExitBB), in formLCSSAForInstructions()
221 if (auto *PN = dyn_cast<PHINode>(User)) in formLCSSAForInstructions()
279 for (PHINode *InsertedPN : LocalInsertedPHIs) { in formLCSSAForInstructions()
295 for (PHINode *PN : AddedPHIs) in formLCSSAForInstructions()
313 for (PHINode *PN : LocalPHIsToRemove) in formLCSSAForInstructions()
[all …]
H A DBreakCriticalEdges.cpp191 for (BasicBlock::iterator I = DestBB->begin(); isa<PHINode>(I); ++I) { in SplitKnownCriticalEdge()
195 PHINode *PN = cast<PHINode>(I); in SplitKnownCriticalEdge()
434 PHINode *DirPHI = cast<PHINode>(Direct); in SplitIndirectBrCriticalEdges()
435 PHINode *IndPHI = cast<PHINode>(Indirect); in SplitIndirectBrCriticalEdges()
446 PHINode *NewIndPHI = PHINode::Create(IndPHI->getType(), 1, "ind", IndPHI); in SplitIndirectBrCriticalEdges()
452 PHINode *MergePHI = PHINode::Create(IndPHI->getType(), 2, "merge"); in SplitIndirectBrCriticalEdges()
H A DLoopUnrollRuntime.cpp111 for (PHINode &PN : Succ->phis()) { in ConnectProlog()
119 PHINode *NewPN = PHINode::Create(PN.getType(), 2, PN.getName() + ".unr"); in ConnectProlog()
236 for (PHINode &PN : NewExit->phis()) { in ConnectEpilog()
252 PHINode *EpilogPN = cast<PHINode>(PN.use_begin()->getUser()); in ConnectEpilog()
287 for (PHINode &PN : Succ->phis()) { in ConnectEpilog()
290 PHINode *NewPN = PHINode::Create(PN.getType(), 2, PN.getName() + ".unr"); in ConnectEpilog()
299 PHINode *VPN = cast<PHINode>(VMap[&PN]); in ConnectEpilog()
391 PHINode *NewIdx = in CloneLoopBlocks()
428 PHINode *NewPHI = cast<PHINode>(VMap[&*I]); in CloneLoopBlocks()
845 for (PHINode &PN : BB->phis()) { in UnrollRuntimeLoopRemainder()
[all …]
H A DCanonicalizeFreezeInLoops.cpp97 PHINode *PHI;
101 FrozenIndPHIInfo(PHINode *PHI, BinaryOperator *StepInst) in FrozenIndPHIInfo()
109 return FrozenIndPHIInfo(DenseMapInfo<PHINode *>::getEmptyKey(), in getEmptyKey()
114 return FrozenIndPHIInfo(DenseMapInfo<PHINode *>::getTombstoneKey(), in getTombstoneKey()
196 SmallSet<PHINode *, 8> ProcessedPHIs; in run()
198 PHINode *PHI = Info.PHI; in run()
H A DBasicBlockUtils.cpp150 while (PHINode *PN = dyn_cast<PHINode>(BB->begin())) { in FoldSingleEntryPHINodes()
169 for (PHINode &PN : BB->phis()) in DeleteDeadPHIs()
174 if (PHINode *PN = dyn_cast_or_null<PHINode>(PHIs[i].operator Value*())) in DeleteDeadPHIs()
984 if (const PHINode *VP = dyn_cast<PHINode>(V)) in createPHIsForSplitLoopExit()
989 PHINode *NewPN = PHINode::Create(PN.getType(), Preds.size(), "split"); in createPHIsForSplitLoopExit()
1253 PHINode *PN = cast<PHINode>(I++); in UpdatePHINodes()
1291 PHINode *NewPHI = in UpdatePHINodes()
1512 PHINode *PN = PHINode::Create(LPad->getType(), 2, "lpad.phi", LPad); in SplitLandingPadPredecessorsImpl()
1573 if (PHINode *PN = dyn_cast<PHINode>(V)) { in FoldReturnIntoUncondBranch()
1792 PHINode *SomePHI = dyn_cast<PHINode>(BB->begin()); in GetIfCondition()
[all …]
H A DDemoteRegToStack.cpp58 if (PHINode *PN = dyn_cast<PHINode>(U)) { in DemoteRegToStack()
97 for (; isa<PHINode>(InsertPt) || InsertPt->isEHPad(); ++InsertPt) in DemoteRegToStack()
117 AllocaInst *llvm::DemotePHIToStack(PHINode *P, Instruction *AllocaPoint) { in DemotePHIToStack()
150 for (; isa<PHINode>(InsertPt) || InsertPt->isEHPad(); ++InsertPt) in DemotePHIToStack()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombinePHI.cpp248 PHINode *NewPtrPHI = PHINode::Create( in foldIntegerTypedPHI()
582 PHINode *NewPN = in foldPHIArgGEPIntoPHI()
728 PHINode *NewPN = PHINode::Create(FirstLI->getOperand(0)->getType(), in foldPHIArgLoadIntoPHI()
851 PHINode *NewPhi = PHINode::Create(NarrowType, NumIncomingValues, in foldPHIArgZextsIntoPHI()
990 if (PHINode *PU = dyn_cast<PHINode>(PN->user_back())) in isDeadPHICycle()
1012 if (PHINode *OpPN = dyn_cast<PHINode>(Op)) { in PHIsEqualValue()
1146 if (PHINode *UserPN = dyn_cast<PHINode>(UserI)) { in SliceUpIllegalIntegerPHI()
1200 PHINode *EltPHI; in SliceUpIllegalIntegerPHI()
1230 if (PHINode *InPHI = dyn_cast<PHINode>(PN)) { in SliceUpIllegalIntegerPHI()
1254 if (PHINode *OldInVal = dyn_cast<PHINode>(InVal)) in SliceUpIllegalIntegerPHI()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCBoolRetToInt.cpp99 if (auto *P = dyn_cast<PHINode>(V)) { in translate()
103 PHINode *Q = in translate()
118 typedef SmallPtrSet<const PHINode *, 8> PHINodeSet;
133 if (const auto *P = dyn_cast<PHINode>(&I)) in getPromotablePHINodes()
137 SmallVector<const PHINode *, 8> ToRemove; in getPromotablePHINodes()
138 for (const PHINode *P : Promotable) { in getPromotablePHINodes()
146 isa<PHINode>(V); in getPromotablePHINodes()
157 const auto *Phi = dyn_cast<PHINode>(V); in getPromotablePHINodes()
165 for (const PHINode *P : Promotable) { in getPromotablePHINodes()
231 if (!isa<PHINode>(V) && !isa<Constant>(V) && in runOnUse()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopInterchange.cpp696 PHINode *PHI = dyn_cast<PHINode>(SV); in followLCSSA()
712 if (PHINode *PHI = dyn_cast<PHINode>(User)) { in findInnerReductionPhi()
792 SmallVector<PHINode *, 8> Inductions; in currentLimitations()
867 PHINode *PN = dyn_cast<PHINode>(U); in areInnerLoopExitPHIsSupported()
1485 for (PHINode &P : InnerExit->phis()) in moveLCSSAPhis()
1489 for (PHINode &P : InnerLatch->phis()) in moveLCSSAPhis()
1497 for (PHINode *P : LcssaInnerExit) in moveLCSSAPhis()
1502 for (PHINode *P : LcssaInnerLatch) in moveLCSSAPhis()
1519 PHINode *NewPhi = dyn_cast<PHINode>(P.clone()); in moveLCSSAPhis()
1667 for (PHINode *PHI : OuterLoopPHIs) { in adjustLoopBranches()
[all …]
H A DDFAJumpThreading.cpp117 PHINode *SIUse;
123 PHINode *getUse() { return SIUse; } in getUse()
292 for (auto II = EndBlock->begin(); PHINode *Phi = dyn_cast<PHINode>(II); in unfold()
411 if (!isa<PHINode>(SICond)) in isCandidate()
475 PHINode *PHIUser = dyn_cast<PHINode>(SIUse); in isValidSelectInst()
525 const PHINode *Phi = dyn_cast<PHINode>(StateDef[BB]); in run()
957 if (PHINode *UserPN = dyn_cast<PHINode>(User)) { in updateSSA()
1012 if (isa<PHINode>(&I)) in cloneBlockAndUpdatePredecessor()
1071 for (auto II = Succ->begin(); PHINode *Phi = dyn_cast<PHINode>(II); in updateSuccessorPhis()
1179 for (auto II = BB->begin(); PHINode *Phi = dyn_cast<PHINode>(II); ++II) { in cleanPhiNodes()
[all …]
H A DIndVarSimplify.cpp353 PHINode *NewPHI = PHINode::Create(Int32Ty, 2, PN->getName()+".int", PN); in handleFloatingPointIV()
403 for (PHINode &PN : Header->phis()) in rewriteNonIntegerIVs()
408 if (PHINode *PN = dyn_cast_or_null<PHINode>(&*PHI)) in rewriteNonIntegerIVs()
562 PHINode *IVPhi;
670 PHINode *Phi = dyn_cast<PHINode>(IncI->getOperand(0)); in getLoopPhiForCounter()
733 PHINode *Phi = dyn_cast<PHINode>(LHS); in needsLFTR()
832 PHINode *BestPhi = nullptr; in FindLoopCounter()
839 PHINode *Phi = cast<PHINode>(I); in FindLoopCounter()
1095 if (isa<PHINode>(I)) in sinkUnusedInvariants()
1128 if (PHINode *P = dyn_cast<PHINode>(User)) { in sinkUnusedInvariants()
[all …]
H A DLoopFlatten.cpp114 PHINode *OuterInductionPHI = nullptr; // induction variables, which are
134 SmallPtrSet<PHINode *, 4> InnerPHIsToTransform;
146 bool isNarrowInductionPhi(PHINode *Phi) { in isNarrowInductionPhi()
476 SmallPtrSet<PHINode *, 4> SafeOuterPHIs; in checkPHIs()
481 for (PHINode &InnerPHI : FI.InnerLoop->getHeader()->phis()) { in checkPHIs()
500 PHINode *OuterPHI = dyn_cast<PHINode>(PreHeaderValue); in checkPHIs()
510 PHINode *LCSSAPHI = dyn_cast<PHINode>( in checkPHIs()
532 for (PHINode &OuterPHI : FI.OuterLoop->getHeader()->phis()) { in checkPHIs()
560 if (!isa<PHINode>(&I) && !I.isTerminator() && in checkOuterLoopInsts()
767 for (PHINode *PHI : FI.InnerPHIsToTransform) in DoFlattenLoopPair()
[all …]
H A DLoopBoundSplit.cpp73 if (Cond.AddRecSCEV && isa<PHINode>(Cond.AddRecValue)) { in analyzeICmp()
74 PHINode *PN = cast<PHINode>(Cond.AddRecValue); in analyzeICmp()
365 for (PHINode &PN : L.getHeader()->phis()) { in splitLoopBound()
367 PHINode *LCSSAPhi = in splitLoopBound()
377 PHINode *PostLoopPN = cast<PHINode>(VMap[&PN]); in splitLoopBound()
434 for (PHINode &PN : PostLoop->getExitBlock()->phis()) { in splitLoopBound()
441 PHINode *LCSSAPhi = in splitLoopBound()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/
H A DProvenanceAnalysis.cpp54 bool ProvenanceAnalysis::relatedPHI(const PHINode *A, in relatedPHI()
59 if (const PHINode *PNB = dyn_cast<PHINode>(B)) in relatedPHI()
146 if (const PHINode *PN = dyn_cast<PHINode>(A)) in relatedCheck()
148 if (const PHINode *PN = dyn_cast<PHINode>(B)) in relatedCheck()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h254 using ReductionList = MapVector<PHINode *, RecurrenceDescriptor>;
258 using InductionList = MapVector<PHINode *, InductionDescriptor>;
262 using RecurrenceSet = SmallPtrSet<const PHINode *, 8>;
284 PHINode *getPrimaryInduction() { return PrimaryInduction; } in getPrimaryInduction()
311 const InductionDescriptor *getIntOrFpInductionDescriptor(PHINode *Phi) const;
315 const InductionDescriptor *getPointerInductionDescriptor(PHINode *Phi) const;
328 bool isReductionVariable(PHINode *PN) const { return Reductions.count(PN); } in isReductionVariable()
331 bool isFixedOrderRecurrence(const PHINode *Phi) const;
460 void addInductionPhi(PHINode *Phi, const InductionDescriptor &ID,
497 PHINode *PrimaryInduction = nullptr;
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DPhiValues.h32 class PHINode; variable
51 const ValueSet &getValuesForPhi(const PHINode *PN);
79 DenseMap<const PHINode *, unsigned int> DepthMap;
108 void processPhi(const PHINode *PN, SmallVectorImpl<const PHINode *> &Stack);
H A DIVDescriptors.h126 static InstDesc isRecurrenceInstr(Loop *L, PHINode *Phi, Instruction *I,
152 static InstDesc isAnyOfPattern(Loop *Loop, PHINode *OrigPhi, Instruction *I,
170 AddReductionVar(PHINode *Phi, RecurKind Kind, Loop *TheLoop,
181 isReductionPHI(PHINode *Phi, Loop *TheLoop, RecurrenceDescriptor &RedDes,
194 static bool isFixedOrderRecurrence(PHINode *Phi, Loop *TheLoop,
264 SmallVector<Instruction *, 4> getReductionOpChain(PHINode *Phi,
336 isInductionPHI(PHINode *Phi, const Loop *L, ScalarEvolution *SE,
343 static bool isFPInductionPHI(PHINode *Phi, const Loop *L, ScalarEvolution *SE,
352 static bool isInductionPHI(PHINode *Phi, const Loop *L,
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DSimplifyIndVar.h27 class PHINode; variable
50 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, DominatorTree *DT,
65 PHINode *NarrowIV = nullptr;
76 PHINode *createWideIV(const WideIVInfo &WI,
H A DLocal.h46 class PHINode; variable
128 bool RecursivelyDeleteDeadPHINode(PHINode *PN,
175 SmallPtrSetImpl<PHINode *> &ToRemove);
214 AllocaInst *DemotePHIToStack(PHINode *P, Instruction *AllocaPoint = nullptr);
278 PHINode *LI, DIBuilder &Builder);
279 void ConvertDebugDeclareToDebugValue(DPValue *DPV, PHINode *LI,
288 SmallVectorImpl<PHINode *> &InsertedPHIs);
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86LowerAMXType.cpp203 } else if (isa<PHINode>(V)) { in getShape()
510 if (isa<PHINode>(V)) in isIncomingOfPHI()
528 void volatileTilePHI(PHINode *PHI);
542 if (isa<PHINode>(V) || V == Store) in updatePhiIncomings()
678 if (isa<PHINode>(&I)) in volatileTileData()
760 IntrinsicInst *CI, PHINode *PN, in optimizeAMXCastFromPhi()
767 SmallVector<PHINode *, 4> PhiWorklist; in optimizeAMXCastFromPhi()
862 SmallDenseMap<PHINode *, PHINode *> NewPNodes; in optimizeAMXCastFromPhi()
871 PHINode *NewPN = NewPNodes[OldPN]; in optimizeAMXCastFromPhi()
895 PHINode *NewPN = NewPNodes[OldPN]; in optimizeAMXCastFromPhi()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DDominators.cpp124 if (auto *PN = dyn_cast<PHINode>(UserInst)) in dominates()
163 if (isa<InvokeInst>(Def) || isa<CallBrInst>(Def) || isa<PHINode>(User)) in dominates()
253 PHINode *PN = dyn_cast<PHINode>(UserInst); in dominates()
283 if (PHINode *PN = dyn_cast<PHINode>(UserInst)) in dominates()
315 if (isa<PHINode>(UserInst)) in dominates()
329 if (PHINode *PN = dyn_cast<PHINode>(I)) in isReachableFromEntry()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIAnnotateControlFlow.cpp73 bool isElse(PHINode *Phi);
77 bool eraseIfUnused(PHINode *Phi);
84 handleLoopCondition(Value *Cond, PHINode *Broken, llvm::Loop *L,
171 bool SIAnnotateControlFlow::isElse(PHINode *Phi) { in isElse()
198 bool SIAnnotateControlFlow::eraseIfUnused(PHINode *Phi) { in eraseIfUnused()
236 Value *Cond, PHINode *Broken, llvm::Loop *L, BranchInst *Term) { in handleLoopCondition()
281 PHINode *Broken = PHINode::Create(IntMask, 0, "phi.broken"); in handleLoop()
380 PHINode *Phi = dyn_cast<PHINode>(Term->getCondition()); in runOnFunction()

12345678910>>...12