OSDN Git Service

Add an isNegative method to determine if the APInt's value is negative.
authorReid Spencer <rspencer@reidspencer.com>
Mon, 26 Feb 2007 01:20:59 +0000 (01:20 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Mon, 26 Feb 2007 01:20:59 +0000 (01:20 +0000)
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

include/llvm/ADT/APInt.h

index b08da95..489675d 100644 (file)
@@ -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;