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.
bool isChainFunction() const
Align DynLDSAlign
Align for dynamic shared memory if any.
uint32_t StaticLDSSize
Number of bytes in the LDS allocated statically.
bool isMemoryBound() const
static std::optional< uint32_t > getLDSKernelIdMetadata(const Function &F)
uint64_t getExplicitKernArgSize() const
uint32_t getGDSSize() const
bool isModuleEntryFunction() const
Align getMaxKernArgAlign() const
void setDynLDSAlign(const Function &F, const GlobalVariable &GV)
uint64_t ExplicitKernArgSize
unsigned allocateLDSGlobal(const DataLayout &DL, const GlobalVariable &GV)
AMDGPUMachineFunctionInfo(const Function &F, const AMDGPUSubtarget &ST)
void setUsesDynamicLDS(bool DynLDS)
bool needsWaveLimiter() const
uint32_t NumNamedBarriers
Align getDynLDSAlign() const
bool IsModuleEntryFunction
void recordNumNamedBarriers(uint32_t GVAddr, unsigned BarCnt)
bool isBottomOfStack() const
uint32_t getLDSSize() const
uint32_t LDSSize
Number of bytes in the LDS that are being used.
bool hasInitWholeWave() const
uint32_t getNumNamedBarriers() const
static std::optional< uint32_t > getLDSAbsoluteAddress(const GlobalValue &GV)
bool isDynamicLDSUsed() const
bool isEntryFunction() 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...