| /freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
| H A D | Dominators.h | 97 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 D | Dominators.cpp | 52 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 D | Local.h | 464 const BasicBlockEdge &Edge); 474 Value *From, Value *To, DominatorTree &DT, const BasicBlockEdge &Edge,
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
| H A D | GVN.h | 404 bool propagateEquality(Value *LHS, Value *RHS, const BasicBlockEdge &Root,
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | GVN.cpp | 2154 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 D | LoopDeletion.cpp | 243 DenseSet<BasicBlockEdge> LiveEdges; in canProveExitOnFirstIteration()
|
| H A D | DeadStoreElimination.cpp | 2146 !DT.dominates(BasicBlockEdge(BI->getParent(), BI->getSuccessor(0)), in dominatingConditionImpliesValue() 2151 !DT.dominates(BasicBlockEdge(BI->getParent(), BI->getSuccessor(1)), in dominatingConditionImpliesValue()
|
| H A D | EarlyCSE.cpp | 1221 BasicBlockEdge(Pred, BB))) { in handleBranchCondition()
|
| H A D | ConstraintElimination.cpp | 188 return DT.dominates(BasicBlockEdge(&BB, Succ), Succ); in canAddSuccessor()
|
| H A D | NewGVN.cpp | 637 using BlockEdge = BasicBlockEdge;
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | SimplifyIndVar.cpp | 2231 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 D | Local.cpp | 3585 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 D | InstCombinePHI.cpp | 1350 DT.dominates(BasicBlockEdge(IDom, It->second), in simplifyUsingControlFlow() 1351 BasicBlockEdge(Pred, BB)); in simplifyUsingControlFlow()
|
| H A D | InstCombineSelect.cpp | 2726 BasicBlockEdge TrueEdge(IDom, TrueSucc); in foldSelectToPhiImpl() 2727 BasicBlockEdge FalseEdge(IDom, FalseSucc); in foldSelectToPhiImpl() 2731 BasicBlockEdge Incoming(Pred, BB); in foldSelectToPhiImpl()
|
| H A D | InstructionCombining.cpp | 4084 BasicBlockEdge Edge0(BI.getParent(), BI.getSuccessor(0)); in visitBranchInst() 4090 BasicBlockEdge Edge1(BI.getParent(), BI.getSuccessor(1)); in visitBranchInst()
|
| H A D | InstCombineCompares.cpp | 1429 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 D | ValueTracking.cpp | 857 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 D | ScalarEvolution.cpp | 5940 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()
|