From: Chris Lattner Date: Wed, 13 Oct 2010 23:54:10 +0000 (+0000) Subject: constify these methods. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;ds=sidebyside;h=0a0a585e6bfc112cb8346b17edecb76969fb5532;p=oota-llvm.git constify these methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116455 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/APInt.h b/include/llvm/ADT/APInt.h index 525b3ddc069..f5d8c13590d 100644 --- a/include/llvm/ADT/APInt.h +++ b/include/llvm/ADT/APInt.h @@ -808,10 +808,10 @@ public: // Operations that return overflow indicators. // ssub_ov - Signed subtraction. Unsigned subtraction never overflows. - APInt sadd_ov(const APInt &RHS, bool &Overflow); - APInt ssub_ov(const APInt &RHS, bool &Overflow); - APInt sdiv_ov(const APInt &RHS, bool &Overflow); - APInt smul_ov(const APInt &RHS, bool &Overflow); + APInt sadd_ov(const APInt &RHS, bool &Overflow) const; + APInt ssub_ov(const APInt &RHS, bool &Overflow) const; + APInt sdiv_ov(const APInt &RHS, bool &Overflow) const; + APInt smul_ov(const APInt &RHS, bool &Overflow) const; APInt sshl_ov(unsigned Amt, bool &Overflow); /// @returns the bit value at bitPosition diff --git a/lib/Support/APInt.cpp b/lib/Support/APInt.cpp index 51203f6091d..ca68988712d 100644 --- a/lib/Support/APInt.cpp +++ b/lib/Support/APInt.cpp @@ -2046,27 +2046,27 @@ void APInt::udivrem(const APInt &LHS, const APInt &RHS, divide(LHS, lhsWords, RHS, rhsWords, &Quotient, &Remainder); } -APInt APInt::sadd_ov(const APInt &RHS, bool &Overflow) { +APInt APInt::sadd_ov(const APInt &RHS, bool &Overflow) const { APInt Res = *this+RHS; Overflow = isNonNegative() == RHS.isNonNegative() && Res.isNonNegative() != isNonNegative(); return Res; } -APInt APInt::ssub_ov(const APInt &RHS, bool &Overflow) { +APInt APInt::ssub_ov(const APInt &RHS, bool &Overflow) const { APInt Res = *this - RHS; Overflow = isNonNegative() != RHS.isNonNegative() && Res.isNonNegative() != isNonNegative(); return Res; } -APInt APInt::sdiv_ov(const APInt &RHS, bool &Overflow) { +APInt APInt::sdiv_ov(const APInt &RHS, bool &Overflow) const { // MININT/-1 --> overflow. Overflow = isMinSignedValue() && RHS.isAllOnesValue(); return sdiv(RHS); } -APInt APInt::smul_ov(const APInt &RHS, bool &Overflow) { +APInt APInt::smul_ov(const APInt &RHS, bool &Overflow) const { APInt Res = *this * RHS; if (*this != 0 && RHS != 0) @@ -2076,7 +2076,7 @@ APInt APInt::smul_ov(const APInt &RHS, bool &Overflow) { return Res; } -APInt APInt::sshl_ov(unsigned ShAmt, bool &Overflow) { +APInt APInt::sshl_ov(unsigned ShAmt, bool &Overflow) const { Overflow = ShAmt >= getBitWidth(); if (Overflow) ShAmt = getBitWidth()-1;