Lines Matching defs:IIQ
912 if (Q.IIQ.UseInstrInfo &&
1104 if ((IsSigned && Q.IIQ.hasNoSignedWrap(Mul)) ||
1105 (!IsSigned && Q.IIQ.hasNoUnsignedWrap(Mul)) ||
1178 if (Q.IIQ.UseInstrInfo) {
1409 if (Q.IIQ.UseInstrInfo &&
1444 if (Q.IIQ.UseInstrInfo && match(Op0, m_NUWShl(m_Value(X), m_Specific(Op1))))
1454 if (Q.IIQ.UseInstrInfo && match(Op1, m_APInt(ShRAmt)) &&
1488 if (Q.IIQ.UseInstrInfo && match(Op0, m_NSWShl(m_Value(X), m_Specific(Op1))))
1653 const InstrInfoQuery &IIQ) {
1669 bool IsNSW = IIQ.hasNoSignedWrap(AddInst);
1670 bool IsNUW = IIQ.hasNoUnsignedWrap(AddInst);
1735 if (Value *X = simplifyAndOfICmpsWithAdd(Op0, Op1, Q.IIQ))
1737 if (Value *X = simplifyAndOfICmpsWithAdd(Op1, Op0, Q.IIQ))
1744 const InstrInfoQuery &IIQ) {
1760 bool IsNSW = IIQ.hasNoSignedWrap(AddInst);
1761 bool IsNUW = IIQ.hasNoUnsignedWrap(AddInst);
1805 if (Value *X = simplifyOrOfICmpsWithAdd(Op0, Op1, Q.IIQ))
1807 if (Value *X = simplifyOrOfICmpsWithAdd(Op1, Op0, Q.IIQ))
2140 if (Q.IIQ.UseInstrInfo && match(Op1, m_APInt(Mask)) &&
2995 Value *RHS, const InstrInfoQuery &IIQ) {
3021 computeConstantRange(LHS, CmpInst::isSigned(Pred), IIQ.UseInstrInfo);
3032 if (IIQ.UseInstrInfo && ICmpInst::isEquality(Pred) &&
3226 const InstrInfoQuery &IIQ) {
3228 if (Pred != CmpInst::ICMP_SLT || !IIQ.UseInstrInfo)
3266 Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(LBO))) ||
3268 Q.IIQ.hasNoSignedWrap(cast<OverflowingBinaryOperator>(LBO)));
3276 Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(RBO))) ||
3278 Q.IIQ.hasNoSignedWrap(cast<OverflowingBinaryOperator>(RBO)));
3297 trySimplifyICmpWithAdds(Pred, LHS, RHS, Q.IIQ);
3366 if (Q.IIQ.hasNoSignedWrap(cast<OverflowingBinaryOperator>(LBO)) ||
3367 Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(LBO)) ||
3394 bool NUW = Q.IIQ.hasNoUnsignedWrap(LBO) && Q.IIQ.hasNoUnsignedWrap(RBO);
3395 bool NSW = Q.IIQ.hasNoSignedWrap(LBO) && Q.IIQ.hasNoSignedWrap(RBO);
3443 if (ICmpInst::isSigned(Pred) || !Q.IIQ.isExact(LBO) ||
3444 !Q.IIQ.isExact(RBO))
3451 if (!ICmpInst::isEquality(Pred) || !Q.IIQ.isExact(LBO) ||
3452 !Q.IIQ.isExact(RBO))
3459 if (!Q.IIQ.isExact(LBO) || !Q.IIQ.isExact(RBO))
3466 bool NUW = Q.IIQ.hasNoUnsignedWrap(LBO) && Q.IIQ.hasNoUnsignedWrap(RBO);
3467 bool NSW = Q.IIQ.hasNoSignedWrap(LBO) && Q.IIQ.hasNoSignedWrap(RBO);
3726 const InstrInfoQuery &IIQ) {
3728 if (MDNode *MD = IIQ.getMetadata(I, LLVMContext::MD_range))
3780 if (Value *V = simplifyICmpWithConstant(Pred, LHS, RHS, Q.IIQ))
3785 if (std::optional<ConstantRange> RhsCr = getRange(RHS, Q.IIQ))
3786 if (std::optional<ConstantRange> LhsCr = getRange(LHS, Q.IIQ)) {
3997 isKnownNonEqual(LHS, RHS, Q.DL, Q.AC, Q.CxtI, Q.DT, Q.IIQ.UseInstrInfo)) {
7119 NewOps[0], NewOps[1], Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)),
7120 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q, MaxRecurse);
7126 NewOps[0], NewOps[1], Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)),
7127 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q, MaxRecurse);
7133 NewOps[0], NewOps[1], Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)),
7134 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q, MaxRecurse);
7137 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q,
7141 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q,
7155 NewOps[0], NewOps[1], Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)),
7156 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q, MaxRecurse);
7159 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q,
7163 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q,