[APInt] Take advantage of new operator*=(uint64_t) to remove a temporary APInt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302403 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Craig Topper
2017-05-08 04:55:12 +00:00
parent 1e5158d3c8
commit b33f45017e
+1 -5
View File
@@ -1842,10 +1842,6 @@ void APInt::fromString(unsigned numbits, StringRef str, uint8_t radix) {
// Figure out if we can shift instead of multiply
unsigned shift = (radix == 16 ? 4 : radix == 8 ? 3 : radix == 2 ? 1 : 0);
// Set up an APInt for the radix multiplier outside the loop so we don't
// constantly construct/destruct it.
APInt apradix(getBitWidth(), radix);
// Enter digit traversal loop
for (StringRef::iterator e = str.end(); p != e; ++p) {
unsigned digit = getDigit(*p, radix);
@@ -1856,7 +1852,7 @@ void APInt::fromString(unsigned numbits, StringRef str, uint8_t radix) {
if (shift)
*this <<= shift;
else
*this *= apradix;
*this *= radix;
}
// Add in the digit we just interpreted