Lines Matching refs:PHINode
153 using SwitchCaseResultsTy = SmallVector<std::pair<PHINode *, Constant *>, 4>;
237 for (BasicBlock::iterator BBI = Succ->begin(); isa<PHINode>(BBI); ++BBI) { in SafeToMergeTerminators()
238 PHINode *PN = cast<PHINode>(BBI); in SafeToMergeTerminators()
256 SmallVectorImpl<PHINode *> &PhiNodes) { in isProfitableToFoldUnconditional()
280 for (BasicBlock::iterator BBI = Succ->begin(); isa<PHINode>(BBI); ++BBI) { in isProfitableToFoldUnconditional()
281 PHINode *PN = cast<PHINode>(BBI); in isProfitableToFoldUnconditional()
296 for (PHINode &PN : Succ->phis()) in AddPredecessorToBlock()
1230 for (const PHINode &PN : Succ->phis()) { in isSafeToHoistInvoke()
1269 if (isa<PHINode>(I1) || !I1->isIdenticalToWhenDefined(I2) || in HoistThenElseCodeToIf()
1357 for (PHINode &PN : Succ->phis()) { in HoistThenElseCodeToIf()
1398 for (PHINode &PN : Succ->phis()) { in HoistThenElseCodeToIf()
1440 if (isa<PHINode>(I) || I->isEHPad() || isa<AllocaInst>(I) || in canSinkInstructions()
1467 auto *PNUse = dyn_cast<PHINode>(*I0->user_begin()); in canSinkInstructions()
1545 auto *PNUse = dyn_cast<PHINode>(*I0->user_begin()); in sinkLastInstruction()
1574 auto *PN = PHINode::Create(Op->getType(), Insts.size(), in sinkLastInstruction()
1607 auto *PN = cast<PHINode>(*I0->user_begin()); in sinkLastInstruction()
2025 for (PHINode &PN : EndBB->phis()) { in SpeculativelyExecuteBB()
2097 for (PHINode &PN : EndBB->phis()) { in SpeculativelyExecuteBB()
2142 if (UI->getParent() != BB || isa<PHINode>(UI)) in BlockIsSimpleEnoughToThreadThrough()
2158 PHINode *PN = dyn_cast<PHINode>(BI->getCondition()); in FoldCondBranchOnPHI()
2217 if (PHINode *PN = dyn_cast<PHINode>(BBI)) { in FoldCondBranchOnPHI()
2273 static bool FoldTwoEntryPHINode(PHINode *PN, const TargetTransformInfo &TTI, in FoldTwoEntryPHINode()
2299 for (BasicBlock::iterator I = BB->begin(); isa<PHINode>(I); ++NumPhis, ++I) in FoldTwoEntryPHINode()
2312 for (BasicBlock::iterator II = BB->begin(); isa<PHINode>(II);) { in FoldTwoEntryPHINode()
2313 PHINode *PN = cast<PHINode>(II++); in FoldTwoEntryPHINode()
2329 PN = dyn_cast<PHINode>(BB->begin()); in FoldTwoEntryPHINode()
2390 while (PHINode *PN = dyn_cast<PHINode>(BB->begin())) { in FoldTwoEntryPHINode()
2448 if (PHINode *TVPN = dyn_cast_or_null<PHINode>(TrueValue)) in SimplifyCondBranchToTwoReturns()
2451 if (PHINode *FVPN = dyn_cast_or_null<PHINode>(FalseValue)) in SimplifyCondBranchToTwoReturns()
2643 SmallVector<PHINode *, 4> PHIs; in FoldBranchToCommonDest()
2875 PHINode *PHI = nullptr; in ensureValueAvailableInSuccessor()
2878 for (auto I = Succ->begin(); isa<PHINode>(I); ++I) in ensureValueAvailableInSuccessor()
2879 if (cast<PHINode>(I)->getIncomingValueForBlock(BB) == V) { in ensureValueAvailableInSuccessor()
2880 PHI = cast<PHINode>(I); in ensureValueAvailableInSuccessor()
2899 PHI = PHINode::Create(V->getType(), 2, "simplifycfg.merge", &Succ->front()); in ensureValueAvailableInSuccessor()
3200 PHINode *NewPN = PHINode::Create( in SimplifyCondBranchToCondBranch()
3276 for (BasicBlock::iterator II = CommonDest->begin(); isa<PHINode>(II); in SimplifyCondBranchToCondBranch()
3281 PHINode *PN = cast<PHINode>(II); in SimplifyCondBranchToCondBranch()
3370 for (PHINode &PN : CommonDest->phis()) { in SimplifyCondBranchToCondBranch()
3551 if (isa<PHINode>(BB->begin()) || !ICI->hasOneUse()) in tryToSimplifyUncondBranchWithICmpInIt()
3603 PHINode *PHIUse = dyn_cast<PHINode>(ICI->user_back()); in tryToSimplifyUncondBranchWithICmpInIt()
3605 isa<PHINode>(++BasicBlock::iterator(PHIUse))) in tryToSimplifyUncondBranchWithICmpInIt()
3747 for (BasicBlock::iterator BBI = EdgeBB->begin(); isa<PHINode>(BBI); ++BBI) { in SimplifyBranchOnICmpChain()
3748 PHINode *PN = cast<PHINode>(BBI); in SimplifyBranchOnICmpChain()
3762 if (isa<PHINode>(RI->getValue())) in SimplifyResume()
3785 auto *PhiLPInst = cast<PHINode>(RI->getValue()); in SimplifyCommonResume()
3932 PHINode *DestPN = cast<PHINode>(I); in removeEmptyCleanup()
3949 PHINode *SrcPN = dyn_cast<PHINode>(SrcVal); in removeEmptyCleanup()
3980 PHINode *PN = cast<PHINode>(I++); in removeEmptyCleanup()
4368 for (auto BBI = ContiguousDest->begin(); isa<PHINode>(BBI); ++BBI) { in TurnSwitchRangeIntoICmp()
4373 cast<PHINode>(BBI)->removeIncomingValue(SI->getParent()); in TurnSwitchRangeIntoICmp()
4375 for (auto BBI = OtherDest->begin(); isa<PHINode>(BBI); ++BBI) { in TurnSwitchRangeIntoICmp()
4380 cast<PHINode>(BBI)->removeIncomingValue(SI->getParent()); in TurnSwitchRangeIntoICmp()
4472 static PHINode *FindPHIForConditionForwarding(ConstantInt *CaseValue, in FindPHIForConditionForwarding()
4485 for (PHINode &PHI : Succ->phis()) { in FindPHIForConditionForwarding()
4504 using ForwardingNodesMap = DenseMap<PHINode *, SmallVector<int, 4>>; in ForwardSwitchConditionToPHI()
4524 for (PHINode &Phi : CaseDest->phis()) { in ForwardSwitchConditionToPHI()
4545 PHINode *Phi = ForwardingNode.first; in ForwardSwitchConditionToPHI()
4635 SmallVectorImpl<std::pair<PHINode *, Constant *>> &Res, in GetCaseResults() argument
4662 if (PHINode *Phi = dyn_cast<PHINode>(User)) in GetCaseResults()
4682 for (PHINode &PHI : (*CommonDest)->phis()) { in GetCaseResults()
4723 InitializeUniqueCases(SwitchInst *SI, PHINode *&PHI, BasicBlock *&CommonDest, in InitializeUniqueCases()
4760 SmallVector<std::pair<PHINode *, Constant *>, 1> DefaultResults; in InitializeUniqueCases()
4817 static void RemoveSwitchAfterSelectConversion(SwitchInst *SI, PHINode *PHI, in RemoveSwitchAfterSelectConversion()
4845 PHINode *PHI = nullptr; in switchToSelect()
5120 const SmallDenseMap<PHINode *, Type *> &ResultTypes) { in ShouldBuildLookupTable() argument
5278 SmallDenseMap<PHINode *, ResultListTy> ResultLists; in SwitchToLookupTable()
5280 SmallDenseMap<PHINode *, Constant *> DefaultResults; in SwitchToLookupTable()
5281 SmallDenseMap<PHINode *, Type *> ResultTypes; in SwitchToLookupTable()
5282 SmallVector<PHINode *, 4> PHIs; in SwitchToLookupTable()
5292 using ResultsTy = SmallVector<std::pair<PHINode *, Constant *>, 4>; in SwitchToLookupTable()
5300 PHINode *PHI = I.first; in SwitchToLookupTable()
5309 for (PHINode *PHI : PHIs) { in SwitchToLookupTable()
5320 SmallVector<std::pair<PHINode *, Constant *>, 4> DefaultResultsList; in SwitchToLookupTable()
5335 PHINode *PHI = I.first; in SwitchToLookupTable()
5432 for (PHINode *PHI : PHIs) { in SwitchToLookupTable()
5704 if (isa<PHINode>(*Succ->begin())) in TryToMergeLandingPad()
5895 if (PHINode *PN = dyn_cast<PHINode>(BI->getCondition())) in SimplifyCondBranch()
5973 for (PHINode &PHI : BB->phis()) in removeUndefIntroducingPredecessor()
6034 if (auto *PN = dyn_cast<PHINode>(BB->begin())) in simplifyOnce()