LLVM 22.0.0git
|
The AMDGPUAsmPrinter is used to print both assembly string and also binary code. More...
#include "AMDGPUAsmPrinter.h"
#include "AMDGPU.h"
#include "AMDGPUHSAMetadataStreamer.h"
#include "AMDGPUMCResourceInfo.h"
#include "AMDGPUResourceUsageAnalysis.h"
#include "GCNSubtarget.h"
#include "MCTargetDesc/AMDGPUInstPrinter.h"
#include "MCTargetDesc/AMDGPUMCExpr.h"
#include "MCTargetDesc/AMDGPUMCKernelDescriptor.h"
#include "MCTargetDesc/AMDGPUTargetStreamer.h"
#include "R600AsmPrinter.h"
#include "SIMachineFunctionInfo.h"
#include "TargetInfo/AMDGPUTargetInfo.h"
#include "Utils/AMDGPUBaseInfo.h"
#include "Utils/AMDKernelCodeTUtils.h"
#include "Utils/SIDefinesUtils.h"
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/MachineOptimizationRemarkEmitter.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/MC/MCAssembler.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCSectionELF.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCValue.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/AMDHSAKernelDescriptor.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Target/TargetLoweringObjectFile.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/TargetParser/TargetParser.h"
Go to the source code of this file.
Functions | |
static uint32_t | getFPMode (SIModeRegisterDefaults Mode) |
static AsmPrinter * | createAMDGPUAsmPrinterPass (TargetMachine &tm, std::unique_ptr< MCStreamer > &&Streamer) |
LLVM_ABI LLVM_EXTERNAL_VISIBILITY void | LLVMInitializeAMDGPUAsmPrinter () |
static const MCExpr * | computeAccumOffset (const MCExpr *NumVGPR, MCContext &Ctx) |
static unsigned | getRsrcReg (CallingConv::ID CallConv) |
static void | EmitPALMetadataCommon (AMDGPUPALMetadata *MD, const SIProgramInfo &CurrentProgramInfo, CallingConv::ID CC, const GCNSubtarget &ST, unsigned DynamicVGPRBlockSize) |
static amd_element_byte_size_t | getElementByteSizeValue (unsigned Size) |
The AMDGPUAsmPrinter is used to print both assembly string and also binary code.
When passed an MCAsmStreamer it prints assembly and when passed an MCObjectStreamer it outputs binary code.
Definition in file AMDGPUAsmPrinter.cpp.
Definition at line 964 of file AMDGPUAsmPrinter.cpp.
References llvm::MCConstantExpr::create(), llvm::AMDGPUMCExpr::createAlignTo(), llvm::MCBinaryExpr::createDiv(), llvm::AMDGPUMCExpr::createMax(), and llvm::MCBinaryExpr::createSub().
|
static |
Definition at line 83 of file AMDGPUAsmPrinter.cpp.
Referenced by LLVMInitializeAMDGPUAsmPrinter().
|
static |
Definition at line 1427 of file AMDGPUAsmPrinter.cpp.
References llvm::SIProgramInfo::EXCPEnable, llvm::SIProgramInfo::FwdProgress, llvm::AMDGPU::getLdsDwGranularity(), llvm::SIProgramInfo::IEEEMode, llvm::AMDGPU::isCompute(), llvm::SIProgramInfo::LdsSize, llvm::SIProgramInfo::MemOrdered, llvm::AMDGPUPALMetadata::setComputeRegisters(), llvm::AMDGPUPALMetadata::setHwStage(), llvm::SIProgramInfo::TrapHandlerEnable, and llvm::SIProgramInfo::WgpMode.
|
static |
Definition at line 1580 of file AMDGPUAsmPrinter.cpp.
References AMD_ELEMENT_16_BYTES, AMD_ELEMENT_4_BYTES, AMD_ELEMENT_8_BYTES, llvm_unreachable, and Size.
|
static |
Definition at line 75 of file AMDGPUAsmPrinter.cpp.
References FP_DENORM_MODE_DP, FP_DENORM_MODE_SP, FP_ROUND_MODE_DP, FP_ROUND_MODE_SP, and FP_ROUND_ROUND_TO_NEAREST.
|
static |
Definition at line 1316 of file AMDGPUAsmPrinter.cpp.
References llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_ES, llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::CallingConv::AMDGPU_LS, llvm::CallingConv::AMDGPU_PS, llvm::CallingConv::AMDGPU_VS, R_00B028_SPI_SHADER_PGM_RSRC1_PS, R_00B128_SPI_SHADER_PGM_RSRC1_VS, R_00B228_SPI_SHADER_PGM_RSRC1_GS, R_00B328_SPI_SHADER_PGM_RSRC1_ES, R_00B428_SPI_SHADER_PGM_RSRC1_HS, R_00B528_SPI_SHADER_PGM_RSRC1_LS, and R_00B848_COMPUTE_PGM_RSRC1.
LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUAsmPrinter | ( | ) |
Definition at line 89 of file AMDGPUAsmPrinter.cpp.
References createAMDGPUAsmPrinterPass(), llvm::createR600AsmPrinterPass(), llvm::getTheGCNTarget(), llvm::getTheR600Target(), and llvm::TargetRegistry::RegisterAsmPrinter().