Home
last modified time | relevance | path

Searched refs:BasicBlockEdge (Results 1 – 15 of 15) sorted by relevance

/llvm-project-15.0.7/llvm/include/llvm/IR/
H A DDominators.h98 class BasicBlockEdge {
103 BasicBlockEdge(const BasicBlock *Start_, const BasicBlock *End_) : in BasicBlockEdge() function
106 BasicBlockEdge(const std::pair<BasicBlock *, BasicBlock *> &Pair) in BasicBlockEdge() function
124 template <> struct DenseMapInfo<BasicBlockEdge> {
127 static unsigned getHashValue(const BasicBlockEdge *V);
129 static inline BasicBlockEdge getEmptyKey() {
133 static inline BasicBlockEdge getTombstoneKey() {
137 static unsigned getHashValue(const BasicBlockEdge &Edge) {
142 static bool isEqual(const BasicBlockEdge &LHS, const BasicBlockEdge &RHS) {
207 bool dominates(const BasicBlockEdge &BBE, const Use &U) const;
[all …]
/llvm-project-15.0.7/llvm/lib/IR/
H A DDominators.cpp50 bool BasicBlockEdge::isSingleEdge() const { in isSingleEdge()
193 BasicBlockEdge E(DefBB, NormalDest); in dominates()
200 BasicBlockEdge E(DefBB, NormalDest); in dominates()
207 bool DominatorTree::dominates(const BasicBlockEdge &BBE, in dominates()
257 bool DominatorTree::dominates(const BasicBlockEdge &BBE, const Use &U) const { in dominates()
310 BasicBlockEdge E(DefBB, NormalDest); in dominates()
317 BasicBlockEdge E(DefBB, NormalDest); in dominates()
351 bool DominatorTree::dominates(const BasicBlockEdge &BBE1, in dominates()
352 const BasicBlockEdge &BBE2) const { in dominates()
/llvm-project-15.0.7/llvm/unittests/IR/
H A DDominatorTreeTest.cpp337 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()
1048 BasicBlockEdge E01(BB0, BB1); in TEST()
1049 BasicBlockEdge E02(BB0, BB2); in TEST()
1050 BasicBlockEdge E13(BB1, BB3); in TEST()
1051 BasicBlockEdge E23(BB2, BB3); in TEST()
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/
H A DLocal.h405 const BasicBlockEdge &Edge);
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DGVN.cpp1939 BasicBlockEdge Edge(IntrinsicI->getParent(), Successor); in processAssumeIntrinsic()
2245 static bool isOnlyReachableViaThisEdge(const BasicBlockEdge &E, in isOnlyReachableViaThisEdge()
2288 const BasicBlockEdge &Root, in propagateEquality()
2500 BasicBlockEdge TrueE(Parent, TrueSucc); in processInstruction()
2504 BasicBlockEdge FalseE(Parent, FalseSucc); in processInstruction()
2526 BasicBlockEdge E(Parent, Dst); in processInstruction()
H A DLoopDeletion.cpp246 DenseSet<BasicBlockEdge> LiveEdges; in canProveExitOnFirstIteration()
H A DEarlyCSE.cpp1101 BasicBlockEdge(Pred, BB))) { in handleBranchCondition()
H A DNewGVN.cpp624 using BlockEdge = BasicBlockEdge;
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Scalar/
H A DGVN.h362 bool propagateEquality(Value *LHS, Value *RHS, const BasicBlockEdge &Root,
/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp2049 auto DominatesNarrowUser = [this, NarrowUser] (BasicBlockEdge BBE) { in calculatePostIncRange()
2054 if (DominatesNarrowUser(BasicBlockEdge(BB, TrueSuccessor))) in calculatePostIncRange()
2057 if (DominatesNarrowUser(BasicBlockEdge(BB, FalseSuccessor))) in calculatePostIncRange()
H A DLocal.cpp2735 const BasicBlockEdge &Root) { in replaceDominatedUsesWith()
2736 auto Dominates = [&DT](const BasicBlockEdge &Root, const Use &U) { in replaceDominatedUsesWith()
/llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/
H A DInstCombinePHI.cpp1335 DT.dominates(BasicBlockEdge(IDom, It->second), in simplifyUsingControlFlow()
1336 BasicBlockEdge(Pred, BB)); in simplifyUsingControlFlow()
H A DInstCombineSelect.cpp2398 BasicBlockEdge TrueEdge(IDom, TrueSucc); in foldSelectToPhiImpl()
2399 BasicBlockEdge FalseEdge(IDom, FalseSucc); in foldSelectToPhiImpl()
2403 BasicBlockEdge Incoming(Pred, BB); in foldSelectToPhiImpl()
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DValueTracking.cpp2366 BasicBlockEdge Edge(BI->getParent(), NonNullSuccessor); in isKnownNonNullFromDominatingCondition()
5075 BasicBlockEdge NoWrapEdge(BI->getParent(), BI->getSuccessor(1)); in isOverflowIntrinsicNoWrap()
H A DScalarEvolution.cpp5848 BasicBlockEdge LeftEdge(BI->getParent(), BI->getSuccessor(0)); in BrPHIToSelect()
5849 BasicBlockEdge RightEdge(BI->getParent(), BI->getSuccessor(1)); in BrPHIToSelect()
11105 BasicBlockEdge DominatingEdge(PBB, BB); in isLoopBackedgeGuardedByCond()