LLVM 20.0.0git
Functions
AMDGPUAsmPrinter.cpp File Reference

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/TargetRegistry.h"
#include "llvm/Support/AMDHSAKernelDescriptor.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 AsmPrintercreateAMDGPUAsmPrinterPass (TargetMachine &tm, std::unique_ptr< MCStreamer > &&Streamer)
 
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUAsmPrinter ()
 
static const MCExprcomputeAccumOffset (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)
 
static amd_element_byte_size_t getElementByteSizeValue (unsigned Size)
 

Detailed Description

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.

Function Documentation

◆ computeAccumOffset()

static const MCExpr * computeAccumOffset ( const MCExpr NumVGPR,
MCContext Ctx 
)
static

◆ createAMDGPUAsmPrinterPass()

static AsmPrinter * createAMDGPUAsmPrinterPass ( TargetMachine tm,
std::unique_ptr< MCStreamer > &&  Streamer 
)
static

Definition at line 81 of file AMDGPUAsmPrinter.cpp.

Referenced by LLVMInitializeAMDGPUAsmPrinter().

◆ EmitPALMetadataCommon()

static void EmitPALMetadataCommon ( AMDGPUPALMetadata MD,
const SIProgramInfo CurrentProgramInfo,
CallingConv::ID  CC,
const GCNSubtarget ST 
)
static

◆ getElementByteSizeValue()

static amd_element_byte_size_t getElementByteSizeValue ( unsigned  Size)
static

◆ getFPMode()

static uint32_t getFPMode ( SIModeRegisterDefaults  Mode)
static

◆ getRsrcReg()

static unsigned getRsrcReg ( CallingConv::ID  CallConv)
static

◆ LLVMInitializeAMDGPUAsmPrinter()

LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUAsmPrinter ( )