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 1078 of file AMDGPUPALMetadata.cpp.
References N, and refComputeRegister().
Definition at line 1072 of file AMDGPUPALMetadata.cpp.
References N, and refComputeRegister().
|
inline |
Definition at line 151 of file AMDGPUPALMetadata.h.
unsigned AMDGPUPALMetadata::getPALMajorVersion | ( | ) |
Definition at line 1040 of file AMDGPUPALMetadata.cpp.
unsigned AMDGPUPALMetadata::getPALMinorVersion | ( | ) |
Definition at line 1042 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 994 of file AMDGPUPALMetadata.cpp.
Referenced by llvm::AMDGPUTargetELFStreamer::finish().
Definition at line 986 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 1066 of file AMDGPUPALMetadata.cpp.
References I.
Referenced by checkComputeRegisters().
void AMDGPUPALMetadata::reset | ( | ) |
Definition at line 1009 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 1018 of file AMDGPUPALMetadata.cpp.
References llvm::DelayedMCExprs::empty().
Definition at line 1062 of file AMDGPUPALMetadata.cpp.
Definition at line 1058 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 841 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 338 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::Document::getNode().
Definition at line 363 of file AMDGPUPALMetadata.cpp.
References llvm::DelayedMCExprs::assignDocNode(), and llvm::msgpack::UInt.
Definition at line 357 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::Document::getNode().
Definition at line 350 of file AMDGPUPALMetadata.cpp.
References llvm::DelayedMCExprs::assignDocNode(), and llvm::msgpack::UInt.
Definition at line 344 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::Document::getNode().
Definition at line 331 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::Document::getNode().
Definition at line 1088 of file AMDGPUPALMetadata.cpp.
Definition at line 1084 of file AMDGPUPALMetadata.cpp.
Definition at line 1097 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::DocNode::getMap().
Definition at line 1092 of file AMDGPUPALMetadata.cpp.
References llvm::msgpack::DocNode::getMap().
Definition at line 1049 of file AMDGPUPALMetadata.cpp.
References CC.
void AMDGPUPALMetadata::setHwStage | ( | unsigned | CC, |
StringRef | field, | ||
msgpack::Type | Type, | ||
const MCExpr * | Val | ||
) |
Definition at line 1053 of file AMDGPUPALMetadata.cpp.
References llvm::DelayedMCExprs::assignDocNode(), and CC.
Definition at line 1045 of file AMDGPUPALMetadata.cpp.
References CC.
Referenced by EmitPALMetadataCommon(), setNumUsedAgprs(), setNumUsedSgprs(), setNumUsedVgprs(), and setScratchSize().
void AMDGPUPALMetadata::setLegacy | ( | ) |
Definition at line 1004 of file AMDGPUPALMetadata.cpp.
References llvm::ELF::NT_AMD_PAL_METADATA.
Definition at line 274 of file AMDGPUPALMetadata.cpp.
References CC, setHwStage(), and llvm::msgpack::UInt.
Definition at line 270 of file AMDGPUPALMetadata.cpp.
References CC.
Definition at line 294 of file AMDGPUPALMetadata.cpp.
References CC, getScratchSizeKey(), setHwStage(), setRegister(), and llvm::msgpack::UInt.
Definition at line 281 of file AMDGPUPALMetadata.cpp.
References CC, llvm::msgpack::Document::getNode(), getScratchSizeKey(), and setRegister().
Definition at line 255 of file AMDGPUPALMetadata.cpp.
References CC, getScratchSizeKey(), setHwStage(), setRegister(), and llvm::msgpack::UInt.
Definition at line 242 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 319 of file AMDGPUPALMetadata.cpp.
References CC, getScratchSizeKey(), setHwStage(), setRegister(), and llvm::msgpack::UInt.
Definition at line 309 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 371 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 814 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 761 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().