Lines Matching defs:IIQ
950 if (Q.IIQ.UseInstrInfo &&
1155 if ((IsSigned && Q.IIQ.hasNoSignedWrap(Mul)) ||
1156 (!IsSigned && Q.IIQ.hasNoUnsignedWrap(Mul)) ||
1229 if (Q.IIQ.UseInstrInfo) {
1460 if (Q.IIQ.UseInstrInfo &&
1495 if (Q.IIQ.UseInstrInfo && match(Op0, m_NUWShl(m_Value(X), m_Specific(Op1))))
1505 if (Q.IIQ.UseInstrInfo && match(Op1, m_APInt(ShRAmt)) &&
1539 if (Q.IIQ.UseInstrInfo && match(Op0, m_NSWShl(m_Value(X), m_Specific(Op1))))
1704 const InstrInfoQuery &IIQ) {
1720 bool IsNSW = IIQ.hasNoSignedWrap(AddInst);
1721 bool IsNUW = IIQ.hasNoUnsignedWrap(AddInst);
1786 if (Value *X = simplifyAndOfICmpsWithAdd(Op0, Op1, Q.IIQ))
1788 if (Value *X = simplifyAndOfICmpsWithAdd(Op1, Op0, Q.IIQ))
1795 const InstrInfoQuery &IIQ) {
1811 bool IsNSW = IIQ.hasNoSignedWrap(AddInst);
1812 bool IsNUW = IIQ.hasNoUnsignedWrap(AddInst);
1856 if (Value *X = simplifyOrOfICmpsWithAdd(Op0, Op1, Q.IIQ))
1858 if (Value *X = simplifyOrOfICmpsWithAdd(Op1, Op0, Q.IIQ))
2187 if (Q.IIQ.UseInstrInfo && match(Op1, m_APInt(Mask)) &&
3034 Value *RHS, const InstrInfoQuery &IIQ) {
3060 computeConstantRange(LHS, CmpInst::isSigned(Pred), IIQ.UseInstrInfo);
3071 if (IIQ.UseInstrInfo && ICmpInst::isEquality(Pred) &&
3239 Value *RHS, const InstrInfoQuery &IIQ) {
3241 if (Pred != CmpInst::ICMP_SLT || !IIQ.UseInstrInfo)
3279 Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(LBO))) ||
3281 Q.IIQ.hasNoSignedWrap(cast<OverflowingBinaryOperator>(LBO)));
3289 Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(RBO))) ||
3291 Q.IIQ.hasNoSignedWrap(cast<OverflowingBinaryOperator>(RBO)));
3310 trySimplifyICmpWithAdds(Pred, LHS, RHS, Q.IIQ);
3379 if (Q.IIQ.hasNoSignedWrap(cast<OverflowingBinaryOperator>(LBO)) ||
3380 Q.IIQ.hasNoUnsignedWrap(cast<OverflowingBinaryOperator>(LBO)) ||
3407 bool NUW = Q.IIQ.hasNoUnsignedWrap(LBO) && Q.IIQ.hasNoUnsignedWrap(RBO);
3408 bool NSW = Q.IIQ.hasNoSignedWrap(LBO) && Q.IIQ.hasNoSignedWrap(RBO);
3456 if (ICmpInst::isSigned(Pred) || !Q.IIQ.isExact(LBO) ||
3457 !Q.IIQ.isExact(RBO))
3464 if (!ICmpInst::isEquality(Pred) || !Q.IIQ.isExact(LBO) ||
3465 !Q.IIQ.isExact(RBO))
3472 if (!Q.IIQ.isExact(LBO) || !Q.IIQ.isExact(RBO))
3479 bool NUW = Q.IIQ.hasNoUnsignedWrap(LBO) && Q.IIQ.hasNoUnsignedWrap(RBO);
3480 bool NSW = Q.IIQ.hasNoSignedWrap(LBO) && Q.IIQ.hasNoSignedWrap(RBO);
3737 const InstrInfoQuery &IIQ) {
3739 if (MDNode *MD = IIQ.getMetadata(I, LLVMContext::MD_range))
3792 if (Value *V = simplifyICmpWithConstant(Pred, LHS, RHS, Q.IIQ))
3797 if (std::optional<ConstantRange> RhsCr = getRange(RHS, Q.IIQ))
3798 if (std::optional<ConstantRange> LhsCr = getRange(LHS, Q.IIQ)) {
4009 isKnownNonEqual(LHS, RHS, Q.DL, Q.AC, Q.CxtI, Q.DT, Q.IIQ.UseInstrInfo)) {
7083 NewOps[0], NewOps[1], Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)),
7084 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q, MaxRecurse);
7090 NewOps[0], NewOps[1], Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)),
7091 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q, MaxRecurse);
7097 NewOps[0], NewOps[1], Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)),
7098 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q, MaxRecurse);
7101 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q,
7105 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q,
7119 NewOps[0], NewOps[1], Q.IIQ.hasNoSignedWrap(cast<BinaryOperator>(I)),
7120 Q.IIQ.hasNoUnsignedWrap(cast<BinaryOperator>(I)), Q, MaxRecurse);
7123 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q,
7127 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q,