diff options
-rw-r--r-- | include/llvm/ADT/APInt.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/llvm/ADT/APInt.h b/include/llvm/ADT/APInt.h index 07e22fc982..aec9e5610a 100644 --- a/include/llvm/ADT/APInt.h +++ b/include/llvm/ADT/APInt.h @@ -106,7 +106,7 @@ class APInt { /// @returns a uint64_t type integer with just bit position at /// "whichBit(bitPosition)" setting, others zero. static inline uint64_t maskBit(uint32_t bitPosition) { - return (static_cast<uint64_t>(1)) << whichBit(bitPosition); + return 1ULL << whichBit(bitPosition); } /// This method is used internally to clear the to "N" bits that are not used @@ -365,6 +365,13 @@ public: return (*this)[BitWidth - 1]; } + /// This just tests the high bit of the APInt to determine if the value is + /// positove or not. + /// @brief Determine if this APInt Value is positive. + bool isPositive() const { + return !isNegative(); + } + /// Arithmetic right-shift this APInt by shiftAmt. /// @brief Arithmetic right-shift function. APInt ashr(uint32_t shiftAmt) const; |