Home
last modified time | relevance | path

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

/freebsd-12.1/contrib/llvm/include/llvm/IR/
H A DDominators.h77 class BasicBlockEdge {
82 BasicBlockEdge(const BasicBlock *Start_, const BasicBlock *End_) : in BasicBlockEdge() function
85 BasicBlockEdge(const std::pair<BasicBlock *, BasicBlock *> &Pair) in BasicBlockEdge() function
103 template <> struct DenseMapInfo<BasicBlockEdge> {
106 static unsigned getHashValue(const BasicBlockEdge *V);
108 static inline BasicBlockEdge getEmptyKey() {
109 return BasicBlockEdge(BBInfo::getEmptyKey(), BBInfo::getEmptyKey());
112 static inline BasicBlockEdge getTombstoneKey() {
116 static unsigned getHashValue(const BasicBlockEdge &Edge) {
121 static bool isEqual(const BasicBlockEdge &LHS, const BasicBlockEdge &RHS) {
[all …]
/freebsd-12.1/contrib/llvm/lib/IR/
H A DDominators.cpp43 bool BasicBlockEdge::isSingleEdge() const { in isSingleEdge()
172 BasicBlockEdge E(DefBB, NormalDest); in dominates()
179 bool DominatorTree::dominates(const BasicBlockEdge &BBE, in dominates()
231 bool DominatorTree::dominates(const BasicBlockEdge &BBE, const Use &U) const { in dominates()
277 BasicBlockEdge E(DefBB, NormalDest); in dominates()
/freebsd-12.1/contrib/llvm/include/llvm/Transforms/Utils/
H A DLocal.h423 const BasicBlockEdge &Edge);
/freebsd-12.1/contrib/llvm/lib/Transforms/Scalar/
H A DGVN.cpp1412 BasicBlockEdge Edge(IntrinsicI->getParent(), Successor); in processAssumeIntrinsic()
1634 static bool isOnlyReachableViaThisEdge(const BasicBlockEdge &E, in isOnlyReachableViaThisEdge()
1680 bool GVN::propagateEquality(Value *LHS, Value *RHS, const BasicBlockEdge &Root, in propagateEquality()
1905 BasicBlockEdge TrueE(Parent, TrueSucc); in processInstruction()
1909 BasicBlockEdge FalseE(Parent, FalseSucc); in processInstruction()
1931 BasicBlockEdge E(Parent, Dst); in processInstruction()
H A DIndVarSimplify.cpp1840 auto DominatesNarrowUser = [this, NarrowUser] (BasicBlockEdge BBE) { in calculatePostIncRange()
1845 if (DominatesNarrowUser(BasicBlockEdge(BB, TrueSuccessor))) in calculatePostIncRange()
1848 if (DominatesNarrowUser(BasicBlockEdge(BB, FalseSuccessor))) in calculatePostIncRange()
H A DEarlyCSE.cpp753 BasicBlockEdge(Pred, BB))) { in handleBranchCondition()
H A DNewGVN.cpp621 using BlockEdge = BasicBlockEdge;
/freebsd-12.1/contrib/llvm/include/llvm/Transforms/Scalar/
H A DGVN.h285 bool propagateEquality(Value *LHS, Value *RHS, const BasicBlockEdge &Root,
/freebsd-12.1/contrib/llvm/lib/Transforms/Utils/
H A DLocal.cpp2436 const BasicBlockEdge &Root) { in replaceDominatedUsesWith()
2437 auto Dominates = [&DT](const BasicBlockEdge &Root, const Use &U) { in replaceDominatedUsesWith()
/freebsd-12.1/contrib/llvm/lib/Analysis/
H A DValueTracking.cpp1924 BasicBlockEdge Edge(BI->getParent(), NonNullSuccessor); in isKnownNonNullFromDominatingCondition()
4233 BasicBlockEdge NoWrapEdge(BI->getParent(), BI->getSuccessor(1)); in isOverflowIntrinsicNoWrap()
H A DScalarEvolution.cpp5254 BasicBlockEdge LeftEdge(BI->getParent(), BI->getSuccessor(0)); in BrPHIToSelect()
5255 BasicBlockEdge RightEdge(BI->getParent(), BI->getSuccessor(1)); in BrPHIToSelect()
9465 BasicBlockEdge DominatingEdge(PBB, BB); in isLoopBackedgeGuardedByCond()