LLVM
15.0.0git
|
This struct is a compact representation of a valid (power of two) or undefined (0) alignment. More...
#include "llvm/Support/Alignment.h"
Public Member Functions | |
MaybeAlign ()=default | |
Default is undefined. More... | |
MaybeAlign (const MaybeAlign &Other)=default | |
Do not perform checks in case of copy/move construct/assign, because the checks have been performed when building Other . More... | |
MaybeAlign & | operator= (const MaybeAlign &Other)=default |
MaybeAlign (MaybeAlign &&Other)=default | |
MaybeAlign & | operator= (MaybeAlign &&Other)=default |
MaybeAlign (uint64_t Value) | |
Align | valueOrOne () const |
For convenience, returns a valid alignment or 1 if undefined. More... | |
![]() | |
constexpr | Optional ()=default |
constexpr | Optional (NoneType) |
constexpr | Optional (const Align &y) |
constexpr | Optional (const Optional &O)=default |
constexpr | Optional (Align &&y) |
constexpr | Optional (Optional &&O)=default |
constexpr | Optional (in_place_t, ArgTypes &&...Args) |
Optional & | operator= (Align &&y) |
Optional & | operator= (Optional &&O)=default |
Optional & | operator= (const Align &y) |
Optional & | operator= (const Optional &O)=default |
void | emplace (ArgTypes &&... Args) |
Create a new object by constructing it in place with the given arguments. More... | |
void | reset () |
constexpr const Align * | getPointer () const |
Align * | getPointer () |
constexpr const Align & | value () const & |
Align & | value () & |
Align && | value () && |
constexpr const Align & | getValue () const & |
Align & | getValue () & |
Align && | getValue () && |
constexpr | operator bool () const |
constexpr bool | has_value () const |
constexpr bool | hasValue () const |
constexpr const Align * | operator-> () const |
Align * | operator-> () |
constexpr const Align & | operator* () const & |
Align & | operator* () & |
Align && | operator* () && |
constexpr Align | value_or (U &&alt) const & |
Align | value_or (U &&alt) && |
constexpr Align | getValueOr (U &&alt) const & |
Align | getValueOr (U &&alt) && |
auto | map (const Function &F) const &-> Optional< decltype(F(value()))> |
Apply a function to the value if present; otherwise return None. More... | |
auto | map (const Function &F) &&-> Optional< decltype(F(std::move(*this).value()))> |
Apply a function to the value if present; otherwise return None. More... | |
Additional Inherited Members | |
![]() | |
using | value_type = Align |
![]() | |
static constexpr Optional | create (const Align *y) |
This struct is a compact representation of a valid (power of two) or undefined (0) alignment.
Definition at line 117 of file Alignment.h.
|
default |
Default is undefined.
|
default |
Do not perform checks in case of copy/move construct/assign, because the checks have been performed when building Other
.
|
default |
|
inlineexplicit |
Definition at line 134 of file Alignment.h.
References assert(), llvm::Optional< Align >::emplace(), and llvm::isPowerOf2_64().
|
default |
|
default |
|
inline |
For convenience, returns a valid alignment or 1 if undefined.
Definition at line 142 of file Alignment.h.
References Align, and llvm::Optional< Align >::value_or().
Referenced by llvm::SPIRVGlobalRegistry::buildGlobalVariable(), CC_RISCV(), CC_RISCV_FastCC(), llvm::expandAtomicMemCpyAsLoop(), llvm::expandMemCpyAsLoop(), llvm::expandMemMoveAsLoop(), llvm::expandMemSetAsLoop(), llvm::ConstantInt::getAlignValue(), getFrameLayout(), llvm::ISD::ArgFlagsTy::getNonZeroMemAlign(), llvm::ISD::ArgFlagsTy::getNonZeroOrigAlign(), hasTocDataAttr(), and llvm::MIRParserImpl::initializeMachineFunction().