diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-02-26 01:20:59 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-02-26 01:20:59 +0000 |
commit | dcffd5c3d90f295c90bc211a9c402e1fc18f8b12 (patch) | |
tree | c46b36acb6cade62ce2a2bcf4dc539f63b5a5421 | |
parent | ba81c2b87163d2dbc3c26d5bf12850d841173b64 (diff) |
Add an isNegative method to determine if the APInt's value is negative.
This is much less expensive than a test against zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34619 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/ADT/APInt.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/llvm/ADT/APInt.h b/include/llvm/ADT/APInt.h index b08da956ab..489675d3b7 100644 --- a/include/llvm/ADT/APInt.h +++ b/include/llvm/ADT/APInt.h @@ -352,6 +352,13 @@ public: return !slt(RHS); } + /// This just tests the high bit of this APInt to determine if it is negative. + /// @returns true if this APInt is negative, false otherwise + /// @brief Determine sign of this APInt. + bool isNegative() { + return (*this)[BitWidth - 1]; + } + /// Arithmetic right-shift this APInt by shiftAmt. /// @brief Arithmetic right-shift function. APInt ashr(uint32_t shiftAmt) const; |