From a18988518869a84cb4d6510e265b1fb1a52268d1 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Wed, 14 Mar 2012 00:01:35 +0000 Subject: [PATCH] Move APInt::operator! inline, it's small and fuses well with surrounding code when inlined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152688 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/APInt.h | 10 +++++++++- lib/Support/APInt.cpp | 10 ---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/include/llvm/ADT/APInt.h b/include/llvm/ADT/APInt.h index b08564ca733..d8ed2224985 100644 --- a/include/llvm/ADT/APInt.h +++ b/include/llvm/ADT/APInt.h @@ -561,7 +561,15 @@ public: /// Performs logical negation operation on this APInt. /// @returns true if *this is zero, false otherwise. /// @brief Logical negation operator. - bool operator!() const; + bool operator!() const { + if (isSingleWord()) + return !VAL; + + for (unsigned i = 0; i != getNumWords(); ++i) + if (pVal[i]) + return false; + return true; + } /// @} /// @name Assignment Operators diff --git a/lib/Support/APInt.cpp b/lib/Support/APInt.cpp index e5423f153c3..c5713a0eb17 100644 --- a/lib/Support/APInt.cpp +++ b/lib/Support/APInt.cpp @@ -457,16 +457,6 @@ APInt APInt::XorSlowCase(const APInt& RHS) const { return APInt(val, getBitWidth()).clearUnusedBits(); } -bool APInt::operator !() const { - if (isSingleWord()) - return !VAL; - - for (unsigned i = 0; i < getNumWords(); ++i) - if (pVal[i]) - return false; - return true; -} - APInt APInt::operator*(const APInt& RHS) const { assert(BitWidth == RHS.BitWidth && "Bit widths must be the same"); if (isSingleWord()) -- 2.34.1