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