[llvm-commits] CVS: llvm/include/llvm/DerivedTypes.h

Chris Lattner sabre at nondot.org
Sun Mar 4 15:33:36 PST 2007



Changes in directory llvm/include/llvm:

DerivedTypes.h updated: 1.86 -> 1.87
---
Log message:

add a getSignBit method, elimiante virtual method from getBitMask()


---
Diffs of the changes:  (+7 -1)

 DerivedTypes.h |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletion(-)


Index: llvm/include/llvm/DerivedTypes.h
diff -u llvm/include/llvm/DerivedTypes.h:1.86 llvm/include/llvm/DerivedTypes.h:1.87
--- llvm/include/llvm/DerivedTypes.h:1.86	Wed Feb 28 22:02:06 2007
+++ llvm/include/llvm/DerivedTypes.h	Sun Mar  4 17:33:19 2007
@@ -106,9 +106,15 @@
   /// that can be set by an unsigned version of this type.  This is 0xFF for
   /// sbyte/ubyte, 0xFFFF for shorts, etc.
   uint64_t getBitMask() const {
-    return ~uint64_t(0UL) >> (64-getPrimitiveSizeInBits());
+    return ~uint64_t(0UL) >> (64-getBitWidth());
   }
 
+  /// getSignBit - Return a uint64_t with just the most significant bit set (the
+  /// sign bit, if the value is treated as a signed number).
+  uint64_t getSignBit() const {
+    return 1ULL << (getBitWidth()-1);
+  }
+  
   /// For example, this is 0xFF for an 8 bit integer, 0xFFFF for i16, etc.
   /// @returns a bit mask with ones set for all the bits of this type.
   /// @brief Get a bit mask for this type.






More information about the llvm-commits mailing list