[APInt] Remove unnecessary checks of rhsWords==1 with lhsWords==1 from udiv and udivrem. NFC

At this point in the code rhsWords is guaranteed to be non-zero and less than or equal to lhsWords. So if lhsWords is 1, rhsWords must also be 1. urem alread had the check removed so this makes all 3 consistent.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302930 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Craig Topper 2017-05-12 18:18:57 +00:00
parent 593d52aaad
commit e2c79618d4

View File

@ -1579,7 +1579,7 @@ APInt APInt::udiv(const APInt& RHS) const {
if (*this == RHS)
// X / X ===> 1
return APInt(BitWidth, 1);
if (lhsWords == 1 && rhsWords == 1)
if (lhsWords == 1) // rhsWords is 1 if lhsWords is 1.
// All high words are zero, just use native divide
return APInt(BitWidth, this->U.pVal[0] / RHS.U.pVal[0]);
@ -1682,7 +1682,7 @@ void APInt::udivrem(const APInt &LHS, const APInt &RHS,
return;
}
if (lhsWords == 1 && rhsWords == 1) {
if (lhsWords == 1) { // rhsWords is 1 if lhsWords is 1.
// There is only one word to consider so use the native versions.
uint64_t lhsValue = LHS.U.pVal[0];
uint64_t rhsValue = RHS.U.pVal[0];