diff --git a/include/llvm/DerivedTypes.h b/include/llvm/DerivedTypes.h index 08a7aeffe3b..13e127a612a 100644 --- a/include/llvm/DerivedTypes.h +++ b/include/llvm/DerivedTypes.h @@ -19,6 +19,7 @@ #define LLVM_DERIVED_TYPES_H #include "llvm/Type.h" +#include "llvm/ADT/APInt.h" namespace llvm { @@ -108,6 +109,13 @@ public: return ~uint64_t(0UL) >> (64-getPrimitiveSizeInBits()); } + /// 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. + APInt getMask() const { + return APInt::getAllOnesValue(getBitWidth()); + } + /// This method determines if the width of this IntegerType is a power-of-2 /// in terms of 8 bit bytes. /// @returns true if this is a power-of-2 byte width.