diff options
-rw-r--r-- | llvm/include/llvm/ADT/APInt.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/llvm/include/llvm/ADT/APInt.h b/llvm/include/llvm/ADT/APInt.h index 0338beec7ff..0f82654a88f 100644 --- a/llvm/include/llvm/ADT/APInt.h +++ b/llvm/include/llvm/ADT/APInt.h @@ -366,7 +366,7 @@ public: /// that 0 is not a positive value. /// /// \returns true if this APInt is positive. - bool isStrictlyPositive() const { return isNonNegative() && !!*this; } + bool isStrictlyPositive() const { return isNonNegative() && !isNullValue(); } /// \brief Determine if all bits are set /// @@ -377,6 +377,11 @@ public: return countPopulationSlowCase() == BitWidth; } + /// \brief Determine if all bits are set + /// + /// This checks to see if the value has all bits of the APInt are set or not. + bool isNullValue() const { return !*this; } + /// \brief Determine if this is the largest unsigned value. /// /// This checks to see if the value of this APInt is the maximum unsigned @@ -395,7 +400,7 @@ public: /// /// This checks to see if the value of this APInt is the minimum unsigned /// value for the APInt's bit width. - bool isMinValue() const { return !*this; } + bool isMinValue() const { return isNullValue(); } /// \brief Determine if this is the smallest signed value. /// @@ -1711,7 +1716,7 @@ public: return VAL - 1; // Handle the zero case. - if (!getBoolValue()) + if (isNullValue()) return UINT32_MAX; // The non-zero case is handled by computing: |