aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2007-02-26 01:20:59 +0000
committerReid Spencer <rspencer@reidspencer.com>2007-02-26 01:20:59 +0000
commitdcffd5c3d90f295c90bc211a9c402e1fc18f8b12 (patch)
treec46b36acb6cade62ce2a2bcf4dc539f63b5a5421
parentba81c2b87163d2dbc3c26d5bf12850d841173b64 (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.h7
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;