Lines Matching refs:APInt
21 SignedDivisionByConstantInfo SignedDivisionByConstantInfo::get(const APInt &D) { in get()
27 APInt Delta; in get()
28 APInt SignedMin = APInt::getSignedMinValue(D.getBitWidth()); in get()
31 APInt AD = D.abs(); in get()
32 APInt T = SignedMin + (D.lshr(D.getBitWidth() - 1)); in get()
33 APInt ANC = T - 1 - T.urem(AD); // absolute value of NC in get()
35 APInt Q1, R1, Q2, R2; in get()
37 APInt::udivrem(SignedMin, ANC, Q1, R1); in get()
39 APInt::udivrem(SignedMin, AD, Q2, R2); in get()
74 UnsignedDivisionByConstantInfo::get(const APInt &D, unsigned LeadingZeros, in get()
79 APInt Delta; in get()
82 APInt AllOnes = in get()
83 APInt::getLowBitsSet(D.getBitWidth(), D.getBitWidth() - LeadingZeros); in get()
84 APInt SignedMin = APInt::getSignedMinValue(D.getBitWidth()); in get()
85 APInt SignedMax = APInt::getSignedMaxValue(D.getBitWidth()); in get()
88 APInt NC = AllOnes - (AllOnes + 1 - D).urem(D); in get()
91 APInt Q1, R1, Q2, R2; in get()
93 APInt::udivrem(SignedMin, NC, Q1, R1); in get()
95 APInt::udivrem(SignedMax, D, Q2, R2); in get()
137 APInt ShiftedD = D.lshr(PreShift); in get()