Home
last modified time | relevance | path

Searched refs:dominates (Results 1 – 25 of 164) sorted by relevance

1234567

/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DDominators.cpp135 bool DominatorTree::dominates(const BasicBlock *BB, const Use &U) const { in dominates() function in DominatorTree
140 return dominates(BB, PN->getIncomingBlock(U)); in dominates()
148 bool DominatorTree::dominates(const Value *DefV, in dominates() function in DominatorTree
177 return dominates(Def, UseBB); in dominates()
180 return dominates(DefBB, UseBB); in dominates()
187 bool DominatorTree::dominates(const Instruction *Def, in dominates() function in DominatorTree
207 return dominates(E, UseBB); in dominates()
210 return dominates(DefBB, UseBB); in dominates()
213 bool DominatorTree::dominates(const BasicBlockEdge &BBE, in dominates() function in DominatorTree
219 if (!dominates(End, UseBB)) in dominates()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DCodeMoverUtils.cpp113 assert(DT.dominates(&Dominator, &BB) && "Expecting Dominator to dominate BB"); in collectControlConditions()
128 assert(DT.dominates(&Dominator, IDom) && in collectControlConditions()
137 if (PDT.dominates(CurBlock, IDom)) { in collectControlConditions()
141 } else if (PDT.dominates(CurBlock, BI->getSuccessor(0))) { in collectControlConditions()
147 } else if (PDT.dominates(CurBlock, BI->getSuccessor(1))) { in collectControlConditions()
243 if ((DT.dominates(&BB0, &BB1) && PDT.dominates(&BB1, &BB0)) || in isControlFlowEquivalent()
244 (PDT.dominates(&BB0, &BB1) && DT.dominates(&BB1, &BB0))) in isControlFlowEquivalent()
345 if (UserInst != &InsertPoint && !DT.dominates(&InsertPoint, U)) { in isSafeToMoveBefore()
350 DT.dominates(&I, UserInst)) in isSafeToMoveBefore()
363 DT.dominates(OpInst, &I)) in isSafeToMoveBefore()
[all …]
H A DScalarEvolutionExpander.cpp145 SE.DT.dominates(cast<Instruction>(Ret), &*BIP)); in ReuseOrCreateCast()
360 SE.DT.dominates(cast<Instruction>(V), &*Builder.GetInsertPoint())); in expandAddToGEP()
418 if (DT.dominates(A->getHeader(), B->getHeader())) return B; in PickMostRelevantLoop()
419 if (DT.dominates(B->getHeader(), A->getHeader())) return A; in PickMostRelevantLoop()
709 if (!SE.DT.dominates(OInst, IVIncInsertPos)) in isNormalAddRecExprPHI()
748 if (!OInst || SE.DT.dominates(OInst, InsertPos)) in getIVIncOperand()
759 if (!SE.DT.dominates(OInst, InsertPos)) in getIVIncOperand()
812 if (SE.DT.dominates(IncV, InsertPos)) { in hoistIVInc()
821 !SE.DT.dominates(InsertPos->getParent(), IncV->getParent())) in hoistIVInc()
836 if (SE.DT.dominates(IncV, InsertPos)) in hoistIVInc()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DDominators.h180 using Base::dominates;
183 LLVM_ABI bool dominates(const BasicBlock *BB, const Use &U) const;
194 LLVM_ABI bool dominates(const Value *Def, const Use &U) const;
198 LLVM_ABI bool dominates(const Value *Def, const Instruction *User) const;
199 bool dominates(const Value *Def, BasicBlock::iterator User) const {
200 return dominates(Def, &*User);
208 LLVM_ABI bool dominates(const Instruction *Def, const BasicBlock *BB) const;
214 LLVM_ABI bool dominates(const BasicBlockEdge &BBE, const Use &U) const;
215 LLVM_ABI bool dominates(const BasicBlockEdge &BBE,
218 LLVM_ABI bool dominates(const BasicBlockEdge &BBE1,
H A DGenericConvergenceVerifierImpl.h144 Check(DT.dominates(Token->getParent(), User->getParent()), in verify()
215 if (!DT.dominates(DT.getNode(LiveToken->getParent()), SuccNode)) in verify()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPURewriteUndefForPHI.cpp125 if (!DT->dominates(&BB, IncomingBB)) in INITIALIZE_PASS_DEPENDENCY()
135 if (DT->dominates(IncomingBB, DominateBB)) in INITIALIZE_PASS_DEPENDENCY()
154 if (DT->dominates(DominateBB, &BB) && all_of(Undefs, [&](BasicBlock *UD) { in INITIALIZE_PASS_DEPENDENCY()
155 return DT->dominates(DominateBB, UD); in INITIALIZE_PASS_DEPENDENCY()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARC/
H A DARCOptAddrMode.cpp164 if (!MDT->dominates(InstBB, MBB)) in dominatesAllUsesOf()
171 if (!MDT->dominates(MI, User)) in dominatesAllUsesOf()
247 if (MDT->dominates(Last, First)) std::swap(First, Last); in tryToCombine()
281 if (MDT->dominates(Ldst, Add)) in canJoinInstructions()
283 else if (!MDT->dominates(Add, Ldst)) in canJoinInstructions()
318 if (&MI != Add && MDT->dominates(Ldst, &MI)) in canJoinInstructions()
320 else if (!MDT->dominates(&MI, Ldst)) in canJoinInstructions()
322 if (MDT->dominates(Add, &MI)) in canJoinInstructions()
420 if (!OpDef || !MDT->dominates(OpDef, To)) in canHoistLoadStoreTo()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Coroutines/
H A DSpillUtils.cpp168 !DT.dominates(CoroShape.CoroBegin, PI.getEscapingInst())) { in visit()
384 if (!DT.dominates(CoroShape.CoroBegin, &I)) in handleMayWrite()
390 if (DT.dominates(CoroShape.CoroBegin, U)) in usedAfterCoroBegin()
399 if (DT.dominates(CoroShape.CoroBegin, &I) || !usedAfterCoroBegin(I)) in handleAlias()
549 Dom.dominates(CoroBegin, Inst)) in sinkSpillUsesAfterCoroBegin()
565 if (Dom.dominates(CoroBegin, Inst)) in sinkSpillUsesAfterCoroBegin()
576 return Dom.dominates(A, B); in sinkSpillUsesAfterCoroBegin()
601 if (!DT.dominates(Shape.CoroBegin, I)) { in getSpillInsertionPt()
/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVStructurizer.cpp326 assert(DT.dominates(Header, Merge)); in getLoopConstructBlocks()
331 if (DT.dominates(Merge, BB) || !DT.dominates(Header, BB)) in getLoopConstructBlocks()
342 assert(DT.dominates(Node->Header, Node->Merge)); in getSelectionConstructBlocks()
357 if (DT.dominates(Node->Merge, BB) || !DT.dominates(Node->Header, BB)) in getSelectionConstructBlocks()
368 assert(DT.dominates(Header, Merge)); in getSwitchConstructBlocks()
373 if (!DT.dominates(Header, BB)) in getSwitchConstructBlocks()
377 if (DT.dominates(Merge, BB) || BB == Merge) in getSwitchConstructBlocks()
388 assert(DT.dominates(Target, Merge)); in getCaseConstructBlocks()
394 if (!DT.dominates(Target, BB)) in getCaseConstructBlocks()
398 if (DT.dominates(Merge, BB) || BB == Merge) in getCaseConstructBlocks()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachineDominators.h83 using Base::dominates;
87 bool dominates(const MachineInstr *A, const MachineInstr *B) const { in dominates() function
90 return Base::dominates(BBA, BBB); in dominates()
H A DLexicalScopes.h100 if (Parent && (!NewScope || !Parent->dominates(NewScope)))
105 bool dominates(const LexicalScope *S) const { in dominates() function
170 LLVM_ABI bool dominates(const DILocation *DL, MachineBasicBlock *MBB);
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DHotColdSplitting.cpp519 bool SinkPostDom = PDT.dominates(&SinkBB, &PredBB); in create()
571 bool SinkDom = DT.dominates(&SinkBB, &SuccBB); in create()
620 BB == SuggestedEntryPoint || DT.dominates(SuggestedEntryPoint, BB); in takeSingleEntrySubRegion()
749 if ((DT->dominates(BB, Block) && PDT->dominates(Block, BB)) || in outlineColdRegions()
750 (PDT->dominates(BB, Block) && DT->dominates(Block, BB))) in outlineColdRegions()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86FastPreTileConfig.cpp101 static bool dominates(MachineBasicBlock &MBB, in dominates() function
152 if (dominates(*MBB, *CfgMI, UseInst)) { in mayLiveOut()
565 if (LastShapeMI && dominates(MBB, MI, LastShapeMI)) in configBasicBlock()
610 if (LastShapeMI && dominates(MBB, MI, LastShapeMI)) in configBasicBlock()
621 else if (dominates(MBB, LastShapeMI, RowMI)) in configBasicBlock()
627 else if (dominates(MBB, LastShapeMI, ColMI)) in configBasicBlock()
638 else if (dominates(MBB, LastShapeMI, ColxMI)) in configBasicBlock()
651 if (!LastTileCfg || !dominates(MBB, LastTileCfg, UseMI)) in configBasicBlock()
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyExceptionInfo.cpp61 assert(MDT.dominates(Header, Dst)); in isReachableAmongDominated()
72 if (!Visited.count(Succ) && MDT.dominates(Header, Succ)) in isReachableAmongDominated()
308 if (MDT.dominates(EHPad, Frontier)) in discoverAndMapException()
320 if (MDT.dominates(EHPad, Succ)) in discoverAndMapException()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DPostDominators.h40 using Base::dominates;
44 LLVM_ABI bool dominates(const Instruction *I1, const Instruction *I2) const;
H A DRegionInfoImpl.h114 return (DT->dominates(entry, BB) && in contains()
115 !(DT->dominates(exit, BB) && DT->dominates(entry, exit))); in contains()
543 if (DT->dominates(entry, P) && !DT->dominates(exit, P)) in isCommonDomFrontier()
560 if (!DT->dominates(entry, exit)) { in isRegion()
682 if (!DT->dominates(entry, exit)) in findRegionsWithEntry()
830 if (DT->dominates(Exit, BB)) in getMaxRegionExit()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DPostDominators.cpp52 bool PostDominatorTree::dominates(const Instruction *I1, in dominates() function in PostDominatorTree
60 return Base::dominates(BB1, BB2); in dominates()
H A DPHITransAddr.cpp194 (!DT || DT->dominates(CastI->getParent(), PredBB))) in translateSubExpr()
236 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in translateSubExpr()
288 (!DT || DT->dominates(BO->getParent(), PredBB))) in translateSubExpr()
316 if (!DT->dominates(Inst->getParent(), PredBB)) in translateValue()
H A DMemorySSA.cpp401 assert(MSSA.dominates(ClobberAt, Start) && "Clobber doesn't dominate start?"); in checkClobberSanity()
670 if (!MSSA.dominates(Res.Result, StopWhere)) in getBlockingAccess()
786 if (!MSSA.dominates(I->Clobber, Dom->Clobber)) in tryOptimizePhi()
802 return MSSA.dominates(P.Clobber, Target); in tryOptimizePhi()
884 if (DT.dominates(ChainBB, TP.Clobber->getBlock())) in tryOptimizePhi()
915 return MSSA.dominates(P.Clobber, R.PrimaryClobber.Clobber); in verifyOptResult()
1371 if (DT->dominates(BackBlock, BB)) in optimizeUsesInBlock()
1409 !DT->dominates(LocInfo.LowerBoundBlock, BB)) { in optimizeUsesInBlock()
2038 assert(dominates(Phi, U) && "Memory PHI does not dominate it's uses"); in verifyOrderingDominationAndDefUses()
2067 assert(dominates(MD, U) && in verifyOrderingDominationAndDefUses()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DGuardWidening.cpp444 assert(DT.dominates(BestSoFar, Instr) && "Should be!"); in eliminateInstrViaWidening()
535 assert(DT.dominates(DominatingBlock, DominatedBlock) && "No dominance"); in computeWideningScore()
552 if (!DT.dominates(DominatingBlock, DominatedBlock)) in computeWideningScore()
557 return !PDT->dominates(DominatedBlock, DominatingBlock); in computeWideningScore()
567 if (!Inst || DT.dominates(Inst, Loc) || Visited.count(Inst)) in canBeHoistedTo()
588 if (!Inst || DT.dominates(Inst, Loc)) in makeAvailableAt()
611 if (!Res || !DT.dominates(I, &**Res)) in getFreezeInsertPt()
620 return ResInst != User && DT.dominates(I, User) && in getFreezeInsertPt()
621 !DT.dominates(ResInst, User); in getFreezeInsertPt()
H A DGVNHoist.cpp641 assert(DT->dominates(NewBB, OldBB) && "invalid path"); in hasEHOrLoadsOnPath()
642 assert(DT->dominates(Def->getDefiningAccess()->getBlock(), NewBB) && in hasEHOrLoadsOnPath()
676 assert(DT->dominates(HoistPt, SrcBB) && "Invalid path"); in hasEHOnPath()
880 if (!DT->dominates(Inst->getParent(), HoistPt)) in allOperandsAvailable()
890 if (!DT->dominates(Inst->getParent(), HoistPt)) { in allGepOperandsAvailable()
914 if (DT->dominates(Op->getParent(), HoistPt)) in makeGepsAvailable()
1047 } else if (!DT->dominates(Val->getParent(), HoistPt)) in makeGepOperandsAvailable()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DShrinkWrap.cpp609 !MDT->dominates(InitSave, InitRestore) || in postShrinkWrapping()
610 !MPDT->dominates(InitRestore, InitSave)) in postShrinkWrapping()
679 assert((MDT->dominates(Save, Restore) && MPDT->dominates(Restore, Save)) && in postShrinkWrapping()
743 (!(SaveDominatesRestore = MDT->dominates(Save, Restore)) || in updateSaveRestorePoints()
744 !(RestorePostDominatesSave = MPDT->dominates(Restore, Save)) || in updateSaveRestorePoints()
H A DCallBrPrepare.cpp179 << ", is " << (DT.dominates(BB, U) ? "" : "NOT ") in PrintDebugDomInfo()
215 if (DT.dominates(DefaultDest, *U)) in UpdateSSA()
H A DMachineSink.cpp690 if (!DT->dominates(MBB, UseBlock)) in AllUsesDominatedByBlock()
1159 if (Pred != FromBB && !DT->dominates(ToBB, Pred)) in isLegalToBreakCriticalEdge()
1272 if (!PDT->dominates(SuccToSinkTo, MBB)) in isProfitableToSinkTo()
1654 if (!DT->dominates(From, To) || !PDT->dominates(To, From)) in hasStoreBetween()
1688 if (PDT->dominates(To, BB)) { in hasStoreBetween()
1697 if (DomBB != BB && DT->dominates(DomBB, BB)) in hasStoreBetween()
1699 else if (DomBB != BB && DT->dominates(BB, DomBB)) in hasStoreBetween()
1711 if (DomBB != BB && DT->dominates(DomBB, BB)) in hasStoreBetween()
1713 else if (DomBB != BB && DT->dominates(BB, DomBB)) in hasStoreBetween()
1900 if (!TryBreak && !DT->dominates(ParentBlock, SuccToSinkTo)) { in SinkInstruction()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/
H A DGenericDomTree.h449 return dominates(A, B);
467 bool dominates(const DomTreeNodeBase<NodeT> *A,
510 bool dominates(const NodeT *A, const NodeT *B) const;
950 if (Pred != NewBB && !dominates(NewBBSucc, Pred) &&
1028 bool DominatorTreeBase<NodeT, IsPostDom>::dominates(const NodeT *A,
1033 return dominates(getNode(A), getNode(B));
1041 return dominates(getNode(A), getNode(B));

1234567