Home
last modified time | relevance | path

Searched refs:IsAnd (Results 1 – 10 of 10) sorted by relevance

/freebsd-13.1/contrib/llvm-project/llvm/lib/Analysis/
H A DOverflowInstAnalysis.cpp22 bool llvm::isCheckForZeroAndMulWithOverflow(Value *Op0, Value *Op1, bool IsAnd, in isCheckForZeroAndMulWithOverflow() argument
56 (IsAnd && Pred == ICmpInst::Predicate::ICMP_NE && in isCheckForZeroAndMulWithOverflow()
58 (!IsAnd && Pred == ICmpInst::Predicate::ICMP_EQ && in isCheckForZeroAndMulWithOverflow()
69 bool IsAnd) { in isCheckForZeroAndMulWithOverflow() argument
71 return isCheckForZeroAndMulWithOverflow(Op0, Op1, IsAnd, Y); in isCheckForZeroAndMulWithOverflow()
H A DInstructionSimplify.cpp1483 EqPred == ICmpInst::ICMP_EQ && IsAnd) in simplifyUnsignedRangeCheck()
1529 return IsAnd ? ZeroICmp : UnsignedICmp; in simplifyUnsignedRangeCheck()
1535 return IsAnd ? UnsignedICmp : ZeroICmp; in simplifyUnsignedRangeCheck()
1545 return IsAnd ? UnsignedICmp : ZeroICmp; in simplifyUnsignedRangeCheck()
1550 return IsAnd ? ZeroICmp : UnsignedICmp; in simplifyUnsignedRangeCheck()
1554 IsAnd) in simplifyUnsignedRangeCheck()
1559 !IsAnd) in simplifyUnsignedRangeCheck()
1649 return IsAnd ? Cmp1 : Cmp0; in simplifyAndOrOfICmpsWithConstants()
1651 return IsAnd ? Cmp0 : Cmp1; in simplifyAndOrOfICmpsWithConstants()
1663 if ((IsAnd && P0 != ICmpInst::ICMP_NE) || (!IsAnd && P1 != ICmpInst::ICMP_EQ)) in simplifyAndOrOfICmpsWithZero()
[all …]
H A DLazyValueInfo.cpp1170 bool IsAnd; in getValueFromConditionImpl() local
1172 IsAnd = true; in getValueFromConditionImpl()
1174 IsAnd = false; in getValueFromConditionImpl()
1185 if ((isTrueDest ^ IsAnd) && (LV != Visited.end())) { in getValueFromConditionImpl()
H A DScalarEvolution.cpp7936 bool IsAnd = false; in computeExitLimitFromCondFromBinOp() local
7938 IsAnd = true; in computeExitLimitFromCondFromBinOp()
7940 IsAnd = false; in computeExitLimitFromCondFromBinOp()
7947 bool EitherMayExit = IsAnd ^ ExitIfTrue; in computeExitLimitFromCondFromBinOp()
7956 const Constant *NeutralElement = ConstantInt::get(ExitCond->getType(), IsAnd); in computeExitLimitFromCondFromBinOp()
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DOverflowInstAnalysis.h40 bool isCheckForZeroAndMulWithOverflow(Value *Op0, Value *Op1, bool IsAnd,
42 bool isCheckForZeroAndMulWithOverflow(Value *Op0, Value *Op1, bool IsAnd);
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineAndOrXor.cpp529 if (!IsAnd) { in foldLogOpOfMaskedICmpsAsymmetric()
535 LHS, RHS, IsAnd, A, B, C, D, E, in foldLogOpOfMaskedICmpsAsymmetric()
541 RHS, LHS, IsAnd, A, D, E, B, C, in foldLogOpOfMaskedICmpsAsymmetric()
587 if (!IsAnd) { in foldLogOpOfMaskedICmps()
1029 IsAnd) in foldUnsignedUnderflowCheck()
1035 !IsAnd) in foldUnsignedUnderflowCheck()
1055 EqPred == ICmpInst::ICMP_NE && IsAnd) in foldUnsignedUnderflowCheck()
1062 EqPred == ICmpInst::ICMP_EQ && !IsAnd) in foldUnsignedUnderflowCheck()
1067 IsAnd) in foldUnsignedUnderflowCheck()
1072 !IsAnd) in foldUnsignedUnderflowCheck()
[all …]
H A DInstCombineInternal.h353 Value *foldLogicOfFCmps(FCmpInst *LHS, FCmpInst *RHS, bool IsAnd);
356 Instruction *CxtI, bool IsAnd,
369 bool IsAnd);
H A DInstCombineSelect.cpp2586 bool IsAnd) { in foldAndOrOfSelectUsingImpliedCond() argument
2594 Optional<bool> Res = isImpliedCondition(Op, CondVal, DL, IsAnd); in foldAndOrOfSelectUsingImpliedCond()
2602 if (IsAnd) in foldAndOrOfSelectUsingImpliedCond()
2613 if (IsAnd) in foldAndOrOfSelectUsingImpliedCond()
2743 bool IsAnd = match(FalseVal, m_Zero()) ? true : false; in visitSelectInst() local
2744 Value *Op1 = IsAnd ? TrueVal : FalseVal; in visitSelectInst()
2745 if (isCheckForZeroAndMulWithOverflow(CondVal, Op1, IsAnd, Y)) { in visitSelectInst()
2754 /* IsAnd */ IsAnd)) in visitSelectInst()
2759 if (auto *V = foldAndOrOfICmpsOfAndWithPow2(ICmp0, ICmp1, &SI, IsAnd, in visitSelectInst()
/freebsd-13.1/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DDAGCombiner.cpp551 SDValue foldLogicOfSetCCs(bool IsAnd, SDValue N0, SDValue N1,
5007 bool AndEqZero = IsAnd && CC1 == ISD::SETEQ && IsZero; in foldLogicOfSetCCs()
5009 bool AndGtNeg1 = IsAnd && CC1 == ISD::SETGT && IsNeg1; in foldLogicOfSetCCs()
5011 bool OrNeZero = !IsAnd && CC1 == ISD::SETNE && IsZero; in foldLogicOfSetCCs()
5013 bool OrLtZero = !IsAnd && CC1 == ISD::SETLT && IsZero; in foldLogicOfSetCCs()
5026 bool AndEqNeg1 = IsAnd && CC1 == ISD::SETEQ && IsNeg1; in foldLogicOfSetCCs()
5028 bool AndLtZero = IsAnd && CC1 == ISD::SETLT && IsZero; in foldLogicOfSetCCs()
5030 bool OrNeNeg1 = !IsAnd && CC1 == ISD::SETNE && IsNeg1; in foldLogicOfSetCCs()
5032 bool OrGtNeg1 = !IsAnd && CC1 == ISD::SETGT && IsNeg1; in foldLogicOfSetCCs()
5064 if ((IsAnd && CC1 == ISD::SETEQ) || (!IsAnd && CC1 == ISD::SETNE)) { in foldLogicOfSetCCs()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64ISelLowering.cpp9895 bool IsAnd = And.getOpcode() == ISD::AND; in tryLowerToSLI() local
9904 if (IsAnd) { in tryLowerToSLI()