LLVM 20.0.0git
|
#include "Target/AMDGPU/Utils/AMDGPUPALMetadata.h"
Public Types | |
using | RegisterExprMap = DenseMap< unsigned, const MCExpr * > |
Definition at line 26 of file AMDGPUPALMetadata.h.
Definition at line 28 of file AMDGPUPALMetadata.h.
Definition at line 1079 of file AMDGPUPALMetadata.cpp.
References N, and refComputeRegister().
Definition at line 1073 of file AMDGPUPALMetadata.cpp.
References N, and refComputeRegister().
|
inline |
Definition at line 151 of file AMDGPUPALMetadata.h.
unsigned AMDGPUPALMetadata::getPALMajorVersion | ( | ) |
Definition at line 1041 of file AMDGPUPALMetadata.cpp.
unsigned AMDGPUPALMetadata::getPALMinorVersion | ( | ) |
Definition at line 1043 of file AMDGPUPALMetadata.cpp.
Definition at line 170 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::Document::getNode(), N, and llvm::msgpack::UInt.
unsigned AMDGPUPALMetadata::getType | ( | ) | const |
Definition at line 995 of file AMDGPUPALMetadata.cpp.
Referenced by llvm::AMDGPUTargetELFStreamer::finish().
Definition at line 987 of file AMDGPUPALMetadata.cpp.
References llvm::AMDGPU::ElfNote::NoteNameV2, and llvm::AMDGPU::ElfNote::NoteNameV3.
Referenced by llvm::AMDGPUTargetELFStreamer::finish().
void AMDGPUPALMetadata::readFromIR | ( | Module & | M | ) |
Definition at line 31 of file AMDGPUPALMetadata.cpp.
References I, llvm::ELF::NT_AMD_PAL_METADATA, llvm::ELF::NT_AMDGPU_METADATA, and setRegister().
msgpack::DocNode * AMDGPUPALMetadata::refComputeRegister | ( | StringRef | field | ) |
Definition at line 1067 of file AMDGPUPALMetadata.cpp.
References I.
Referenced by checkComputeRegisters().
void AMDGPUPALMetadata::reset | ( | ) |
Definition at line 1010 of file AMDGPUPALMetadata.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::clear(), llvm::msgpack::Document::clear(), llvm::DelayedMCExprs::clear(), and llvm::msgpack::Document::getEmptyNode().
Referenced by llvm::AMDGPUTargetAsmStreamer::finish(), and llvm::AMDGPUTargetELFStreamer::finish().
bool AMDGPUPALMetadata::resolvedAllMCExpr | ( | ) |
Definition at line 1019 of file AMDGPUPALMetadata.cpp.
References llvm::DelayedMCExprs::empty().
Definition at line 1063 of file AMDGPUPALMetadata.cpp.
Definition at line 1059 of file AMDGPUPALMetadata.cpp.
Definition at line 231 of file AMDGPUPALMetadata.cpp.
References CC, llvm::msgpack::Document::getNode(), and Name.
Definition at line 70 of file AMDGPUPALMetadata.cpp.
References llvm::ELF::NT_AMD_PAL_METADATA.
Definition at line 842 of file AMDGPUPALMetadata.cpp.
References llvm::StringRef::consumeInteger(), llvm::errs(), llvm::msgpack::Document::fromYAML(), llvm::msgpack::DocNode::getMap(), llvm::msgpack::Document::getMapNode(), llvm::msgpack::Document::getNode(), I, llvm::ELF::NT_AMDGPU_METADATA, and llvm::msgpack::String.
Definition at line 339 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::Document::getNode().
Definition at line 364 of file AMDGPUPALMetadata.cpp.
References llvm::DelayedMCExprs::assignDocNode(), and llvm::msgpack::UInt.
Definition at line 358 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::Document::getNode().
Definition at line 351 of file AMDGPUPALMetadata.cpp.
References llvm::DelayedMCExprs::assignDocNode(), and llvm::msgpack::UInt.
Definition at line 345 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::Document::getNode().
Definition at line 332 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::Document::getNode().
Definition at line 1089 of file AMDGPUPALMetadata.cpp.
Definition at line 1085 of file AMDGPUPALMetadata.cpp.
Definition at line 1098 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::DocNode::getMap().
Definition at line 1093 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::DocNode::getMap().
Definition at line 1050 of file AMDGPUPALMetadata.cpp.
References CC.
void AMDGPUPALMetadata::setHwStage | ( | unsigned | CC, |
StringRef | field, | ||
msgpack::Type | Type, | ||
const MCExpr * | Val | ||
) |
Definition at line 1054 of file AMDGPUPALMetadata.cpp.
References llvm::DelayedMCExprs::assignDocNode(), and CC.
Definition at line 1046 of file AMDGPUPALMetadata.cpp.
References CC.
Referenced by EmitPALMetadataCommon(), setNumUsedAgprs(), setNumUsedSgprs(), setNumUsedVgprs(), and setScratchSize().
void AMDGPUPALMetadata::setLegacy | ( | ) |
Definition at line 1005 of file AMDGPUPALMetadata.cpp.
References llvm::ELF::NT_AMD_PAL_METADATA.
Definition at line 275 of file AMDGPUPALMetadata.cpp.
References CC, setHwStage(), and llvm::msgpack::UInt.
Definition at line 271 of file AMDGPUPALMetadata.cpp.
References CC.
Definition at line 295 of file AMDGPUPALMetadata.cpp.
References CC, getScratchSizeKey(), setHwStage(), setRegister(), and llvm::msgpack::UInt.
Definition at line 282 of file AMDGPUPALMetadata.cpp.
References CC, llvm::msgpack::Document::getNode(), getScratchSizeKey(), and setRegister().
Definition at line 256 of file AMDGPUPALMetadata.cpp.
References CC, getScratchSizeKey(), setHwStage(), setRegister(), and llvm::msgpack::UInt.
Definition at line 243 of file AMDGPUPALMetadata.cpp.
References CC, llvm::msgpack::Document::getNode(), getScratchSizeKey(), and setRegister().
Definition at line 198 of file AMDGPUPALMetadata.cpp.
References llvm::DelayedMCExprs::assignDocNode(), llvm::MCConstantExpr::create(), llvm::MCBinaryExpr::createOr(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::msgpack::Document::getNode(), N, and llvm::msgpack::UInt.
Definition at line 183 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::Document::getNode(), N, and llvm::msgpack::UInt.
Referenced by readFromIR(), setNumUsedSgprs(), setNumUsedVgprs(), setRsrc1(), setRsrc2(), setScratchSize(), setSpiPsInputAddr(), setSpiPsInputEna(), and setWave32().
Definition at line 141 of file AMDGPUPALMetadata.cpp.
References CC, getRsrc1Reg(), and setRegister().
Definition at line 137 of file AMDGPUPALMetadata.cpp.
References CC, getRsrc1Reg(), and setRegister().
Definition at line 152 of file AMDGPUPALMetadata.cpp.
References CC, getRsrc1Reg(), and setRegister().
Definition at line 148 of file AMDGPUPALMetadata.cpp.
References CC, getRsrc1Reg(), and setRegister().
Definition at line 320 of file AMDGPUPALMetadata.cpp.
References CC, getScratchSizeKey(), setHwStage(), setRegister(), and llvm::msgpack::UInt.
Definition at line 310 of file AMDGPUPALMetadata.cpp.
References CC, llvm::msgpack::Document::getNode(), getScratchSizeKey(), and setRegister().
void AMDGPUPALMetadata::setSpiPsInputAddr | ( | unsigned | Val | ) |
Definition at line 165 of file AMDGPUPALMetadata.cpp.
References llvm::AMDGPU::PALMD::R_A1B4_SPI_PS_INPUT_ADDR, and setRegister().
void AMDGPUPALMetadata::setSpiPsInputEna | ( | unsigned | Val | ) |
Definition at line 159 of file AMDGPUPALMetadata.cpp.
References llvm::AMDGPU::PALMD::R_A1B3_SPI_PS_INPUT_ENA, and setRegister().
void AMDGPUPALMetadata::setWave32 | ( | unsigned | CC | ) |
Definition at line 372 of file AMDGPUPALMetadata.cpp.
References llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::CallingConv::AMDGPU_PS, llvm::CallingConv::AMDGPU_VS, CC, llvm::AMDGPU::PALMD::R_2E00_COMPUTE_DISPATCH_INITIATOR, llvm::AMDGPU::PALMD::R_A1B6_SPI_PS_IN_CONTROL, llvm::AMDGPU::PALMD::R_A2D5_VGT_SHADER_STAGES_EN, S_00B800_CS_W32_EN, S_0286D8_PS_W32_EN, S_028B54_GS_W32_EN, S_028B54_HS_W32_EN, S_028B54_VS_W32_EN, and setRegister().
void AMDGPUPALMetadata::toBlob | ( | unsigned | Type, |
std::string & | S | ||
) |
Definition at line 815 of file AMDGPUPALMetadata.cpp.
References llvm::ELF::NT_AMD_PAL_METADATA, and llvm::DelayedMCExprs::resolveDelayedExpressions().
Referenced by llvm::AMDGPUTargetELFStreamer::finish().
void AMDGPUPALMetadata::toString | ( | std::string & | S | ) |
Definition at line 762 of file AMDGPUPALMetadata.cpp.
References llvm::AMDGPU::PALMD::AssemblerDirective, llvm::AMDGPU::PALMD::AssemblerDirectiveBegin, llvm::AMDGPU::PALMD::AssemblerDirectiveEnd, llvm::msgpack::DocNode::getKind(), llvm::msgpack::DocNode::getMap(), llvm::msgpack::Document::getMapNode(), llvm::msgpack::Document::getNode(), getRegisterName(), llvm::msgpack::Document::getRoot(), I, llvm::msgpack::Nil, RegName, llvm::DelayedMCExprs::resolveDelayedExpressions(), llvm::msgpack::Document::setHexMode(), llvm::String, llvm::msgpack::Document::toYAML(), and llvm::Twine::utohexstr().
Referenced by llvm::AMDGPUTargetAsmStreamer::finish().