Home
last modified time | relevance | path

Searched refs:CmpPredicate (Results 1 – 25 of 47) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DCmpPredicate.h23 class CmpPredicate {
29 CmpPredicate() : Pred(CmpInst::BAD_ICMP_PREDICATE), HasSameSign(false) {} in CmpPredicate() function
33 CmpPredicate(CmpInst::Predicate Pred, bool HasSameSign = false)
58 LLVM_ABI static std::optional<CmpPredicate> getMatching(CmpPredicate A,
59 CmpPredicate B);
73 bool operator==(CmpPredicate) const = delete;
74 bool operator!=(CmpPredicate) const = delete;
78 LLVM_ABI static CmpPredicate get(const CmpInst *Cmp);
81 LLVM_ABI static CmpPredicate getSwapped(CmpPredicate P);
84 LLVM_ABI static CmpPredicate getSwapped(const CmpInst *Cmp);
H A DPatternMatch.h691 CmpPredicate Pred;
1638 CmpPredicate *Predicate;
1644 CmpClass_match(CmpPredicate &Pred, const LHS_t &LHS, const RHS_t &RHS) in CmpClass_match()
1653 *Predicate = CmpPredicate::get(I); in match()
1659 *Predicate = CmpPredicate::getSwapped(I); in match()
1668 inline CmpClass_match<LHS, RHS, CmpInst> m_Cmp(CmpPredicate &Pred, const LHS &L, in m_Cmp()
1674 inline CmpClass_match<LHS, RHS, ICmpInst> m_ICmp(CmpPredicate &Pred, in m_ICmp()
1680 inline CmpClass_match<LHS, RHS, FCmpInst> m_FCmp(CmpPredicate &Pred, in m_FCmp()
1705 const CmpPredicate Predicate;
1709 SpecificCmpClass_match(CmpPredicate Pred, const LHS_t &LHS, const RHS_t &RHS) in SpecificCmpClass_match()
[all …]
H A DInstructions.h1227 CmpPredicate getCmpPredicate() const {
1233 static CmpPredicate getInverseCmpPredicate(CmpPredicate Pred) {
1238 CmpPredicate getInverseCmpPredicate() const {
1244 static CmpPredicate getSwappedCmpPredicate(CmpPredicate Pred) {
1249 CmpPredicate getSwappedCmpPredicate() const {
1255 static CmpPredicate getNonStrictCmpPredicate(CmpPredicate Pred) {
1303 isImpliedByMatchingCmp(CmpPredicate Pred1, CmpPredicate Pred2);
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DScalarEvolution.h791 LLVM_ABI bool isLoopEntryGuardedByCond(const Loop *L, CmpPredicate Pred,
797 CmpPredicate Pred,
803 LLVM_ABI bool isLoopBackedgeGuardedByCond(const Loop *L, CmpPredicate Pred,
1108 LLVM_ABI bool isKnownViaInduction(CmpPredicate Pred, const SCEV *LHS,
1113 LLVM_ABI bool isKnownPredicate(CmpPredicate Pred, const SCEV *LHS,
1120 evaluatePredicate(CmpPredicate Pred, const SCEV *LHS, const SCEV *RHS);
1124 LLVM_ABI bool isKnownPredicateAt(CmpPredicate Pred, const SCEV *LHS,
1130 LLVM_ABI std::optional<bool> evaluatePredicateAt(CmpPredicate Pred,
1137 LLVM_ABI bool isKnownOnEveryIteration(CmpPredicate Pred,
1221 CmpPredicate Pred;
[all …]
H A DInstructionSimplify.h48 class CmpPredicate; variable
160 LLVM_ABI Value *simplifyICmpInst(CmpPredicate Pred, Value *LHS, Value *RHS,
164 LLVM_ABI Value *simplifyFCmpInst(CmpPredicate Predicate, Value *LHS, Value *RHS,
212 LLVM_ABI Value *simplifyCmpInst(CmpPredicate Predicate, Value *LHS, Value *RHS,
H A DValueTracking.h829 LLVM_ABI std::optional<std::pair<CmpPredicate, Constant *>>
830 getFlippedStrictnessPredicateAndConstant(CmpPredicate Pred, Constant *C);
1001 isImpliedCondition(const Value *LHS, CmpPredicate RHSPred, const Value *RHSOp0,
1011 isImpliedByDomCondition(CmpPredicate Pred, const Value *LHS, const Value *RHS,
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DOverflowInstAnalysis.cpp23 CmpPredicate Pred; in isCheckForZeroAndMulWithOverflow()
H A DInstructionSimplify.cpp69 static Value *simplifyCmpInst(CmpPredicate, Value *, Value *,
71 static Value *simplifyICmpInst(CmpPredicate Predicate, Value *LHS, Value *RHS,
96 static bool isSameCompare(Value *V, CmpPredicate Pred, Value *LHS, Value *RHS) { in isSameCompare()
113 static Value *simplifyCmpSelCase(CmpPredicate Pred, Value *LHS, Value *RHS, in simplifyCmpSelCase()
129 static Value *simplifyCmpSelTrueCase(CmpPredicate Pred, Value *LHS, Value *RHS, in simplifyCmpSelTrueCase()
137 static Value *simplifyCmpSelFalseCase(CmpPredicate Pred, Value *LHS, Value *RHS, in simplifyCmpSelFalseCase()
431 static Value *threadCmpOverSelect(CmpPredicate Pred, Value *LHS, Value *RHS, in threadCmpOverSelect()
523 static Value *threadCmpOverPHI(CmpPredicate Pred, Value *LHS, Value *RHS, in threadCmpOverPHI()
968 static bool isICmpTrue(CmpPredicate Pred, Value *LHS, Value *RHS, in isICmpTrue()
1513 CmpPredicate EqPred; in simplifyUnsignedRangeCheck()
[all …]
H A DScalarEvolution.cpp9150 CmpPredicate Pred; in computeExitLimitFromICmp()
9175 const Loop *L, CmpPredicate Pred, const SCEV *LHS, const SCEV *RHS, in computeExitLimitFromICmp()
10737 bool ScalarEvolution::SimplifyICmpOperands(CmpPredicate &Pred, const SCEV *&LHS, in SimplifyICmpOperands()
11036 bool ScalarEvolution::isKnownViaInduction(CmpPredicate Pred, const SCEV *LHS, in isKnownViaInduction()
11086 bool ScalarEvolution::isKnownPredicate(CmpPredicate Pred, const SCEV *LHS, in isKnownPredicate()
11101 std::optional<bool> ScalarEvolution::evaluatePredicate(CmpPredicate Pred, in evaluatePredicate()
11111 bool ScalarEvolution::isKnownPredicateAt(CmpPredicate Pred, const SCEV *LHS, in isKnownPredicateAt()
11120 ScalarEvolution::evaluatePredicateAt(CmpPredicate Pred, const SCEV *LHS, in evaluatePredicateAt()
11134 bool ScalarEvolution::isKnownOnEveryIteration(CmpPredicate Pred, in isKnownOnEveryIteration()
11206 ScalarEvolution::getLoopInvariantPredicate(CmpPredicate Pred, const SCEV *LHS, in getLoopInvariantPredicate()
[all …]
H A DValueTracking.cpp261 CmpPredicate P; in isOnlyUsedInZeroEqualityComparison()
661 CmpPredicate Pred; in isKnownNonZeroFromAssume()
1738 CmpPredicate Pred; in computeKnownBitsFromOperator()
2394 CmpPredicate Pred; in isImpliedToBeAPowerOfTwoFromCond()
2721 CmpPredicate Pred; in isKnownNonNullFromDominatingCondition()
3152 CmpPredicate Pred; in isKnownNonZeroFromOperator()
3180 CmpPredicate Pred; in isKnownNonZeroFromOperator()
4582 CmpPredicate Pred; in computeKnownFPClassFromCond()
4827 CmpPredicate Pred; in computeKnownFPClass()
8483 CmpPredicate Pred1, Pred2; in isKnownInversion()
[all …]
H A DHashRecognize.cpp187 CmpPredicate Pred; in computeInstr()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineSelect.cpp62 CmpPredicate Pred; in foldSelectBinOpIdentity()
398 auto CreateCmpSel = [&](std::optional<CmpPredicate> P, in foldSelectOpOp()
415 CmpPredicate TPred, FPred; in foldSelectOpOp()
419 CreateCmpSel(CmpPredicate::getMatching(TPred, FPred), false)) in foldSelectOpOp()
422 CreateCmpSel(CmpPredicate::getMatching( in foldSelectOpOp()
683 CmpPredicate Pred; in foldSelectICmpAndZeroShl()
886 CmpPredicate Predicate; in foldSelectZeroOrMul()
1556 CmpPredicate Pred1; in canonicalizeClampLike()
1665 CmpPredicate Pred; in tryToReuseConstantFromSelectInComparison()
1762 CmpPredicate Pred; in foldSelectInstWithICmpConst()
[all …]
H A DInstCombineInternal.h693 Instruction *foldGEPICmp(GEPOperator *GEPLHS, Value *RHS, CmpPredicate Cond,
695 Instruction *foldSelectICmp(CmpPredicate Pred, SelectInst *SI, Value *RHS,
704 Instruction *foldICmpAddOpConst(Value *X, const APInt &C, CmpPredicate Pred);
718 Value *Z, CmpPredicate Pred);
779 Instruction *foldICmpCommutative(CmpPredicate Pred, Value *Op0, Value *Op1,
H A DInstCombineCompares.cpp633 CmpPredicate Cond, in transformToIndexedCompare()
677 CmpPredicate Cond, Instruction &I) { in foldGEPICmp()
941 CmpPredicate Pred) { in foldICmpAddOpConst()
1184 CmpPredicate Pred; in foldIRemByPowerOfTwoToBitTest()
1201 CmpPredicate Pred; in foldSignBitTest()
1423 CmpPredicate DomPred; in foldICmpWithDominatingICmp()
1536 CmpPredicate Pred; in foldICmpTruncWithTruncOrExt()
3317 CmpPredicate PredA; in matchThreeWayIntCompare()
3328 CmpPredicate PredB; in matchThreeWayIntCompare()
4051 foldICmpUSubSatOrUAddSatWithConstant(CmpPredicate Pred, SaturatingInst *II, in foldICmpUSubSatOrUAddSatWithConstant()
[all …]
H A DInstCombineAndOrXor.cpp780 CmpPredicate Pred = IsAnd ? CmpInst::ICMP_NE : CmpInst::ICMP_EQ; in foldAndOrOfICmpsWithPow2AndWithZero()
876 CmpPredicate Pred = ICmp->getPredicate(); in foldSignedTruncationCheck()
939 CmpPredicate Pred0, Pred1; in foldIsPowerOf2OrZero()
1111 CmpPredicate EqPred; in foldUnsignedUnderflowCheck()
1116 CmpPredicate UnsignedPred; in foldUnsignedUnderflowCheck()
1275 CmpPredicate Pred0; in foldAndOrOfICmpsWithConstEq()
1289 CmpPredicate Pred1; in foldAndOrOfICmpsWithConstEq()
1320 CmpPredicate Pred1, Pred2; in foldAndOrOfICmpsUsingRanges()
4122 CmpPredicate Pred; in visitOr()
4811 CmpPredicate Pred; in foldNot()
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DInstructions.cpp3952 static bool isImpliedTrueByMatchingCmp(CmpPredicate Pred1, CmpPredicate Pred2) { in isImpliedTrueByMatchingCmp()
3955 if (CmpPredicate::getMatching(Pred1, Pred2)) in isImpliedTrueByMatchingCmp()
3982 static bool isImpliedFalseByMatchingCmp(CmpPredicate Pred1, in isImpliedFalseByMatchingCmp()
3983 CmpPredicate Pred2) { in isImpliedFalseByMatchingCmp()
3988 std::optional<bool> ICmpInst::isImpliedByMatchingCmp(CmpPredicate Pred1, in isImpliedByMatchingCmp()
3989 CmpPredicate Pred2) { in isImpliedByMatchingCmp()
4001 std::optional<CmpPredicate> CmpPredicate::getMatching(CmpPredicate A, in getMatching()
4002 CmpPredicate B) { in getMatching()
4004 return A.HasSameSign == B.HasSameSign ? A : CmpPredicate(A.Pred); in getMatching()
4016 CmpInst::Predicate CmpPredicate::getPreferredSignedPredicate() const { in getPreferredSignedPredicate()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DConstraintElimination.cpp77 CmpPredicate Pred;
82 ConditionTy(CmpPredicate Pred, Value *Op0, Value *Op1) in ConditionTy()
123 FactOrCheck(DomTreeNode *DTN, CmpPredicate Pred, Value *Op0, Value *Op1, in FactOrCheck()
128 static FactOrCheck getConditionFact(DomTreeNode *DTN, CmpPredicate Pred, in getConditionFact()
968 CmpPredicate Pred; in addInfoForInductions()
1135 CmpPredicate Pred; in addInfoFor()
1621 CmpPredicate Pred; in checkOrAndOpImpliedByOther()
1894 auto AddFact = [&](CmpPredicate Pred, Value *A, Value *B) { in eliminateConstraints()
1932 CmpPredicate Pred; in eliminateConstraints()
H A DEarlyCSE.cpp195 CmpPredicate Pred; in matchSelectWithOptionalNotCond()
280 CmpPredicate Pred; in getHashValueImpl()
453 CmpPredicate PredL, PredR; in isEqualImpl()
H A DLoopBoundSplit.cpp35 CmpPredicate Pred = ICmpInst::BAD_ICMP_PREDICATE;
H A DCallSiteSplitting.cpp135 CmpPredicate Pred; in recordCondition()
H A DLICM.cpp2435 auto MatchICmpAgainstInvariant = [&](Value *C, CmpPredicate &P, Value *&LHS, in hoistMinMax()
2453 CmpPredicate P1, P2; in hoistMinMax()
2458 auto MatchingPred = CmpPredicate::getMatching(P1, P2); in hoistMinMax()
2697 CmpPredicate Pred; in hoistAddSub()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopPeel.cpp345 CmpPredicate Pred; in canPeelLastIteration()
363 static bool shouldPeelLastIteration(Loop &L, CmpPredicate Pred, in shouldPeelLastIteration()
442 CmpPredicate Pred; in countToEliminateCompares()
H A DSimplifyIndVar.cpp208 CmpPredicate Pred = ICmp->getCmpPredicate(); in makeIVComparisonInvariant()
252 CmpPredicate Pred = ICmp->getCmpPredicate(); in eliminateIVComparison()
2180 CmpPredicate Pred; in calculatePostIncRange()
2186 CmpPredicate P = TrueDest ? Pred : ICmpInst::getInverseCmpPredicate(Pred); in calculatePostIncRange()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/InstCombine/
H A DInstCombiner.h160 static bool isCanonicalPredicate(CmpPredicate Pred) { in isCanonicalPredicate()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlan.h653 CmpInst::Predicate CmpPredicate; member
670 CmpPredicate = Op->getPredicate(); in VPIRFlags()
699 : OpType(OperationType::Cmp), CmpPredicate(Pred) {} in VPIRFlags()
797 return CmpPredicate; in getPredicate()
803 CmpPredicate = Pred; in setPredicate()

12