aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/ADT/APInt.h9
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;