[APInt] Remove an APInt copy from the return of APInt::multiplicativeInverse.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302816 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Craig Topper
2017-05-11 18:40:53 +00:00
parent 3daa11c74b
commit 483eed9183
+4 -1
View File
@@ -1141,7 +1141,10 @@ APInt APInt::multiplicativeInverse(const APInt& modulo) const {
// interested in a positive inverse. Calculate a positive one from a negative
// one if necessary. A simple addition of the modulo suffices because
// abs(t[i]) is known to be less than *this/2 (see the link above).
return t[i].isNegative() ? t[i] + modulo : t[i];
if (t[i].isNegative())
t[i] += modulo;
return std::move(t[i]);
}
/// Calculate the magic numbers required to implement a signed integer division