LLVM 22.0.0git
|
Impl is where Bifield description and Storage are put together to interact with values. More...
#include "llvm/ADT/Bitfields.h"
Public Types | |
using | IntegerType = typename Bitfield::IntegerType |
Static Public Member Functions | |
static void | checkValue (IntegerType UserValue, IntegerType UserMaxValue) |
Validates that UserValue fits within the bitfield's range. | |
static void | update (StorageType &Packed, IntegerType UserValue) |
Checks UserValue is within bounds and packs it between FirstBit and LastBit of Packed leaving the rest unchanged. | |
static IntegerType | extract (StorageType Packed) |
Interprets bits between FirstBit and LastBit of Packed as anIntegerType. | |
static StorageType | test (StorageType Packed) |
Interprets bits between FirstBit and LastBit of Packed as anIntegerType. |
Static Public Attributes | |
static constexpr size_t | StorageBits = sizeof(StorageType) * CHAR_BIT |
static constexpr StorageType | LowMask |
static constexpr StorageType | Mask = LowMask << Bitfield::Shift |
Impl is where Bifield description and Storage are put together to interact with values.
Definition at line 97 of file Bitfields.h.
using llvm::bitfields_details::Impl< Bitfield, StorageType >::IntegerType = typename Bitfield::IntegerType |
Definition at line 100 of file Bitfields.h.
|
inlinestatic |
Validates that UserValue fits within the bitfield's range.
Definition at line 110 of file Bitfields.h.
References assert(), llvm::isInt(), and llvm::isUInt().
Referenced by update().
|
inlinestatic |
Interprets bits between FirstBit and LastBit of Packed as anIntegerType.
Definition at line 132 of file Bitfields.h.
References Mask, and llvm::SignExtend64().
|
inlinestatic |
Interprets bits between FirstBit and LastBit of Packed as anIntegerType.
Definition at line 141 of file Bitfields.h.
References Mask.
|
inlinestatic |
Checks UserValue is within bounds and packs it between FirstBit and LastBit of Packed leaving the rest unchanged.
Definition at line 123 of file Bitfields.h.
References checkValue(), LowMask, and Mask.
|
staticconstexpr |
Definition at line 105 of file Bitfields.h.
Referenced by update().
|
staticconstexpr |
Definition at line 107 of file Bitfields.h.
|
staticconstexpr |
Definition at line 102 of file Bitfields.h.