Go to the documentation of this file.
9 #ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUMACHINEFUNCTION_H
10 #define LLVM_LIB_TARGET_AMDGPU_AMDGPUMACHINEFUNCTION_H
Align getMaxKernArgAlign() const
static std::optional< uint32_t > getLDSKernelIdMetadata(const Function &F)
This is an optimization pass for GlobalISel generic memory operations.
uint64_t ExplicitKernArgSize
A parsed version of the target data layout string in and methods for querying it.
Align getDynLDSAlign() const
uint32_t LDSSize
Number of bytes in the LDS that are being used.
uint32_t getLDSSize() const
static const GlobalVariable * getKernelLDSGlobalFromFunction(const Function &F)
bool needsWaveLimiter() const
unsigned allocateLDSGlobal(const DataLayout &DL, const GlobalVariable &GV)
This struct is a compact representation of a valid (non-zero power of two) alignment.
void allocateKnownAddressLDSGlobal(const Function &F)
bool isEntryFunction() const
bool IsModuleEntryFunction
uint64_t getExplicitKernArgSize() const
uint32_t getGDSSize() const
bool isMemoryBound() const
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
uint32_t StaticLDSSize
Number of bytes in the LDS allocated statically.
static unsigned calculateKnownAddressOfLDSGlobal(const GlobalVariable &GV)
bool isModuleEntryFunction() const
bool hasNoSignedZerosFPMath() const
static const Function * getKernelLDSFunctionFromGlobal(const GlobalVariable &GV)
AMDGPUMachineFunction(const Function &F, const AMDGPUSubtarget &ST)
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
Align DynLDSAlign
Align for dynamic shared memory if any.
static bool isKnownAddressLDSGlobal(const GlobalVariable &GV)
void setDynLDSAlign(const DataLayout &DL, const GlobalVariable &GV)