#include "AMDGPUMachineFunction.h"
#include "AMDGPU.h"
#include "AMDGPUPerfHintAnalysis.h"
#include "AMDGPUSubtarget.h"
#include "Utils/AMDGPUBaseInfo.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/IR/ConstantRange.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Metadata.h"
#include "llvm/Target/TargetMachine.h"
usingnamespacellvm;
static const GlobalVariable *
getKernelDynLDSGlobalFromFunction(const Function &F) { … }
static bool hasLDSKernelArgument(const Function &F) { … }
AMDGPUMachineFunction::AMDGPUMachineFunction(const Function &F,
const AMDGPUSubtarget &ST)
: … { … }
unsigned AMDGPUMachineFunction::allocateLDSGlobal(const DataLayout &DL,
const GlobalVariable &GV,
Align Trailing) { … }
std::optional<uint32_t>
AMDGPUMachineFunction::getLDSKernelIdMetadata(const Function &F) { … }
std::optional<uint32_t>
AMDGPUMachineFunction::getLDSAbsoluteAddress(const GlobalValue &GV) { … }
void AMDGPUMachineFunction::setDynLDSAlign(const Function &F,
const GlobalVariable &GV) { … }
void AMDGPUMachineFunction::setUsesDynamicLDS(bool DynLDS) { … }
bool AMDGPUMachineFunction::isDynamicLDSUsed() const { … }