reference, declarationdefinition
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));