|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
include/llvm/Support/GenericDomTree.h 436 bool dominates(const NodeT *A, const NodeT *B) const;
References
include/llvm/Analysis/LoopInfoImpl.h 549 if (DomTree.dominates(Header, Backedge) &&
include/llvm/Analysis/RegionInfoImpl.h 116 return (DT->dominates(entry, BB) &&
117 !(DT->dominates(exit, BB) && DT->dominates(entry, exit)));
117 !(DT->dominates(exit, BB) && DT->dominates(entry, exit)));
570 if (DT->dominates(entry, P) && !DT->dominates(exit, P))
570 if (DT->dominates(entry, P) && !DT->dominates(exit, P))
587 if (!DT->dominates(entry, exit)) {
715 if (!DT->dominates(entry, exit))
866 if (DT->dominates(Exit, BB))
include/llvm/CodeGen/MachineDominators.h 127 return DT->dominates(A, B);
135 if (BBA != BBB) return DT->dominates(BBA, BBB);
include/llvm/CodeGen/MachinePostDominators.h 58 return PDT->dominates(A, B);
include/llvm/Support/GenericDomTree.h 788 if (Pred != NewBB && !dominates(NewBBSucc, Pred) &&
lib/Analysis/CFG.cpp 169 if (DT && DT->dominates(BB, StopBB))
lib/Analysis/DivergenceAnalysis.cpp 216 if (!DT.dominates(&LoopHeader, UserBlock)) {
lib/Analysis/IVUsers.cpp 140 if (DT->dominates(LatchBlock, User->getParent()))
156 !DT->dominates(LatchBlock, PN->getIncomingBlock(i)))
lib/Analysis/LazyValueInfo.cpp 2024 if (DT.dominates(ParentBB, BBSucc))
2030 if (!isa<PHINode>(UseI) || DT.dominates(ParentBB, UseI->getParent()))
lib/Analysis/LoopAccessAnalysis.cpp 2084 return !DT->dominates(BB, Latch);
lib/Analysis/MemorySSA.cpp 884 if (DT.dominates(ChainBB, TP.Clobber->getBlock()))
1341 if (DT->dominates(BackBlock, BB))
1381 !DT->dominates(LocInfo.LowerBoundBlock, BB)) {
1793 return DT->dominates(Replacer->getBlock(), Replacee->getBlock());
1800 !DT->dominates(Replacer->getBlock(), MP->getIncomingBlock(Arg)))
2148 return DT->dominates(Dominator->getBlock(), Dominatee->getBlock());
2158 return DT->dominates(Dominator->getBlock(), UseBB);
lib/Analysis/MemorySSAUpdater.cpp 1039 assert(DT.dominates(NewIDom, PrevIDom) &&
1102 if (!DT.dominates(DominatingBlock, DominatedBlock))
1106 if (!DT.dominates(DominatingBlock, DominatedBlock)) {
lib/Analysis/MustExecute.cpp 215 if (DT->dominates(BB, Pred))
lib/Analysis/OrderedInstructions.cpp 37 return DT->dominates(InstA->getParent(), InstB->getParent());
lib/Analysis/PHITransAddr.cpp 207 (!DT || DT->dominates(CastI->getParent(), PredBB)))
244 (!DT || DT->dominates(GEPI->getParent(), PredBB))) {
296 (!DT || DT->dominates(BO->getParent(), PredBB)))
327 if (!DT->dominates(Inst->getParent(), PredBB))
lib/Analysis/ScalarEvolution.cpp 706 if (DT.dominates(LHead, RHead))
709 assert(DT.dominates(RHead, LHead) &&
2744 assert(DT.dominates(
3442 DT.dominates(L->getHeader(), NestedLoop->getHeader()))) {
6910 assert(SE->DT.dominates(ENT.ExitingBlock, Latch) &&
7103 DT.dominates(ExitBB, Latch)) {
7136 if (!Latch || !DT.dominates(ExitingBlock, Latch))
9137 assert((DT.dominates(L1->getHeader(), L2->getHeader()) ||
9138 DT.dominates(L2->getHeader(), L1->getHeader())) &&
11683 if (DT.dominates(L->getHeader(), AR->getLoop()->getHeader()))
11784 if (!DT.dominates(AR->getLoop()->getHeader(), BB))
lib/Analysis/ScalarEvolutionExpander.cpp 611 if (DT.dominates(A->getHeader(), B->getHeader())) return B;
612 if (DT.dominates(B->getHeader(), A->getHeader())) return A;
1008 !SE.DT.dominates(InsertPos->getParent(), IncV->getParent()))
lib/Analysis/TargetTransformInfo.cpp 101 if (!DT.dominates(BB, Pred)) {
lib/IR/Dominators.cpp 140 return dominates(DefBB, UseBB);
175 return dominates(DefBB, UseBB);
184 if (!dominates(End, UseBB))
224 if (!dominates(End, BB))
283 return dominates(DefBB, UseBB);
lib/Target/AArch64/AArch64PromoteConstant.cpp 380 DT.dominates(IPI.first->getParent(), NewPt->getParent()))) {
lib/Target/AArch64/AArch64StackTagging.cpp 502 return PDT->dominates(ABB, BBB);
lib/Target/AMDGPU/SIAnnotateControlFlow.cpp 280 else if (L->contains(Pred) && DT->dominates(Pred, BB))
lib/Target/Hexagon/HexagonCommonGEP.cpp 712 if (DT->dominates(B, DomB))
714 if (!DT->dominates(DomB, B))
805 if (IdxI && !DT->dominates(IdxI->getParent(), DomB))
858 if (PDT->dominates(B, HB))
860 if (LB && DT->dominates(B, LB))
907 if (!NewLoc || !DT->dominates(TopB, NewLoc))
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp 2240 if (ExitD && DT->dominates(Preheader, ExitD)) {
2361 return DT->dominates(BB, EB);
lib/Transforms/IPO/HotColdSplitting.cpp 414 bool SinkPostDom = PDT.dominates(&SinkBB, &PredBB);
462 bool SinkDom = DT.dominates(&SinkBB, &SuccBB);
511 BB == SuggestedEntryPoint || DT.dominates(SuggestedEntryPoint, BB);
lib/Transforms/IPO/SampleProfile.cpp 1047 bool IsDomParent = DomTree->dominates(BB2, BB1);
lib/Transforms/InstCombine/InstCombineCompares.cpp 4837 if (Usr != UI && !DT.dominates(DB, Usr->getParent()))
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp 1114 if (CCS.Block && DT.dominates(CCS.Block, Pos->getParent()))
lib/Transforms/Instrumentation/SanitizerCoverage.cpp 485 if (!DT->dominates(BB, SUCC))
499 if (!PDT->dominates(BB, PRED))
543 if (DT->dominates(To, From))
546 if (DT->dominates(Next, From))
lib/Transforms/Scalar/ConstantHoisting.cpp 852 DT->dominates(IP->getParent(), OrigMatInsertBB))
lib/Transforms/Scalar/GVN.cpp 1713 if (DT->dominates(Vals.BB, BB)) {
1720 if (DT->dominates(Next->BB, BB)) {
lib/Transforms/Scalar/GVNHoist.cpp 368 if (DT->dominates(Succ, A))
448 assert(DT->dominates(NewBB, OldBB) && "invalid path");
449 assert(DT->dominates(Def->getDefiningAccess()->getBlock(), NewBB) &&
487 assert(DT->dominates(HoistPt, SrcBB) && "Invalid path");
821 if (!DT->dominates(Inst->getParent(), HoistPt))
832 if (!DT->dominates(Inst->getParent(), HoistPt)) {
858 if (DT->dominates(Op->getParent(), HoistPt))
990 } else if (!DT->dominates(Val->getParent(), HoistPt))
lib/Transforms/Scalar/GuardWidening.cpp 491 return !PDT->dominates(DominatedBlock, DominatingBlock);
lib/Transforms/Scalar/IndVarSimplify.cpp 771 !DT->dominates(IncomingBB, L->getLoopLatch()))
2671 assert(DT.dominates(ExitingBB, L->getLoopLatch()) &&
2890 if (!DT->dominates(ExitingBlocks[i-1], ExitingBlocks[i]))
2909 return DT->dominates(ExitingBB, L->getLoopLatch());
lib/Transforms/Scalar/LICM.cpp 946 if (!HoistPoint || !DT->dominates(HoistPoint->getParent(), Dominator)) {
948 assert(DT->dominates(Dominator, HoistPoint->getParent()) &&
2028 return DT->dominates(Store->getParent(), Exit);
lib/Transforms/Scalar/LoopFuse.cpp 364 if (DT->dominates(RHSEntryBlock, LHSEntryBlock)) {
367 assert(LHS.PDT->dominates(LHSEntryBlock, RHSEntryBlock));
371 if (DT->dominates(LHSEntryBlock, RHSEntryBlock)) {
373 assert(LHS.PDT->dominates(RHSEntryBlock, LHSEntryBlock));
597 if (DT.dominates(FC0EntryBlock, FC1EntryBlock))
598 return PDT.dominates(FC1EntryBlock, FC0EntryBlock);
600 if (DT.dominates(FC1EntryBlock, FC0EntryBlock))
601 return PDT.dominates(FC0EntryBlock, FC1EntryBlock);
910 return !DT.dominates(L0Header, AddRec->getLoop()->getHeader()) &&
911 !DT.dominates(AddRec->getLoop()->getHeader(), L0Header);
983 assert(DT.dominates(FC0.getEntryBlock(), FC1.getEntryBlock()));
lib/Transforms/Scalar/LoopIdiomRecognize.cpp 622 if (!DT->dominates(BB, ExitBlocks[i]))
lib/Transforms/Scalar/LoopLoadElimination.cpp 151 return DT->dominates(StoreBlock, Latch);
lib/Transforms/Scalar/LoopSink.cpp 141 if (DT.dominates(ColdestBB, SinkedBB))
lib/Transforms/Scalar/LoopStrengthReduce.cpp 2415 if (!DT.dominates(ExitingBlock, LatchBlock))
3429 if (!DT.dominates(L->getHeader(), UseBB))
lib/Transforms/Scalar/LoopUnswitch.cpp 580 if (DT->dominates(UnreachableSucc, BB))
1537 if (Latch && DT->dominates(SISucc, Latch))
lib/Transforms/Scalar/NewGVN.cpp 1897 if (!DT->dominates(PBranch->To, getBlockForValue(I)))
3780 if (alwaysAvailable(V) || DT->dominates(getBlockForValue(V), BB))
3797 if (DT->dominates(getBlockForValue(MemberInst), BB))
4121 assert(DT->dominates(Leader->getParent(), Member->getParent()));
lib/Transforms/Scalar/PlaceSafepoints.cpp 212 assert(DT.dominates(Header, Pred) && "loop latch not dominated by header?");
552 if (DT.dominates(Succ, Term->getParent())) {
lib/Transforms/Scalar/RewriteStatepointsForGC.cpp 1167 DT->dominates(cast<Instruction>(base)->getParent(),
lib/Transforms/Scalar/SimpleLoopUnswitch.cpp 2005 return PredBB == ParentBB || DT.dominates(SuccBB, PredBB);
2231 if (DT.dominates(LoopPH, UserI->getParent()))
2234 DT.dominates(ClonedPH, UserI->getParent()))
2462 if (DT.dominates(CondBlock, Latch) &&
2480 bool SkipExitingSuccessors = DT.dominates(CondBlock, Latch);
2708 return PredBB == &BB || DT.dominates(SuccBB, PredBB);
lib/Transforms/Scalar/Sink.cpp 53 if (!DT.dominates(BB, UseBlock))
121 if (!DT.dominates(Inst->getParent(), SuccToSinkTo))
lib/Transforms/Scalar/SpeculateAroundPHIs.cpp 122 } else if (DT.dominates(ParentBB, PhiBB)) {
lib/Transforms/Scalar/StraightLineStrengthReduce.cpp 266 DT->dominates(Basis.Ins->getParent(), C.Ins->getParent()) &&
lib/Transforms/Scalar/StructurizeCFG.cpp 774 return DT->dominates(BB, Pred.first);
794 if (!Dominated && DT->dominates(BB, PrevNode->getEntry()))
885 bool EntryDominatesExit = DT->dominates(ParentRegion->getEntry(), Exit);
lib/Transforms/Utils/LoopSimplify.cpp 292 if (DT->dominates(Header, P))
lib/Transforms/Utils/LoopUnrollAndJam.cpp 61 if (DT->dominates(SubLoopLatch, BB))
lib/Transforms/Utils/PromoteMemoryToRegister.cpp 381 } else if (!DT.dominates(StoreBB, LI->getParent())) {
lib/Transforms/Vectorize/LoopVectorize.cpp 1662 DT->dominates(Instr->getParent(), LoopVectorPreHeader));
lib/Transforms/Vectorize/SLPVectorizer.cpp 4459 DT->dominates(v->getParent(), In->getParent())) {
6685 DT->dominates(P->getParent(), cast<Instruction>(R)->getParent());
lib/Transforms/Vectorize/VPlanPredicator.cpp 137 if (VPDomTree.dominates(CurrBlock, Region->getExit())) {
tools/clang/include/clang/Analysis/Analyses/Dominators.h 137 return DT.dominates(A, B);
tools/polly/lib/Analysis/ScopBuilder.cpp 690 if (DT.dominates(BB, PredBB))
955 if (DT.dominates(SuccBB, BB))
1044 if (DT.dominates(SuccBB, BB))
2279 if (Inst && DT.dominates(Inst->getParent(), Stmt->getRegion()->getExit()))
tools/polly/lib/Analysis/ScopDetection.cpp 1765 if (!DT.dominates(SuccBB, CurrBB)) {
tools/polly/lib/Analysis/ScopInfo.cpp 1545 return DT.dominates(BB, getEntry());
tools/polly/lib/CodeGen/BlockGenerators.cpp 574 DT.dominates(cast<Instruction>(Address)->getParent(),
792 DT.dominates(cast<Instruction>(Val)->getParent(),
796 DT.dominates(cast<Instruction>(Address)->getParent(),
1427 if (!DT.dominates(BB, ExitingBB))
1725 DT.dominates(cast<Instruction>(NewVal)->getParent(),
1729 DT.dominates(cast<Instruction>(Address)->getParent(),
tools/polly/lib/Support/ScopHelper.cpp 418 if (isa<ReturnInst>(I.getTerminator()) && !DT.dominates(&BB, &I))
422 if (R.contains(Pred) && !DT.dominates(&BB, Pred))
587 if (DT.dominates(&BB, LInst->getParent()))
593 if (isa<ReturnInst>(I.getTerminator()) && !DT.dominates(&BB, &I))
597 if (R.contains(Pred) && !DT.dominates(&BB, Pred))
unittests/IR/DominatorTreeTest.cpp 111 EXPECT_TRUE(DT->dominates(BB0, BB0));
112 EXPECT_TRUE(DT->dominates(BB0, BB1));
113 EXPECT_TRUE(DT->dominates(BB0, BB2));
114 EXPECT_TRUE(DT->dominates(BB0, BB3));
115 EXPECT_TRUE(DT->dominates(BB0, BB4));
117 EXPECT_FALSE(DT->dominates(BB1, BB0));
118 EXPECT_TRUE(DT->dominates(BB1, BB1));
119 EXPECT_FALSE(DT->dominates(BB1, BB2));
120 EXPECT_TRUE(DT->dominates(BB1, BB3));
121 EXPECT_FALSE(DT->dominates(BB1, BB4));
123 EXPECT_FALSE(DT->dominates(BB2, BB0));
124 EXPECT_FALSE(DT->dominates(BB2, BB1));
125 EXPECT_TRUE(DT->dominates(BB2, BB2));
126 EXPECT_TRUE(DT->dominates(BB2, BB3));
127 EXPECT_FALSE(DT->dominates(BB2, BB4));
129 EXPECT_FALSE(DT->dominates(BB3, BB0));
130 EXPECT_FALSE(DT->dominates(BB3, BB1));
131 EXPECT_FALSE(DT->dominates(BB3, BB2));
132 EXPECT_TRUE(DT->dominates(BB3, BB3));
133 EXPECT_FALSE(DT->dominates(BB3, BB4));
200 EXPECT_TRUE(PDT->dominates(BB0, BB0));
201 EXPECT_FALSE(PDT->dominates(BB1, BB0));
202 EXPECT_FALSE(PDT->dominates(BB2, BB0));
203 EXPECT_FALSE(PDT->dominates(BB3, BB0));
204 EXPECT_TRUE(PDT->dominates(BB4, BB1));
unittests/Transforms/Vectorize/VPlanDominatorTreeTest.cpp 66 EXPECT_TRUE(VPDT.dominates(PH, PH));
67 EXPECT_TRUE(VPDT.dominates(PH, H));
68 EXPECT_TRUE(VPDT.dominates(PH, IfThen));
69 EXPECT_TRUE(VPDT.dominates(PH, IfElse));
70 EXPECT_TRUE(VPDT.dominates(PH, Latch));
71 EXPECT_TRUE(VPDT.dominates(PH, Exit));
73 EXPECT_FALSE(VPDT.dominates(H, PH));
74 EXPECT_TRUE(VPDT.dominates(H, H));
75 EXPECT_TRUE(VPDT.dominates(H, IfThen));
76 EXPECT_TRUE(VPDT.dominates(H, IfElse));
77 EXPECT_TRUE(VPDT.dominates(H, Latch));
78 EXPECT_TRUE(VPDT.dominates(H, Exit));
80 EXPECT_FALSE(VPDT.dominates(IfThen, PH));
81 EXPECT_FALSE(VPDT.dominates(IfThen, H));
82 EXPECT_TRUE(VPDT.dominates(IfThen, IfThen));
83 EXPECT_FALSE(VPDT.dominates(IfThen, IfElse));
84 EXPECT_FALSE(VPDT.dominates(IfThen, Latch));
85 EXPECT_FALSE(VPDT.dominates(IfThen, Exit));
87 EXPECT_FALSE(VPDT.dominates(IfElse, PH));
88 EXPECT_FALSE(VPDT.dominates(IfElse, H));
89 EXPECT_FALSE(VPDT.dominates(IfElse, IfThen));
90 EXPECT_TRUE(VPDT.dominates(IfElse, IfElse));
91 EXPECT_FALSE(VPDT.dominates(IfElse, Latch));
92 EXPECT_FALSE(VPDT.dominates(IfElse, Exit));
94 EXPECT_FALSE(VPDT.dominates(Latch, PH));
95 EXPECT_FALSE(VPDT.dominates(Latch, H));
96 EXPECT_FALSE(VPDT.dominates(Latch, IfThen));
97 EXPECT_FALSE(VPDT.dominates(Latch, IfElse));
98 EXPECT_TRUE(VPDT.dominates(Latch, Latch));
99 EXPECT_TRUE(VPDT.dominates(Latch, Exit));
101 EXPECT_FALSE(VPDT.dominates(Exit, PH));
102 EXPECT_FALSE(VPDT.dominates(Exit, H));
103 EXPECT_FALSE(VPDT.dominates(Exit, IfThen));
104 EXPECT_FALSE(VPDT.dominates(Exit, IfElse));
105 EXPECT_FALSE(VPDT.dominates(Exit, Latch));
106 EXPECT_TRUE(VPDT.dominates(Exit, Exit));