| /freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | OverflowInstAnalysis.cpp | 21 bool llvm::isCheckForZeroAndMulWithOverflow(Value *Op0, Value *Op1, bool IsAnd, in isCheckForZeroAndMulWithOverflow() argument 55 (IsAnd && Pred == ICmpInst::Predicate::ICMP_NE && in isCheckForZeroAndMulWithOverflow() 57 (!IsAnd && Pred == ICmpInst::Predicate::ICMP_EQ && in isCheckForZeroAndMulWithOverflow() 68 bool IsAnd) { in isCheckForZeroAndMulWithOverflow() argument 70 return isCheckForZeroAndMulWithOverflow(Op0, Op1, IsAnd, Y); in isCheckForZeroAndMulWithOverflow()
|
| H A D | InstructionSimplify.cpp | 1566 EqPred == ICmpInst::ICMP_EQ && IsAnd) in simplifyUnsignedRangeCheck() 1573 return IsAnd ? UnsignedICmp : ZeroICmp; in simplifyUnsignedRangeCheck() 1579 return IsAnd ? ZeroICmp : UnsignedICmp; in simplifyUnsignedRangeCheck() 1612 return IsAnd ? ZeroICmp : UnsignedICmp; in simplifyUnsignedRangeCheck() 1618 return IsAnd ? UnsignedICmp : ZeroICmp; in simplifyUnsignedRangeCheck() 1628 return IsAnd ? UnsignedICmp : ZeroICmp; in simplifyUnsignedRangeCheck() 1633 return IsAnd ? ZeroICmp : UnsignedICmp; in simplifyUnsignedRangeCheck() 1637 IsAnd) in simplifyUnsignedRangeCheck() 1642 !IsAnd) in simplifyUnsignedRangeCheck() 1681 return IsAnd ? Cmp1 : Cmp0; in simplifyAndOrOfICmpsWithConstants() [all …]
|
| H A D | LazyValueInfo.cpp | 1280 bool IsAnd; in getValueFromCondition() local 1282 IsAnd = true; in getValueFromCondition() 1284 IsAnd = false; in getValueFromCondition() 1301 if (IsTrueDest ^ IsAnd) { in getValueFromCondition()
|
| H A D | ValueTracking.cpp | 836 bool IsAnd = false; in getKnownBitsFromAndXorOr() local 843 IsAnd = true; in getKnownBitsFromAndXorOr() 892 if (IsAnd) in getKnownBitsFromAndXorOr()
|
| H A D | ScalarEvolution.cpp | 8991 bool IsAnd = false; in computeExitLimitFromCondFromBinOp() local 8993 IsAnd = true; in computeExitLimitFromCondFromBinOp() 8995 IsAnd = false; in computeExitLimitFromCondFromBinOp() 9002 bool EitherMayExit = IsAnd ^ ExitIfTrue; in computeExitLimitFromCondFromBinOp() 9011 const Constant *NeutralElement = ConstantInt::get(ExitCond->getType(), IsAnd); in computeExitLimitFromCondFromBinOp()
|
| /freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | OverflowInstAnalysis.h | 38 bool isCheckForZeroAndMulWithOverflow(Value *Op0, Value *Op1, bool IsAnd, 40 bool isCheckForZeroAndMulWithOverflow(Value *Op0, Value *Op1, bool IsAnd);
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineAndOrXor.cpp | 461 if (!IsAnd) { in foldLogOpOfMaskedICmpsAsymmetric() 467 LHS, RHS, IsAnd, A, B, C, D, E, in foldLogOpOfMaskedICmpsAsymmetric() 473 RHS, LHS, IsAnd, A, D, E, B, C, in foldLogOpOfMaskedICmpsAsymmetric() 520 if (!IsAnd) { in foldLogOpOfMaskedICmps() 1057 IsAnd && GetKnownNonZeroAndOther(B, A)) in foldUnsignedUnderflowCheck() 1190 if ((IsAnd && Pred0 != ICmpInst::ICMP_EQ) || in foldAndOrOfICmpsWithConstEq() 1191 (!IsAnd && Pred0 != ICmpInst::ICMP_NE)) in foldAndOrOfICmpsWithConstEq() 1281 if (IsAnd) in foldAndOrOfICmpsUsingRanges() 1379 !IsAnd))) { in foldLogicOfFCmps() 3223 if (IsAnd && !IsLogical) in foldAndOrOfICmps() [all …]
|
| H A D | InstCombineInternal.h | 403 bool IsAnd, bool IsLogical = false); 406 Value *foldEqOfParts(ICmpInst *Cmp0, ICmpInst *Cmp1, bool IsAnd); 409 bool IsAnd); 414 Value *foldLogicOfFCmps(FCmpInst *LHS, FCmpInst *RHS, bool IsAnd, 424 Instruction *CxtI, bool IsAnd, 442 bool IsAnd);
|
| H A D | InstCombineSelect.cpp | 2663 std::optional<bool> Res = isImpliedCondition(Op, CondVal, DL, IsAnd); in foldAndOrOfSelectUsingImpliedCond() 2671 if (IsAnd) in foldAndOrOfSelectUsingImpliedCond() 2682 if (IsAnd) in foldAndOrOfSelectUsingImpliedCond() 3109 bool IsAnd = match(FalseVal, m_Zero()) ? true : false; in foldSelectOfBools() local 3110 Value *Op1 = IsAnd ? TrueVal : FalseVal; in foldSelectOfBools() 3111 if (isCheckForZeroAndMulWithOverflow(CondVal, Op1, IsAnd, Y)) { in foldSelectOfBools() 3125 if (auto *V = foldAndOrOfICmps(ICmp0, ICmp1, SI, IsAnd, in foldSelectOfBools() 3817 auto FoldSelectWithAndOrCond = [&](bool IsAnd, Value *A, in visitSelectInst() 3821 return SelectInst::Create(A, IsAnd ? V : TrueVal, IsAnd ? FalseVal : V); in visitSelectInst() 3827 return SelectInst::Create(A, IsAnd ? V : TrueVal, in visitSelectInst() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | ConstraintElimination.cpp | 1105 bool IsAnd = match(Cond, m_LogicalAnd()); in addInfoFor() local 1108 if (IsOr && IsAnd) in addInfoFor() 1109 IsAnd = false; in addInfoFor() 1136 if (IsAnd && match(Cur, m_LogicalAnd(m_Value(Op0), m_Value(Op1)))) { in addInfoFor()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | DAGCombiner.cpp | 598 SDValue foldLogicOfSetCCs(bool IsAnd, SDValue N0, SDValue N1, 5969 bool AndEqZero = IsAnd && CC1 == ISD::SETEQ && IsZero; in foldLogicOfSetCCs() 5971 bool AndGtNeg1 = IsAnd && CC1 == ISD::SETGT && IsNeg1; in foldLogicOfSetCCs() 5973 bool OrNeZero = !IsAnd && CC1 == ISD::SETNE && IsZero; in foldLogicOfSetCCs() 5975 bool OrLtZero = !IsAnd && CC1 == ISD::SETLT && IsZero; in foldLogicOfSetCCs() 5988 bool AndEqNeg1 = IsAnd && CC1 == ISD::SETEQ && IsNeg1; in foldLogicOfSetCCs() 5990 bool AndLtZero = IsAnd && CC1 == ISD::SETLT && IsZero; in foldLogicOfSetCCs() 5992 bool OrNeNeg1 = !IsAnd && CC1 == ISD::SETNE && IsNeg1; in foldLogicOfSetCCs() 5994 bool OrGtNeg1 = !IsAnd && CC1 == ISD::SETGT && IsNeg1; in foldLogicOfSetCCs() 6026 if ((IsAnd && CC1 == ISD::SETEQ) || (!IsAnd && CC1 == ISD::SETNE)) { in foldLogicOfSetCCs() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVISelLowering.cpp | 12605 bool IsAnd = N->getOpcode() == ISD::AND; in combineDeMorganOfBoolean() local 12620 if (!isOneConstant(N11) && !(IsAnd && isAllOnesConstant(N11))) in combineDeMorganOfBoolean() 12624 if (!(IsAnd && isAllOnesConstant(N01))) in combineDeMorganOfBoolean() 12641 unsigned Opc = IsAnd ? ISD::OR : ISD::AND; in combineDeMorganOfBoolean() 14378 bool IsAnd = Cond.getOpcode() == ISD::AND; in tryDemorganOfBooleanCondition() local 14379 if (!IsAnd && Cond.getOpcode() != ISD::OR) in tryDemorganOfBooleanCondition() 14398 if (!isOneConstant(Xor1) && !(IsAnd && isAllOnesConstant(Xor1))) in tryDemorganOfBooleanCondition() 14431 unsigned Opc = IsAnd ? ISD::OR : ISD::AND; in tryDemorganOfBooleanCondition()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64ISelLowering.cpp | 12773 bool IsAnd = And.getOpcode() == ISD::AND; in tryLowerToSLI() local 12796 if (IsAnd) { in tryLowerToSLI()
|