/llvm-project/llvm/include/llvm/IR/ |
H A D | Dominators.h | 94 class BasicBlockEdge { 99 BasicBlockEdge(const BasicBlock *Start_, const BasicBlock *End_) : in BasicBlockEdge() function 102 BasicBlockEdge(const std::pair<BasicBlock *, BasicBlock *> &Pair) in BasicBlockEdge() function 105 BasicBlockEdge(const std::pair<const BasicBlock *, const BasicBlock *> &Pair) in BasicBlockEdge() function 120 template <> struct DenseMapInfo<BasicBlockEdge> { 123 static unsigned getHashValue(const BasicBlockEdge *V); 125 static inline BasicBlockEdge getEmptyKey() { 126 return BasicBlockEdge(BBInfo::getEmptyKey(), BBInfo::getEmptyKey()); 129 static inline BasicBlockEdge getTombstoneKey() { 130 return BasicBlockEdge(BBInfo::getTombstoneKey(), BBInfo::getTombstoneKey()); [all …]
|
/llvm-project/llvm/lib/IR/ |
H A D | Dominators.cpp | 51 bool BasicBlockEdge::isSingleEdge() const { in isSingleEdge() 193 BasicBlockEdge E(DefBB, NormalDest); in dominates() 200 bool DominatorTree::dominates(const BasicBlockEdge &BBE, in dominates() 250 bool DominatorTree::dominates(const BasicBlockEdge &BBE, const Use &U) const { in dominates() 303 BasicBlockEdge E(DefBB, NormalDest); in dominates() 337 bool DominatorTree::dominates(const BasicBlockEdge &BBE1, in dominates() 338 const BasicBlockEdge &BBE2) const { in dominates()
|
/llvm-project/llvm/unittests/IR/ |
H A D | DominatorTreeTest.cpp | 337 BasicBlockEdge Edge_BB0_BB2(BB0, TI->getSuccessor(0)); in TEST() 341 BasicBlockEdge Edge_BB0_BB1_a(BB0, TI->getSuccessor(1)); in TEST() 344 BasicBlockEdge Edge_BB0_BB1_b(BB0, TI->getSuccessor(2)); in TEST() 1047 BasicBlockEdge E01(BB0, BB1); in TEST() 1048 BasicBlockEdge E02(BB0, BB2); in TEST() 1049 BasicBlockEdge E13(BB1, BB3); in TEST() 1050 BasicBlockEdge E23(BB2, BB3); in TEST()
|
/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | Local.h | 445 const BasicBlockEdge &Edge); 454 Value *From, Value *To, DominatorTree &DT, const BasicBlockEdge &Edge,
|
/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | GVN.cpp | 2084 BasicBlockEdge Edge(IntrinsicI->getParent(), Successor); in processAssumeIntrinsic() 2381 static bool isOnlyReachableViaThisEdge(const BasicBlockEdge &E, in eraseTranslateCacheEntry() 2424 const BasicBlockEdge &Root, in assignBlockRPONumber() 2648 BasicBlockEdge TrueE(Parent, TrueSucc); in processInstruction() 2652 BasicBlockEdge FalseE(Parent, FalseSucc); in processInstruction() 2674 BasicBlockEdge E(Parent, Dst); in processInstruction()
|
H A D | LoopDeletion.cpp | 243 DenseSet<BasicBlockEdge> LiveEdges; in canProveExitOnFirstIteration()
|
H A D | DeadStoreElimination.cpp | 2069 !DT.dominates(BasicBlockEdge(BI->getParent(), BI->getSuccessor(0)), in removePartiallyOverlappedStores() 2074 !DT.dominates(BasicBlockEdge(BI->getParent(), BI->getSuccessor(1)), in removePartiallyOverlappedStores()
|
H A D | EarlyCSE.cpp | 1226 BasicBlockEdge(Pred, BB))) { in handleBranchCondition()
|
H A D | ConstraintElimination.cpp | 202 return DT.dominates(BasicBlockEdge(&BB, Succ), Succ); in canAddSuccessor()
|
H A D | NewGVN.cpp | 636 using BlockEdge = BasicBlockEdge;
|
/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
H A D | GVN.h | 386 bool propagateEquality(Value *LHS, Value *RHS, const BasicBlockEdge &Root,
|
/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | SimplifyIndVar.cpp | 2219 auto DominatesNarrowUser = [this, NarrowUser] (BasicBlockEdge BBE) { in calculatePostIncRange() 2224 if (DominatesNarrowUser(BasicBlockEdge(BB, TrueSuccessor))) in calculatePostIncRange() 2227 if (DominatesNarrowUser(BasicBlockEdge(BB, FalseSuccessor)))
|
H A D | Local.cpp | 3582 const BasicBlockEdge &Root) { in copyRangeMetadata() 3583 auto Dominates = [&DT](const BasicBlockEdge &Root, const Use &U) { in copyRangeMetadata() 3599 Value *From, Value *To, DominatorTree &DT, const BasicBlockEdge &Root, in copyRangeMetadata() 3602 [&DT, &ShouldReplace, To](const BasicBlockEdge &Root, const Use &U) { in dropDebugUsers()
|
/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombinePHI.cpp | 1343 DT.dominates(BasicBlockEdge(IDom, It->second), in simplifyUsingControlFlow() 1344 BasicBlockEdge(Pred, BB)); in simplifyUsingControlFlow()
|
H A D | InstCombineSelect.cpp | 2670 BasicBlockEdge TrueEdge(IDom, TrueSucc); in foldSelectToPhiImpl() 2671 BasicBlockEdge FalseEdge(IDom, FalseSucc); in foldSelectToPhiImpl() 2675 BasicBlockEdge Incoming(Pred, BB); in foldSelectToPhiImpl()
|
H A D | InstCombineCompares.cpp | 1415 BasicBlockEdge Edge0(BI->getParent(), BI->getSuccessor(0)); in foldICmpTruncConstant() 1420 BasicBlockEdge Edge1(BI->getParent(), BI->getSuccessor(1)); in foldICmpTruncConstant()
|
/llvm-project/llvm/lib/Analysis/ |
H A D | ValueTracking.cpp | 842 BasicBlockEdge Edge0(BI->getParent(), BI->getSuccessor(0)); in computeKnownBitsFromContext() 847 BasicBlockEdge Edge1(BI->getParent(), BI->getSuccessor(1)); in computeKnownBitsFromContext() 2409 BasicBlockEdge Edge0(BI->getParent(), BI->getSuccessor(0)); in isKnownNonNullFromDominatingCondition() 2415 BasicBlockEdge Edge1(BI->getParent(), BI->getSuccessor(1)); in isKnownNonNullFromDominatingCondition() 2728 BasicBlockEdge Edge(BI->getParent(), NonNullSuccessor); in isKnownNonZeroFromOperator() 4993 BasicBlockEdge Edge0(BI->getParent(), BI->getSuccessor(0)); in computeKnownFPClass() 4998 BasicBlockEdge Edge1(BI->getParent(), BI->getSuccessor(1)); in computeKnownFPClass() 7424 BasicBlockEdge NoWrapEdge(BI->getParent(), BI->getSuccessor(1)); in isGuaranteedNotToBeUndefOrPoison()
|
H A D | ScalarEvolution.cpp | 5952 BasicBlockEdge LeftEdge(BI->getParent(), BI->getSuccessor(0)); in createAddRecFromPHI() 5953 BasicBlockEdge RightEdge(BI->getParent(), BI->getSuccessor(1)); in createAddRecFromPHI() 11604 BasicBlockEdge DominatingEdge(PBB, BB);
|