33 std::unique_ptr<MCStreamer> &&Streamer) {
38 std::unique_ptr<MCStreamer> Streamer)
42 return "R600 Assembly Printer";
47 bool killPixel =
false;
54 if (
MI.getOpcode() == R600::KILLGT)
56 unsigned numOperands =
MI.getNumOperands();
57 for (
unsigned op_idx = 0; op_idx < numOperands; op_idx++) {
61 unsigned HWReg = RI->getHWRegIndex(MO.
getReg());
74 switch (MF.getFunction().getCallingConv()) {
83 switch (MF.getFunction().getCallingConv()) {
117 EmitProgramInfoR600(MF);
const TargetLoweringObjectFile & getObjFileLowering() const
Return information about object file lowering.
GCNRegPressure max(const GCNRegPressure &P1, const GCNRegPressure &P2)
AMDGPU specific subclass of TargetSubtarget.
std::unique_ptr< MCStreamer > OutStreamer
This is the MCStreamer object for the file we are generating.
This class represents lattice values for constants.
#define R_028850_SQ_PGM_RESOURCES_PS
#define R_028860_SQ_PGM_RESOURCES_VS
bool runOnMachineFunction(MachineFunction &MF) override
Emit the specified function out to the OutStreamer.
unsigned getReg() const
getReg - Returns the register number.
#define R_028878_SQ_PGM_RESOURCES_GS
MachineFunction * MF
The current machine function.
uint64_t alignTo(uint64_t Value, uint64_t Align, uint64_t Skew=0)
Returns the next integer (mod 2**64) that is greater than or equal to Value and is a multiple of Alig...
Generation getGeneration() const
AsmPrinter * createR600AsmPrinterPass(TargetMachine &TM, std::unique_ptr< MCStreamer > &&Streamer)
Calling convention used for Mesa/AMDPAL geometry shaders.
Calling convention used for Mesa/AMDPAL compute shaders.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
Context object for machine code objects.
void EmitFunctionBody()
This method emits the body and trailer for a function.
bool isVerbose() const
Return true if assembly output should contain comments.
Calling convention used for Mesa vertex shaders, or AMDPAL last shader stage before rasterization (ve...
bool isCompute(CallingConv::ID cc)
const TargetSubtargetInfo & getSubtarget() const
getSubtarget - Return the subtarget for which this machine code is being compiled.
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
This class is intended to be used as a driving class for all asm writers.
void ensureAlignment(unsigned A)
ensureAlignment - Make sure the function is at least 1 << A bytes aligned.
#define R_0288D4_SQ_PGM_RESOURCES_LS
Ty * getInfo()
getInfo - Keep track of various per-function pieces of information for backends that would like to do...
MCContext & getContext() const
#define R_02880C_DB_SHADER_CONTROL
Calling convention used for Mesa/AMDPAL pixel shaders.
const R600RegisterInfo * getRegisterInfo() const override
unsigned getLDSSize() const
R600 Assembly printer class.
MachineOperand class - Representation of each machine instruction operand.
#define R_028868_SQ_PGM_RESOURCES_VS
Provides AMDGPU specific target descriptions.
Representation of each machine instruction.
void SetupMachineFunction(MachineFunction &MF)
This should be called when a new MachineFunction is being processed from runOnMachineFunction.
#define S_02880C_KILL_ENABLE(x)
R600AsmPrinter(TargetMachine &TM, std::unique_ptr< MCStreamer > Streamer)
This represents a section on linux, lots of unix variants and some bare metal systems.
bool isReg() const
isReg - Tests if this is a MO_Register operand.
MCSectionELF * getELFSection(const Twine &Section, unsigned Type, unsigned Flags)
Primary interface to the complete machine description for the target machine.
StringRef - Represent a constant reference to a string, i.e.
#define R_0288E8_SQ_LDS_ALLOC
#define R_028844_SQ_PGM_RESOURCES_PS