LLVM 20.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. | |
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 . | |
MaybeAlign & | operator= (const MaybeAlign &Other)=default |
MaybeAlign (MaybeAlign &&Other)=default | |
MaybeAlign & | operator= (MaybeAlign &&Other)=default |
constexpr | MaybeAlign (std::nullopt_t None) |
constexpr | MaybeAlign (Align Value) |
MaybeAlign (uint64_t Value) | |
Align | valueOrOne () const |
For convenience, returns a valid alignment or 1 if undefined. | |
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 |
|
inlineconstexpr |
Definition at line 131 of file Alignment.h.
|
inlineconstexpr |
Definition at line 132 of file Alignment.h.
|
inlineexplicit |
Definition at line 133 of file Alignment.h.
References assert(), emplace(), and llvm::isPowerOf2_64().
|
default |
|
default |
|
inline |
For convenience, returns a valid alignment or 1 if undefined.
Definition at line 141 of file Alignment.h.
Referenced by AddReturnAttributes(), llvm::RISCVRegisterInfo::adjustReg(), llvm::SPIRVGlobalRegistry::buildGlobalVariable(), llvm::CC_RISCV(), llvm::CC_RISCV_FastCC(), llvm::AMDGPU::HSAMD::MetadataStreamerMsgPackV4::emitKernelArg(), llvm::expandAtomicMemCpyAsLoop(), llvm::expandMemCpyAsLoop(), llvm::expandMemMoveAsLoop(), llvm::expandMemSetAsLoop(), llvm::expandMemSetPatternAsLoop(), llvm::object::SectionRef::getAlignment(), llvm::ConstantInt::getAlignValue(), getFrameLayout(), llvm::AMDGPU::getInterestingMemoryOperands(), llvm::HexagonTTIImpl::getMemoryOpCost(), llvm::X86TTIImpl::getMemoryOpCost(), llvm::ISD::ArgFlagsTy::getNonZeroMemAlign(), llvm::ISD::ArgFlagsTy::getNonZeroOrigAlign(), HandleByValArgument(), llvm::MIRParserImpl::initializeMachineFunction(), llvm::AttributeSet::intersectWith(), llvm::VETargetLowering::lowerDYNAMIC_STACKALLOC(), optimizeCallInst(), llvm::CoroAnnotationElidePass::run(), scalarizeMaskedCompressStore(), scalarizeMaskedExpandLoad(), tocDataChecks(), and llvm::InstCombinerImpl::visitCallInst().