15 #ifndef LLVM_LIB_TARGET_R600_AMDGPUASMPRINTER_H
16 #define LLVM_LIB_TARGET_R600_AMDGPUASMPRINTER_H
25 struct SIProgramInfo {
57 uint64_t ComputePGMRSrc1;
61 uint32_t ScratchBlocks;
63 uint64_t ComputePGMRSrc2;
78 unsigned &NumVGPR)
const;
83 void EmitProgramInfoSI(
const MachineFunction &MF,
const SIProgramInfo &KernelInfo);
85 const SIProgramInfo &KernelInfo)
const;
89 std::unique_ptr<MCStreamer> Streamer);
94 return "AMDGPU Assembly Printer";
105 unsigned AsmVariant,
const char *ExtraCode,
A Module instance is used to store all the information related to an LLVM module. ...
const MachineFunction * MF
The current machine function.
AMDGPUAsmPrinter(TargetMachine &TM, std::unique_ptr< MCStreamer > Streamer)
void EmitInstruction(const MachineInstr *MI) override
Implemented in AMDGPUMCInstLower.cpp.
bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, unsigned AsmVariant, const char *ExtraCode, raw_ostream &O) override
Print the specified operand of MI, an INLINEASM instruction, using the specified assembler variant...
TargetMachine & TM
Target machine description.
This class is intended to be used as a driving class for all asm writers.
void EmitEndOfAsmFile(Module &M) override
This virtual method can be overridden by targets that want to emit something at the end of their file...
std::vector< std::string > HexLines
const char * getPassName() const override
getPassName - Return a nice clean name for a pass.
bool runOnMachineFunction(MachineFunction &MF) override
Emit the specified function out to the OutStreamer.
std::vector< std::string > DisasmLines
Representation of each machine instruction.
void EmitFunctionBodyStart() override
Targets can override this to emit stuff before the first basic block in the function.
This class implements an extremely fast bulk output stream that can only output to a stream...
Primary interface to the complete machine description for the target machine.