unsigned MinTrailingZeros = LHS.countMinTrailingZeros();
// Minimum shift amount low bits are known zero.
- if (RHS.getMinValue().ult(BitWidth)) {
- MinTrailingZeros += RHS.getMinValue().getZExtValue();
+ APInt MinShiftAmount = RHS.getMinValue();
+ if (MinShiftAmount.ult(BitWidth)) {
+ MinTrailingZeros += MinShiftAmount.getZExtValue();
MinTrailingZeros = std::min(MinTrailingZeros, BitWidth);
}
unsigned MinLeadingZeros = LHS.countMinLeadingZeros();
// Minimum shift amount high bits are known zero.
- if (RHS.getMinValue().ult(BitWidth)) {
- MinLeadingZeros += RHS.getMinValue().getZExtValue();
+ APInt MinShiftAmount = RHS.getMinValue();
+ if (MinShiftAmount.ult(BitWidth)) {
+ MinLeadingZeros += MinShiftAmount.getZExtValue();
MinLeadingZeros = std::min(MinLeadingZeros, BitWidth);
}
unsigned MinLeadingOnes = LHS.countMinLeadingOnes();
// Minimum shift amount high bits are known sign bits.
- if (RHS.getMinValue().ult(BitWidth)) {
+ APInt MinShiftAmount = RHS.getMinValue();
+ if (MinShiftAmount.ult(BitWidth)) {
if (MinLeadingZeros) {
- MinLeadingZeros += RHS.getMinValue().getZExtValue();
+ MinLeadingZeros += MinShiftAmount.getZExtValue();
MinLeadingZeros = std::min(MinLeadingZeros, BitWidth);
}
if (MinLeadingOnes) {
- MinLeadingOnes += RHS.getMinValue().getZExtValue();
+ MinLeadingOnes += MinShiftAmount.getZExtValue();
MinLeadingOnes = std::min(MinLeadingOnes, BitWidth);
}
}