|
LLVM 23.0.0git
|
#include "llvm/Support/CHERICapabilityFormat.h"
Public Member Functions | |
| CHERICapabilityFormatBase ()=delete | |
Static Public Member Functions | |
| static AddressType | getAlignmentMask (AddressType Length) |
Returns the "alignment mask" for an allocation of size Length. | |
| static Align | getRequiredAlignment (AddressType Length) |
Returns the required alignment for an allocation of size Length. | |
| static AddressType | getRepresentableLength (AddressType Length) |
Returns Length rounded up to the nearest representable allocation length. | |
Static Public Attributes | |
| static constexpr AddressType | AddressMask = ~static_cast<AddressType>(0) |
Definition at line 18 of file CHERICapabilityFormat.h.
|
delete |
|
inlinestatic |
Returns the "alignment mask" for an allocation of size Length.
This mask is 0 where the capability format alignment requires the address to be 0, and 1 otherwise.
Definition at line 26 of file CHERICapabilityFormat.h.
References llvm::Length.
Referenced by llvm::RVYCapabilityFormat< uint32_t, 10, 24 >::CHERICapabilityFormatBase< RVYCapabilityFormat< AddressType, MW, MAX_E >, AddressType >, and getRequiredAlignment().
|
inlinestatic |
Returns Length rounded up to the nearest representable allocation length.
Definition at line 37 of file CHERICapabilityFormat.h.
|
inlinestatic |
Returns the required alignment for an allocation of size Length.
Definition at line 31 of file CHERICapabilityFormat.h.
References AddressMask, getAlignmentMask(), and llvm::Length.
|
staticconstexpr |
Definition at line 21 of file CHERICapabilityFormat.h.
Referenced by getRequiredAlignment().