Lines Matching refs:IIQ

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