LLVM: llvm::DataLayout::PointerSpec Struct Reference (original) (raw)
Pointer type specification. More...
#include "[llvm/IR/DataLayout.h](DataLayout%5F8h%5Fsource.html)"
| Public Attributes | |
|---|---|
| uint32_t | AddrSpace |
| uint32_t | BitWidth |
| Align | ABIAlign |
| Align | PrefAlign |
| uint32_t | IndexBitWidth |
| The index bit width also defines the address size in this address space. | |
| bool | HasUnstableRepresentation |
| Pointers in this address space don't have a well-defined bitwise representation (e.g. | |
| bool | HasExternalState |
| Pointers in this address space have additional state bits that are located at a target-defined location when stored in memory. |
Pointer type specification.
Definition at line 75 of file DataLayout.h.
◆ operator==()
◆ ABIAlign
Align llvm::DataLayout::PointerSpec::ABIAlign
◆ AddrSpace
uint32_t llvm::DataLayout::PointerSpec::AddrSpace
◆ BitWidth
uint32_t llvm::DataLayout::PointerSpec::BitWidth
◆ HasExternalState
bool llvm::DataLayout::PointerSpec::HasExternalState
Pointers in this address space have additional state bits that are located at a target-defined location when stored in memory.
An example of this would be CHERI capabilities where the validity bit is stored separately from the pointer address+bounds information.
Definition at line 94 of file DataLayout.h.
Referenced by operator==().
◆ HasUnstableRepresentation
bool llvm::DataLayout::PointerSpec::HasUnstableRepresentation
Pointers in this address space don't have a well-defined bitwise representation (e.g.
they may be relocated by a copying garbage collector and thus have different addresses at different times).
Definition at line 89 of file DataLayout.h.
Referenced by operator==().
◆ IndexBitWidth
uint32_t llvm::DataLayout::PointerSpec::IndexBitWidth
The index bit width also defines the address size in this address space.
If the index width is less than the representation bit width, the pointer is non-integral and bits beyond the index width could be used for additional metadata (e.g. AMDGPU buffer fat pointers with bounds and other flags or CHERI capabilities that contain bounds+permissions).
Definition at line 85 of file DataLayout.h.
Referenced by operator==().
◆ PrefAlign
Align llvm::DataLayout::PointerSpec::PrefAlign
The documentation for this struct was generated from the following files:
- include/llvm/IR/DataLayout.h
- lib/IR/DataLayout.cpp