Home
last modified time | relevance | path

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

/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DDominators.h97 class BasicBlockEdge {
102 BasicBlockEdge(const BasicBlock *Start_, const BasicBlock *End_) : in BasicBlockEdge() function
105 BasicBlockEdge(const std::pair<BasicBlock *, BasicBlock *> &Pair) in BasicBlockEdge() function
108 BasicBlockEdge(const std::pair<const BasicBlock *, const BasicBlock *> &Pair) in BasicBlockEdge() function
123 template <> struct DenseMapInfo<BasicBlockEdge> {
126 LLVM_ABI static unsigned getHashValue(const BasicBlockEdge *V);
128 static inline BasicBlockEdge getEmptyKey() {
129 return BasicBlockEdge(BBInfo::getEmptyKey(), BBInfo::getEmptyKey());
132 static inline BasicBlockEdge getTombstoneKey() {
133 return BasicBlockEdge(BBInfo::getTombstoneKey(), BBInfo::getTombstoneKey());
[all …]
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DDominators.cpp52 bool BasicBlockEdge::isSingleEdge() const { in isSingleEdge()
206 BasicBlockEdge E(DefBB, NormalDest); in dominates()
213 bool DominatorTree::dominates(const BasicBlockEdge &BBE, in dominates()
263 bool DominatorTree::dominates(const BasicBlockEdge &BBE, const Use &U) const { in dominates()
316 BasicBlockEdge E(DefBB, NormalDest); in dominates()
350 bool DominatorTree::dominates(const BasicBlockEdge &BBE1, in dominates()
351 const BasicBlockEdge &BBE2) const { in dominates()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLocal.h464 const BasicBlockEdge &Edge);
474 Value *From, Value *To, DominatorTree &DT, const BasicBlockEdge &Edge,
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DGVN.h404 bool propagateEquality(Value *LHS, Value *RHS, const BasicBlockEdge &Root,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DGVN.cpp2154 BasicBlockEdge Edge(IntrinsicI->getParent(), Successor); in processAssumeIntrinsic()
2474 static bool isOnlyReachableViaThisEdge(const BasicBlockEdge &E, in isOnlyReachableViaThisEdge()
2517 const BasicBlockEdge &Root, in propagateEquality()
2745 BasicBlockEdge TrueE(Parent, TrueSucc); in processInstruction()
2749 BasicBlockEdge FalseE(Parent, FalseSucc); in processInstruction()
2770 BasicBlockEdge E(Parent, Dst); in processInstruction()
H A DLoopDeletion.cpp243 DenseSet<BasicBlockEdge> LiveEdges; in canProveExitOnFirstIteration()
H A DDeadStoreElimination.cpp2146 !DT.dominates(BasicBlockEdge(BI->getParent(), BI->getSuccessor(0)), in dominatingConditionImpliesValue()
2151 !DT.dominates(BasicBlockEdge(BI->getParent(), BI->getSuccessor(1)), in dominatingConditionImpliesValue()
H A DEarlyCSE.cpp1221 BasicBlockEdge(Pred, BB))) { in handleBranchCondition()
H A DConstraintElimination.cpp188 return DT.dominates(BasicBlockEdge(&BB, Succ), Succ); in canAddSuccessor()
H A DNewGVN.cpp637 using BlockEdge = BasicBlockEdge;
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp2231 auto DominatesNarrowUser = [this, NarrowUser] (BasicBlockEdge BBE) { in calculatePostIncRange()
2236 if (DominatesNarrowUser(BasicBlockEdge(BB, TrueSuccessor))) in calculatePostIncRange()
2239 if (DominatesNarrowUser(BasicBlockEdge(BB, FalseSuccessor))) in calculatePostIncRange()
H A DLocal.cpp3585 const BasicBlockEdge &Root) { in replaceDominatedUsesWith()
3586 auto Dominates = [&DT](const BasicBlockEdge &Root, const Use &U) { in replaceDominatedUsesWith()
3602 Value *From, Value *To, DominatorTree &DT, const BasicBlockEdge &Root, in replaceDominatedUsesWithIf()
3605 [&DT, &ShouldReplace, To](const BasicBlockEdge &Root, const Use &U) { in replaceDominatedUsesWithIf()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombinePHI.cpp1350 DT.dominates(BasicBlockEdge(IDom, It->second), in simplifyUsingControlFlow()
1351 BasicBlockEdge(Pred, BB)); in simplifyUsingControlFlow()
H A DInstCombineSelect.cpp2726 BasicBlockEdge TrueEdge(IDom, TrueSucc); in foldSelectToPhiImpl()
2727 BasicBlockEdge FalseEdge(IDom, FalseSucc); in foldSelectToPhiImpl()
2731 BasicBlockEdge Incoming(Pred, BB); in foldSelectToPhiImpl()
H A DInstructionCombining.cpp4084 BasicBlockEdge Edge0(BI.getParent(), BI.getSuccessor(0)); in visitBranchInst()
4090 BasicBlockEdge Edge1(BI.getParent(), BI.getSuccessor(1)); in visitBranchInst()
H A DInstCombineCompares.cpp1429 BasicBlockEdge Edge0(BI->getParent(), BI->getSuccessor(0)); in foldICmpWithDominatingICmp()
1434 BasicBlockEdge Edge1(BI->getParent(), BI->getSuccessor(1)); in foldICmpWithDominatingICmp()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DValueTracking.cpp857 BasicBlockEdge Edge0(BI->getParent(), BI->getSuccessor(0)); in computeKnownBitsFromContext()
862 BasicBlockEdge Edge1(BI->getParent(), BI->getSuccessor(1)); in computeKnownBitsFromContext()
2441 BasicBlockEdge Edge0(BI->getParent(), BI->getSuccessor(0)); in isKnownToBeAPowerOfTwo()
2447 BasicBlockEdge Edge1(BI->getParent(), BI->getSuccessor(1)); in isKnownToBeAPowerOfTwo()
2760 BasicBlockEdge Edge(BI->getParent(), NonNullSuccessor); in isKnownNonNullFromDominatingCondition()
3833 BasicBlockEdge Edge0(BI->getParent(), BI->getSuccessor(0)); in isKnownNonEqualFromContext()
3840 BasicBlockEdge Edge1(BI->getParent(), BI->getSuccessor(1)); in isKnownNonEqualFromContext()
4624 BasicBlockEdge Edge0(BI->getParent(), BI->getSuccessor(0)); in computeKnownFPClassFromContext()
4629 BasicBlockEdge Edge1(BI->getParent(), BI->getSuccessor(1)); in computeKnownFPClassFromContext()
7297 BasicBlockEdge NoWrapEdge(BI->getParent(), BI->getSuccessor(1)); in isOverflowIntrinsicNoWrap()
H A DScalarEvolution.cpp5940 BasicBlockEdge LeftEdge(BI->getParent(), BI->getSuccessor(0)); in BrPHIToSelect()
5941 BasicBlockEdge RightEdge(BI->getParent(), BI->getSuccessor(1)); in BrPHIToSelect()
11625 BasicBlockEdge DominatingEdge(PBB, BB); in isLoopBackedgeGuardedByCond()