LLVM
8.0.1
|
#include "Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.h"
Static Public Member Functions | |
static const char * | getRegisterName (unsigned RegNo) |
static void | printRegOperand (unsigned RegNo, raw_ostream &O, const MCRegisterInfo &MRI) |
static void | printIfSet (const MCInst *MI, unsigned OpNo, raw_ostream &O, StringRef Asm, StringRef Default="") |
static void | printIfSet (const MCInst *MI, unsigned OpNo, raw_ostream &O, char Asm) |
Additional Inherited Members | |
Protected Attributes inherited from llvm::MCInstPrinter | |
raw_ostream * | CommentStream = nullptr |
A stream that comments can be emitted to if desired. More... | |
const MCAsmInfo & | MAI |
const MCInstrInfo & | MII |
const MCRegisterInfo & | MRI |
bool | UseMarkup = false |
True if we are printing marked up assembly. More... | |
bool | PrintImmHex = false |
True if we are printing immediates as hex. More... | |
HexStyle::Style | PrintHexStyle = HexStyle::C |
Which style to use for printing hexadecimal values. More... | |
Definition at line 20 of file AMDGPUInstPrinter.h.
|
inline |
Definition at line 22 of file AMDGPUInstPrinter.h.
References llvm::HexStyle::Asm, llvm::Default, getRegisterName(), MI, llvm::Mod, llvm::MCInstPrinter::MRI, Name, llvm::RISCVFenceField::O, printAbs(), printBankSwizzle(), printClamp(), printClampSI(), printCT(), printHigh(), printHwreg(), printIfSet(), printInst(), printInstruction(), printKCache(), printLast(), printLiteral(), printNeg(), printOMOD(), printOModSI(), printRegOperand(), printRel(), printRSel(), printSendMsg(), printSwizzle(), printUpdateExecMask(), printUpdatePred(), printWaitFlag(), and printWrite().
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Definition at line 989 of file AMDGPUInstPrinter.cpp.
References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by AMDGPUInstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Definition at line 982 of file AMDGPUInstPrinter.cpp.
References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by AMDGPUInstPrinter().
|
protected |
Definition at line 1185 of file AMDGPUInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::AMDGPU::SendMsg::ID_MASK_, llvm::AMDGPU::SendMsg::ID_SHIFT_, llvm::AMDGPU::Hwreg::ID_SYMBOLIC_FIRST_, llvm::AMDGPU::Hwreg::ID_SYMBOLIC_FIRST_GFX9_, llvm::AMDGPU::Hwreg::ID_SYMBOLIC_LAST_, llvm::AMDGPU::SendMsg::IdSymbolic, llvm::AMDGPU::isCI(), llvm::AMDGPU::isSI(), llvm::AMDGPU::isVI(), llvm::AMDGPU::Hwreg::OFFSET_DEFAULT_, llvm::AMDGPU::Hwreg::OFFSET_MASK_, llvm::AMDGPU::Hwreg::OFFSET_SHIFT_, llvm::AMDGPU::Hwreg::WIDTH_M1_DEFAULT_, llvm::AMDGPU::Hwreg::WIDTH_M1_MASK_, and llvm::AMDGPU::Hwreg::WIDTH_M1_SHIFT_.
Referenced by AMDGPUInstPrinter().
|
static |
Definition at line 962 of file AMDGPUInstPrinter.cpp.
References llvm::HexStyle::Asm, assert(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), and llvm::MCOperand::isImm().
Referenced by AMDGPUInstPrinter(), llvm::R600InstPrinter::printAbs(), llvm::R600InstPrinter::printClamp(), llvm::R600InstPrinter::printLast(), llvm::R600InstPrinter::printNeg(), llvm::R600InstPrinter::printRel(), llvm::R600InstPrinter::printUpdateExecMask(), and llvm::R600InstPrinter::printUpdatePred().
|
static |
Definition at line 974 of file AMDGPUInstPrinter.cpp.
References assert(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), and llvm::MCOperand::isImm().
|
overridevirtual |
Print the specified MCInst to the specified raw_ostream.
Implements llvm::MCInstPrinter.
Definition at line 30 of file AMDGPUInstPrinter.cpp.
References llvm::raw_ostream::flush(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::MCSubtargetInfo::hasFeature(), llvm::isInt< 16 >(), llvm::isUInt< 16 >(), MI, and llvm::RISCVFenceField::O.
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
void llvm::AMDGPUInstPrinter::printInstruction | ( | const MCInst * | MI, |
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Definition at line 996 of file AMDGPUInstPrinter.cpp.
References llvm::SIOutMods::DIV2, llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::SIOutMods::MUL2, and llvm::SIOutMods::MUL4.
Referenced by AMDGPUInstPrinter().
|
static |
Definition at line 251 of file AMDGPUInstPrinter.cpp.
References llvm::SISrcMods::ABS, assert(), llvm::AMDGPU::DPP::BCAST15, llvm::AMDGPU::DPP::BCAST31, llvm::AMDGPU::SDWA::BYTE_0, llvm::AMDGPU::SDWA::BYTE_1, llvm::AMDGPU::SDWA::BYTE_2, llvm::AMDGPU::SDWA::BYTE_3, llvm::MCRegisterClass::contains(), llvm::DoubleToBits(), llvm::SIInstrFlags::DPP, llvm::AMDGPU::SDWA::DWORD, llvm::FloatToBits(), llvm::MCRegisterInfo::getEncodingValue(), llvm::MCOperand::getExpr(), llvm::MCSubtargetInfo::getFeatureBits(), llvm::MCOperand::getFPImm(), llvm::MCOperand::getImm(), llvm::AMDGPU::getNamedOperandIdx(), llvm::MCInst::getNumOperands(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AMDGPU::getRegBitWidth(), llvm::MCRegisterInfo::getRegClass(), getRegisterName(), llvm::AMDGPU::isCI(), llvm::MCOperand::isExpr(), llvm::MCOperand::isFPImm(), llvm::MCOperand::isImm(), llvm::MCOperand::isReg(), llvm::AMDGPU::isSI(), llvm::isUInt< 32 >(), llvm_unreachable, MI, MRI, N, llvm::SISrcMods::NEG, llvm::RISCVFenceField::O, llvm::MCOI::OPERAND_IMMEDIATE, llvm::MCOI::OPERAND_PCREL, llvm::AMDGPU::OPERAND_REG_IMM_FP16, llvm::AMDGPU::OPERAND_REG_IMM_FP32, llvm::AMDGPU::OPERAND_REG_IMM_FP64, llvm::AMDGPU::OPERAND_REG_IMM_INT16, llvm::AMDGPU::OPERAND_REG_IMM_INT32, llvm::AMDGPU::OPERAND_REG_IMM_INT64, llvm::AMDGPU::OPERAND_REG_INLINE_C_FP16, llvm::AMDGPU::OPERAND_REG_INLINE_C_FP32, llvm::AMDGPU::OPERAND_REG_INLINE_C_FP64, llvm::AMDGPU::OPERAND_REG_INLINE_C_INT16, llvm::AMDGPU::OPERAND_REG_INLINE_C_INT32, llvm::AMDGPU::OPERAND_REG_INLINE_C_INT64, llvm::AMDGPU::OPERAND_REG_INLINE_C_V2FP16, llvm::AMDGPU::OPERAND_REG_INLINE_C_V2INT16, llvm::MCOI::OPERAND_REGISTER, llvm::MCOI::OPERAND_UNKNOWN, llvm::MCOperandInfo::OperandType, llvm::MCInstrDesc::OpInfo, llvm::MCExpr::print(), printOperand(), llvm::AMDGPU::DPP::QUAD_PERM_LAST, llvm::MCOperandInfo::RegClass, llvm::AMDGPU::DPP::ROW_HALF_MIRROR, llvm::AMDGPU::DPP::ROW_MIRROR, llvm::AMDGPU::DPP::ROW_ROR_FIRST, llvm::AMDGPU::DPP::ROW_ROR_LAST, llvm::AMDGPU::DPP::ROW_SHL_FIRST, llvm::AMDGPU::DPP::ROW_SHL_LAST, llvm::AMDGPU::DPP::ROW_SHR_FIRST, llvm::AMDGPU::DPP::ROW_SHR_LAST, llvm::SIInstrFlags::SDWA, llvm::SISrcMods::SEXT, llvm::AMDGPU::SDWA::UNUSED_PAD, llvm::AMDGPU::SDWA::UNUSED_PRESERVE, llvm::AMDGPU::SDWA::UNUSED_SEXT, llvm::SIInstrFlags::VOP3, llvm::AMDGPU::DPP::WAVE_ROL1, llvm::AMDGPU::DPP::WAVE_ROR1, llvm::AMDGPU::DPP::WAVE_SHL1, llvm::AMDGPU::DPP::WAVE_SHR1, llvm::AMDGPU::SDWA::WORD_0, and llvm::AMDGPU::SDWA::WORD_1.
Referenced by AMDGPUInstPrinter(), and llvm::AMDGPUAsmPrinter::PrintAsmOperand().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Definition at line 1008 of file AMDGPUInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::AMDGPU::SendMsg::ID_GS, llvm::AMDGPU::SendMsg::ID_GS_DONE, llvm::AMDGPU::SendMsg::ID_INTERRUPT, llvm::AMDGPU::SendMsg::ID_MASK_, llvm::AMDGPU::SendMsg::ID_SYSMSG, llvm::AMDGPU::SendMsg::IdSymbolic, llvm::AMDGPU::SendMsg::OP_GS_MASK_, llvm::AMDGPU::SendMsg::OP_GS_NOP, llvm::AMDGPU::SendMsg::OP_SHIFT_, llvm::AMDGPU::SendMsg::OP_SYS_FIRST_, llvm::AMDGPU::SendMsg::OP_SYS_LAST_, llvm::AMDGPU::SendMsg::OP_SYS_MASK_, llvm::AMDGPU::SendMsg::OpGsSymbolic, llvm::AMDGPU::SendMsg::OpSysSymbolic, llvm::AMDGPU::SendMsg::STREAM_ID_MASK_, and llvm::AMDGPU::SendMsg::STREAM_ID_SHIFT_.
Referenced by AMDGPUInstPrinter().
|
protected |
Definition at line 1082 of file AMDGPUInstPrinter.cpp.
References llvm::AMDGPU::Swizzle::BITMASK_AND_SHIFT, llvm::AMDGPU::Swizzle::BITMASK_MASK, llvm::AMDGPU::Swizzle::BITMASK_MAX, llvm::AMDGPU::Swizzle::BITMASK_OR_SHIFT, llvm::AMDGPU::Swizzle::BITMASK_PERM_ENC, llvm::AMDGPU::Swizzle::BITMASK_PERM_ENC_MASK, llvm::AMDGPU::Swizzle::BITMASK_XOR_SHIFT, llvm::countPopulation(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::AMDGPU::Swizzle::ID_BITMASK_PERM, llvm::AMDGPU::Swizzle::ID_BROADCAST, llvm::AMDGPU::Swizzle::ID_QUAD_PERM, llvm::AMDGPU::Swizzle::ID_REVERSE, llvm::AMDGPU::Swizzle::ID_SWAP, llvm::AMDGPU::SendMsg::IdSymbolic, llvm::isPowerOf2_64(), llvm::AMDGPU::Swizzle::LANE_MASK, llvm::AMDGPU::Swizzle::LANE_NUM, llvm::AMDGPU::Swizzle::LANE_SHIFT, printSwizzleBitmask(), llvm::AMDGPU::Swizzle::QUAD_PERM_ENC, and llvm::AMDGPU::Swizzle::QUAD_PERM_ENC_MASK.
Referenced by AMDGPUInstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().
|
protected |
Definition at line 1155 of file AMDGPUInstPrinter.cpp.
References llvm::AMDGPU::decodeWaitcnt(), llvm::MCSubtargetInfo::getCPU(), llvm::AMDGPU::getExpcntBitMask(), llvm::MCOperand::getImm(), llvm::AMDGPU::getIsaVersion(), llvm::AMDGPU::getLgkmcntBitMask(), llvm::MCInst::getOperand(), and llvm::AMDGPU::getVmcntBitMask().
Referenced by AMDGPUInstPrinter().
|
protected |
Referenced by AMDGPUInstPrinter(), and llvm::R600InstPrinter::R600InstPrinter().