From 0427e63e867261bb75a7a11c060ba3ede7fcee33 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sat, 29 Apr 2017 17:46:11 +0000 Subject: [PATCH] [ConstantRange] Use APInt::operator-= to remove temporary APInts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301751 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/IR/ConstantRange.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/IR/ConstantRange.cpp b/lib/IR/ConstantRange.cpp index fd678c28256..754844e371a 100644 --- a/lib/IR/ConstantRange.cpp +++ b/lib/IR/ConstantRange.cpp @@ -597,7 +597,7 @@ ConstantRange ConstantRange::truncate(uint32_t DstTySize) const { if (LowerDiv.uge(MaxValue)) { APInt Div(getBitWidth(), 0); APInt::udivrem(LowerDiv, MaxBitValue, Div, LowerDiv); - UpperDiv = UpperDiv - MaxBitValue * Div; + UpperDiv -= MaxBitValue * Div; } if (UpperDiv.ule(MaxValue)) @@ -605,10 +605,10 @@ ConstantRange ConstantRange::truncate(uint32_t DstTySize) const { UpperDiv.trunc(DstTySize)).unionWith(Union); // The truncated value wraps around. Check if we can do better than fullset. - APInt UpperModulo = UpperDiv - MaxBitValue; - if (UpperModulo.ult(LowerDiv)) + UpperDiv -= MaxBitValue; + if (UpperDiv.ult(LowerDiv)) return ConstantRange(LowerDiv.trunc(DstTySize), - UpperModulo.trunc(DstTySize)).unionWith(Union); + UpperDiv.trunc(DstTySize)).unionWith(Union); return ConstantRange(DstTySize, /*isFullSet=*/true); } -- 2.40.0