| /llvm-project-15.0.7/clang/unittests/Analysis/ |
| H A D | CFGDominatorTree.cpp | 53 EXPECT_TRUE(Dom.dominates(ExitBlock, ExitBlock)); in TEST() 55 EXPECT_TRUE(Dom.dominates(CaseABlock, ExitBlock)); in TEST() 56 EXPECT_TRUE(Dom.dominates(SwitchBlock, ExitBlock)); in TEST() 57 EXPECT_TRUE(Dom.dominates(EntryBlock, ExitBlock)); in TEST() 59 EXPECT_TRUE(Dom.dominates(CaseABlock, CaseABlock)); in TEST() 61 EXPECT_TRUE(Dom.dominates(SwitchBlock, CaseABlock)); in TEST() 62 EXPECT_TRUE(Dom.dominates(EntryBlock, CaseABlock)); in TEST() 64 EXPECT_TRUE(Dom.dominates(SwitchBlock, SwitchBlock)); in TEST() 66 EXPECT_TRUE(Dom.dominates(EntryBlock, SwitchBlock)); in TEST() 68 EXPECT_TRUE(Dom.dominates(EntryBlock, EntryBlock)); in TEST() [all …]
|
| /llvm-project-15.0.7/mlir/test/Analysis/ |
| H A D | test-dominance.mlir | 209 // CHECK-NEXT: dominates(0, 0) = true 210 // CHECK-NEXT: dominates(0, 1) = true 211 // CHECK-NEXT: dominates(0, 2) = true 212 // CHECK-NEXT: dominates(0, 3) = true 213 // CHECK-NEXT: dominates(0, 4) = true 214 // CHECK-NEXT: dominates(0, 5) = true 217 // CHECK-NEXT: dominates(1, 1) = true 218 // CHECK-NEXT: dominates(1, 2) = true 219 // CHECK-NEXT: dominates(1, 3) = true 220 // CHECK-NEXT: dominates(1, 4) = true [all …]
|
| /llvm-project-15.0.7/llvm/unittests/IR/ |
| H A D | DominatorTreeTest.cpp | 189 EXPECT_TRUE(DT->dominates(Y1, Y2)); in TEST() 194 EXPECT_TRUE(DT->dominates(Y6, Y6)); in TEST() 195 EXPECT_TRUE(DT->dominates(Y6, Y7)); in TEST() 196 EXPECT_TRUE(DT->dominates(Y7, Y6)); in TEST() 197 EXPECT_TRUE(DT->dominates(Y7, Y7)); in TEST() 1093 EXPECT_TRUE(DT->dominates(A, I)); in TEST() 1094 EXPECT_TRUE(DT->dominates(G, I)); in TEST() 1095 EXPECT_TRUE(DT->dominates(C, I)); in TEST() 1098 EXPECT_TRUE(DT->dominates(A, U)); in TEST() 1099 EXPECT_TRUE(DT->dominates(G, U)); in TEST() [all …]
|
| /llvm-project-15.0.7/llvm/unittests/CodeGen/ |
| H A D | LexicalScopesTest.cpp | 160 EXPECT_TRUE(FuncScope->dominates(FuncScope)); in TEST_F() 194 EXPECT_TRUE(FuncScope->dominates(BlockScope)); in TEST_F() 195 EXPECT_FALSE(BlockScope->dominates(FuncScope)); in TEST_F() 206 EXPECT_TRUE(LS.dominates(InBlockLoc.get(), &MBB)); in TEST_F() 354 EXPECT_TRUE(FuncScope->dominates(BlockScope)); in TEST_F() 355 EXPECT_TRUE(FuncScope->dominates(OtherBlockScope)); in TEST_F() 356 EXPECT_FALSE(BlockScope->dominates(FuncScope)); in TEST_F() 368 EXPECT_TRUE(LS.dominates(InBlockLoc.get(), MBB1)); in TEST_F() 371 EXPECT_TRUE(LS.dominates(InBlockLoc.get(), MBB4)); in TEST_F() 455 EXPECT_TRUE(LS.dominates(InBlockLoc.get(), MBB1)); in TEST_F() [all …]
|
| /llvm-project-15.0.7/llvm/lib/IR/ |
| H A D | Dominators.cpp | 164 return dominates(Def, UseBB); in dominates() 167 return dominates(DefBB, UseBB); in dominates() 194 return dominates(E, UseBB); in dominates() 201 return dominates(E, UseBB); in dominates() 204 return dominates(DefBB, UseBB); in dominates() 213 if (!dominates(End, UseBB)) in dominates() 251 if (!dominates(End, BB)) in dominates() 272 return dominates(BBE, UseBB); in dominates() 311 return dominates(E, U); in dominates() 318 return dominates(E, U); in dominates() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | CodeMoverUtils.cpp | 126 assert(DT.dominates(&Dominator, IDom) && in collectControlConditions() 135 if (PDT.dominates(CurBlock, IDom)) { in collectControlConditions() 139 } else if (PDT.dominates(CurBlock, BI->getSuccessor(0))) { in collectControlConditions() 145 } else if (PDT.dominates(CurBlock, BI->getSuccessor(1))) { in collectControlConditions() 241 if ((DT.dominates(&BB0, &BB1) && PDT.dominates(&BB1, &BB0)) || in isControlFlowEquivalent() 242 (PDT.dominates(&BB0, &BB1) && DT.dominates(&BB1, &BB0))) in isControlFlowEquivalent() 338 if (UserInst != &InsertPoint && !DT.dominates(&InsertPoint, U)) in isSafeToMoveBefore() 348 DT.dominates(OpInst, &I)) in isSafeToMoveBefore() 350 if (!DT.dominates(OpInst, &InsertPoint)) in isSafeToMoveBefore() 455 if (PDT->dominates(CurBlock, OtherBlock)) in nonStrictlyPostDominate() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/ |
| H A D | MachinePostDominators.h | 54 bool dominates(const MachineDomTreeNode *A, in dominates() function 56 return PDT->dominates(A, B); in dominates() 59 bool dominates(const MachineBasicBlock *A, const MachineBasicBlock *B) const { in dominates() function 60 return PDT->dominates(A, B); in dominates()
|
| H A D | MachineDominators.h | 114 bool dominates(const MachineDomTreeNode *A, in dominates() function 117 return DT->dominates(A, B); in dominates() 126 bool dominates(const MachineBasicBlock *A, const MachineBasicBlock *B) const { in dominates() function 128 return DT->dominates(A, B); in dominates() 133 bool dominates(const MachineInstr *A, const MachineInstr *B) const { in dominates() function 136 if (BBA != BBB) return DT->dominates(BBA, BBB); in dominates()
|
| H A D | LexicalScopes.h | 99 if (Parent && (!NewScope || !Parent->dominates(NewScope))) 104 bool dominates(const LexicalScope *S) const { in dominates() function 168 bool dominates(const DILocation *DL, MachineBasicBlock *MBB);
|
| /llvm-project-15.0.7/llvm/include/llvm/IR/ |
| H A D | Dominators.h | 181 using Base::dominates; 184 bool dominates(const BasicBlock *BB, const Use &U) const; 195 bool dominates(const Value *Def, const Use &U) const; 198 bool dominates(const Value *Def, const Instruction *User) const; 201 bool dominates(const Instruction *Def, const BasicBlock *BB) const; 207 bool dominates(const BasicBlockEdge &BBE, const Use &U) const; 208 bool dominates(const BasicBlockEdge &BBE, const BasicBlock *BB) const; 210 bool dominates(const BasicBlockEdge &BBE1, const BasicBlockEdge &BBE2) const;
|
| /llvm-project-15.0.7/llvm/lib/Target/ARC/ |
| H A D | ARCOptAddrMode.cpp | 165 if (!MDT->dominates(InstBB, MBB)) in dominatesAllUsesOf() 172 if (!MDT->dominates(MI, User)) in dominatesAllUsesOf() 248 if (MDT->dominates(Last, First)) std::swap(First, Last); in tryToCombine() 282 if (MDT->dominates(Ldst, Add)) in canJoinInstructions() 284 else if (!MDT->dominates(Add, Ldst)) in canJoinInstructions() 319 if (&MI != Add && MDT->dominates(Ldst, &MI)) in canJoinInstructions() 321 else if (!MDT->dominates(&MI, Ldst)) in canJoinInstructions() 323 if (MDT->dominates(Add, &MI)) in canJoinInstructions() 421 if (!OpDef || !MDT->dominates(OpDef, To)) in canHoistLoadStoreTo()
|
| /llvm-project-15.0.7/mlir/include/mlir/IR/ |
| H A D | Dominance.h | 137 bool dominates(Operation *a, Operation *b) const { in dominates() function 147 bool dominates(Value a, Operation *b) const { in dominates() function 153 bool dominates(Block *a, Block *b) const { in dominates() function
|
| /llvm-project-15.0.7/llvm/docs/ |
| H A D | CycleTerminology.rst | 40 a reducible cycle (an LLVM loop) L dominates all its other nodes, and 43 irreducible cycle, no one entry dominates the nodes of the cycle. One 198 1. If a node D dominates one or more nodes in a closed path P and P 199 does not contain D, then D dominates every node in P. 204 contradicts the fact that D dominates U. 206 2. If a node D dominates one or more nodes in a closed path P and P 210 **Proof:** From the above property, D dominates all the nodes in P.
|
| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | PostDominators.h | 39 using Base::dominates; 43 bool dominates(const Instruction *I1, const Instruction *I2) const;
|
| H A D | RegionInfoImpl.h | 114 return (DT->dominates(entry, BB) && in contains() 115 !(DT->dominates(exit, BB) && DT->dominates(entry, exit))); in contains() 568 if (DT->dominates(entry, P) && !DT->dominates(exit, P)) in isCommonDomFrontier() 585 if (!DT->dominates(entry, exit)) { in isRegion() 711 if (!DT->dominates(entry, exit)) in findRegionsWithEntry() 861 if (DT->dominates(Exit, BB)) in getMaxRegionExit()
|
| /llvm-project-15.0.7/llvm/test/Transforms/JumpThreading/ |
| H A D | assume-edge-dom.ll | 25 ; An assume that can be used to simplify this comparison dominates each 26 ; predecessor branch (although no assume dominates the cmp itself). Make sure
|
| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyExceptionInfo.cpp | 61 assert(MDT.dominates(Header, Dst)); in isReachableAmongDominated() 72 if (!Visited.count(Succ) && MDT.dominates(Header, Succ)) in isReachableAmongDominated() 306 if (MDT.dominates(EHPad, Frontier)) in discoverAndMapException() 318 if (MDT.dominates(EHPad, Succ)) in discoverAndMapException()
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | PostDominators.cpp | 54 bool PostDominatorTree::dominates(const Instruction *I1, in dominates() function in PostDominatorTree 62 return Base::dominates(BB1, BB2); in dominates()
|
| H A D | PHITransAddr.cpp | 207 (!DT || DT->dominates(CastI->getParent(), PredBB))) in PHITranslateSubExpr() 246 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in PHITranslateSubExpr() 298 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr() 329 if (!DT->dominates(Inst->getParent(), PredBB)) in PHITranslateValue()
|
| /llvm-project-15.0.7/llvm/lib/Target/X86/ |
| H A D | X86FastPreTileConfig.cpp | 103 static bool dominates(MachineBasicBlock &MBB, in dominates() function 154 if (dominates(*MBB, *CfgMI, UseInst)) { in mayLiveOut() 555 if (LastShapeMI && dominates(MBB, MI, LastShapeMI)) in configBasicBlock() 600 if (LastShapeMI && dominates(MBB, MI, LastShapeMI)) in configBasicBlock() 611 else if (dominates(MBB, LastShapeMI, RowMI)) in configBasicBlock() 617 else if (dominates(MBB, LastShapeMI, ColMI)) in configBasicBlock() 628 if (!LastTileCfg || !dominates(MBB, LastTileCfg, UseMI)) in configBasicBlock()
|
| /llvm-project-15.0.7/mlir/lib/Dialect/Vector/Transforms/ |
| H A D | VectorTransferOpTransforms.cpp | 66 if (dominators.dominates(start, dest)) in isReachable() 77 if (dominators.dominates(bb, destBlock)) in isReachable() 138 if (!dominators.dominates(firstOverwriteCandidate, read)) { in deadStoreOp() 177 if (dominators.dominates(write, read) && checkSameValueRAW(write, read)) { in storeToLoadForwarding() 178 if (lastwrite == nullptr || dominators.dominates(lastwrite, write)) in storeToLoadForwarding() 181 assert(dominators.dominates(write, lastwrite)); in storeToLoadForwarding()
|
| /llvm-project-15.0.7/flang/lib/Optimizer/Transforms/ |
| H A D | MemRefDataFlowOpt.cpp | 51 if (domInfo->dominates(storeOp, loadOp)) in findStoreToForward() 87 if (domInfo->dominates(storeOp, loadOp)) in findReadForWrite()
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | MachineSink.cpp | 358 if (!DT->dominates(MBB, UseBlock)) in AllUsesDominatedByBlock() 694 if (Pred != FromBB && !DT->dominates(ToBB, Pred)) in PostponeSplitCriticalEdge() 750 if (!PDT->dominates(SuccToSinkTo, MBB)) in isProfitableToSinkTo() 1140 if (!DT->dominates(From, To) || !PDT->dominates(To, From)) in hasStoreBetween() 1174 if (PDT->dominates(To, BB)) { in hasStoreBetween() 1183 if (DomBB != BB && DT->dominates(DomBB, BB)) in hasStoreBetween() 1185 else if(DomBB != BB && DT->dominates(BB, DomBB)) in hasStoreBetween() 1197 if (DomBB != BB && DT->dominates(DomBB, BB)) in hasStoreBetween() 1199 else if(DomBB != BB && DT->dominates(BB, DomBB)) in hasStoreBetween() 1413 if (!TryBreak && !DT->dominates(ParentBlock, SuccToSinkTo)) { in SinkInstruction() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/Support/ |
| H A D | GenericDomTree.h | 398 return dominates(A, B); 416 bool dominates(const DomTreeNodeBase<NodeT> *A, 459 bool dominates(const NodeT *A, const NodeT *B) const; 847 if (Pred != NewBB && !dominates(NewBBSucc, Pred) && 923 bool DominatorTreeBase<NodeT, IsPostDom>::dominates(const NodeT *A, 931 return dominates(getNode(const_cast<NodeT *>(A)), 943 return dominates(getNode(const_cast<NodeT *>(A)),
|
| /llvm-project-15.0.7/llvm/test/Verifier/ |
| H A D | noalias_scope_decl.ll | 33 ; CHECK-NEXT: llvm.experimental.noalias.scope.decl dominates another one with the same scope 41 ; CHECK-NEXT: llvm.experimental.noalias.scope.decl dominates another one with the same scope
|