diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2023-12-18 20:30:12 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2024-04-06 20:11:55 +0000 |
commit | 5f757f3ff9144b609b3c433dfd370cc6bdc191ad (patch) | |
tree | 1b4e980b866cd26a00af34c0a653eb640bd09caf /contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp | |
parent | 3e1c8a35f741a5d114d0ba670b15191355711fe9 (diff) | |
parent | 312c0ed19cc5276a17bacf2120097bec4515b0f1 (diff) |
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp')
-rw-r--r-- | contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp b/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp index a92d574b1848..0fa67c559cb2 100644 --- a/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp +++ b/contrib/llvm-project/llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp @@ -18,7 +18,6 @@ #include "AMDGPUPTNote.h" #include "SIDefines.h" #include "llvm/BinaryFormat/ELF.h" -#include "llvm/CodeGen/MachineFunction.h" #include "llvm/IR/Constants.h" #include "llvm/IR/Module.h" #include "llvm/Support/AMDGPUMetadata.h" @@ -84,7 +83,6 @@ bool AMDGPUPALMetadata::setFromLegacyBlob(StringRef Blob) { // Set PAL metadata from msgpack blob. bool AMDGPUPALMetadata::setFromMsgPackBlob(StringRef Blob) { - msgpack::Reader Reader(Blob); return MsgPackDoc.readFromBlob(Blob, /*Multi=*/false); } @@ -242,30 +240,29 @@ void AMDGPUPALMetadata::setScratchSize(CallingConv::ID CC, unsigned Val) { } // Set the stack frame size of a function in the metadata. -void AMDGPUPALMetadata::setFunctionScratchSize(const MachineFunction &MF, - unsigned Val) { - auto Node = getShaderFunction(MF.getFunction().getName()); +void AMDGPUPALMetadata::setFunctionScratchSize(StringRef FnName, unsigned Val) { + auto Node = getShaderFunction(FnName); Node[".stack_frame_size_in_bytes"] = MsgPackDoc.getNode(Val); + Node[".backend_stack_size"] = MsgPackDoc.getNode(Val); } // Set the amount of LDS used in bytes in the metadata. -void AMDGPUPALMetadata::setFunctionLdsSize(const MachineFunction &MF, - unsigned Val) { - auto Node = getShaderFunction(MF.getFunction().getName()); +void AMDGPUPALMetadata::setFunctionLdsSize(StringRef FnName, unsigned Val) { + auto Node = getShaderFunction(FnName); Node[".lds_size"] = MsgPackDoc.getNode(Val); } // Set the number of used vgprs in the metadata. -void AMDGPUPALMetadata::setFunctionNumUsedVgprs(const MachineFunction &MF, +void AMDGPUPALMetadata::setFunctionNumUsedVgprs(StringRef FnName, unsigned Val) { - auto Node = getShaderFunction(MF.getFunction().getName()); + auto Node = getShaderFunction(FnName); Node[".vgpr_count"] = MsgPackDoc.getNode(Val); } // Set the number of used vgprs in the metadata. -void AMDGPUPALMetadata::setFunctionNumUsedSgprs(const MachineFunction &MF, +void AMDGPUPALMetadata::setFunctionNumUsedSgprs(StringRef FnName, unsigned Val) { - auto Node = getShaderFunction(MF.getFunction().getName()); + auto Node = getShaderFunction(FnName); Node[".sgpr_count"] = MsgPackDoc.getNode(Val); } @@ -726,7 +723,7 @@ void AMDGPUPALMetadata::toLegacyBlob(std::string &Blob) { if (Registers.getMap().empty()) return; raw_string_ostream OS(Blob); - support::endian::Writer EW(OS, support::endianness::little); + support::endian::Writer EW(OS, llvm::endianness::little); for (auto I : Registers.getMap()) { EW.write(uint32_t(I.first.getUInt())); EW.write(uint32_t(I.second.getUInt())); @@ -911,6 +908,7 @@ void AMDGPUPALMetadata::reset() { MsgPackDoc.clear(); Registers = MsgPackDoc.getEmptyNode(); HwStages = MsgPackDoc.getEmptyNode(); + ShaderFunctions = MsgPackDoc.getEmptyNode(); } unsigned AMDGPUPALMetadata::getPALVersion(unsigned idx) { |