|
LLVM 24.0.0git
|
#include "Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h"
Static Public Member Functions | |
| static const char * | getRegisterName (MCRegister Reg) |
| static void | printRegOperand (MCRegister Reg, 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 | |
| Public Types inherited from llvm::MCInstPrinter | |
| enum class | Markup { Immediate , Register , Target , Memory } |
| Protected Attributes inherited from llvm::MCInstPrinter | |
| raw_ostream * | CommentStream = nullptr |
| A stream that comments can be emitted to if desired. | |
| const MCAsmInfo & | MAI |
| const MCInstrInfo & | MII |
| const MCRegisterInfo & | MRI |
| const MCInstrAnalysis * | MIA = nullptr |
| bool | UseMarkup = false |
| True if we are printing marked up assembly. | |
| bool | UseColor = false |
| True if we are printing colored assembly. | |
| bool | PrintAliases = true |
| True if we prefer aliases (e.g. nop) to raw mnemonics. | |
| bool | PrintImmHex = false |
| True if we are printing immediates as hex. | |
| HexStyle::Style | PrintHexStyle = HexStyle::C |
| Which style to use for printing hexadecimal values. | |
| bool | PrintBranchImmAsAddress = false |
| If true, a branch immediate (e.g. | |
| bool | SymbolizeOperands = false |
| If true, symbolize branch target and memory reference operands. | |
| SmallVector< raw_ostream::Colors, 4 > | ColorStack {raw_ostream::Colors::RESET} |
Definition at line 20 of file AMDGPUInstPrinter.h.
|
inline |
Definition at line 22 of file AMDGPUInstPrinter.h.
References llvm::MCInstPrinter::MAI, llvm::MCInstPrinter::MCInstPrinter(), llvm::MCInstPrinter::MII, and llvm::MCInstPrinter::MRI.
|
overridevirtual |
Returns a pair containing the mnemonic for MI and the number of bits left for further processing by printInstruction (generated by tablegen).
Implements llvm::MCInstPrinter.
References MI.
|
static |
References llvm::Address, Imm, MI, llvm::MCInstPrinter::MRI, Opc, Reg, and uint64_t.
Referenced by llvm::SIRegisterInfo::getRegAsmName(), and printRegOperand().
|
protected |
Definition at line 1845 of file AMDGPUInstPrinter.cpp.
References llvm::AMDGPU::DepCtr::decodeDepCtr(), llvm::MCInstPrinter::formatHex(), llvm::AMDGPU::DepCtr::isSymbolicDepCtrEncoding(), and MI.
|
protected |
Definition at line 1929 of file AMDGPUInstPrinter.cpp.
References llvm::MCInstPrinter::formatDec(), llvm::AMDGPU::Imm, and MI.
|
protected |
Definition at line 1911 of file AMDGPUInstPrinter.cpp.
References llvm::AMDGPU::EncodingFields< HwregId, HwregOffset, HwregSize >::decode(), llvm::AMDGPU::EncodingField< 10, 6 >::Default, llvm::AMDGPU::EncodingField< 15, 11, 32 >::Default, llvm::StringRef::empty(), llvm::AMDGPU::Hwreg::getHwreg(), MI, and llvm::Offset.
|
static |
Definition at line 1639 of file AMDGPUInstPrinter.cpp.
|
static |
Definition at line 1627 of file AMDGPUInstPrinter.cpp.
References assert(), llvm::Default, and MI.
Referenced by llvm::R600InstPrinter::printAbs(), llvm::R600InstPrinter::printClamp(), llvm::R600InstPrinter::printLast(), llvm::R600InstPrinter::printNeg(), llvm::R600InstPrinter::printRel(), llvm::R600InstPrinter::printUpdateExecMask(), and llvm::R600InstPrinter::printUpdatePred().
|
overridevirtual |
Print the specified MCInst to the specified raw_ostream.
Address the address of current instruction on most targets, used to print a PC relative immediate as the target address. On targets where a PC relative immediate is relative to the next instruction and the length of a MCInst is difficult to measure (e.g. x86), this is the address of the next instruction. If Address is 0, the immediate will be printed.
Implements llvm::MCInstPrinter.
Definition at line 44 of file AMDGPUInstPrinter.cpp.
References llvm::Address, MI, llvm::MCInstPrinter::printAnnotation(), and printInstruction().
Referenced by llvm::AMDGPUAsmPrinter::emitInstruction().
| void llvm::AMDGPUInstPrinter::printInstruction | ( | const MCInst * | MI, |
| uint64_t | Address, | ||
| const MCSubtargetInfo & | STI, | ||
| raw_ostream & | O ) |
References llvm::Address, MI, and uint64_t.
Referenced by printInst().
|
protected |
Definition at line 1647 of file AMDGPUInstPrinter.cpp.
References llvm::SIOutMods::DIV2, llvm::AMDGPU::Imm, MI, llvm::SIOutMods::MUL2, and llvm::SIOutMods::MUL4.
|
overridevirtual |
Print the assembler register name.
Reimplemented from llvm::MCInstPrinter.
Definition at line 28 of file AMDGPUInstPrinter.cpp.
|
static |
Definition at line 402 of file AMDGPUInstPrinter.cpp.
References getRegForPrinting(), getRegisterName(), llvm_unreachable, and llvm::MCInstPrinter::MRI.
Referenced by llvm::AMDGPUAsmPrinter::PrintAsmOperand(), and printRegOperand().
| void AMDGPUInstPrinter::printRegOperand | ( | MCRegister | Reg, |
| unsigned | Opc, | ||
| unsigned | OpNo, | ||
| raw_ostream & | O, | ||
| const MCRegisterInfo & | MRI ) |
Definition at line 422 of file AMDGPUInstPrinter.cpp.
References getRegFromMIA(), llvm::MCInstPrinter::MIA, llvm::MCInstPrinter::MII, llvm::MCInstPrinter::MRI, Opc, and printRegOperand().
|
protected |
Definition at line 1868 of file AMDGPUInstPrinter.cpp.
References MI.
|
protected |
Definition at line 1659 of file AMDGPUInstPrinter.cpp.
References llvm::AMDGPU::SendMsg::decodeMsg(), llvm::StringRef::empty(), llvm::AMDGPU::SendMsg::encodeMsg(), llvm::AMDGPU::SendMsg::getMsgName(), llvm::AMDGPU::SendMsg::getMsgOpName(), llvm::AMDGPU::SendMsg::isValidMsgOp(), llvm::AMDGPU::SendMsg::isValidMsgStream(), MI, llvm::AMDGPU::SendMsg::msgRequiresOp(), and llvm::AMDGPU::SendMsg::msgSupportsStream().
|
protected |
Definition at line 1819 of file AMDGPUInstPrinter.cpp.
References llvm::AMDGPU::decodeWaitcnt(), llvm::MCSubtargetInfo::getCPU(), llvm::AMDGPU::getExpcntBitMask(), llvm::AMDGPU::getIsaVersion(), llvm::AMDGPU::getLgkmcntBitMask(), llvm::AMDGPU::getVmcntBitMask(), and MI.
|
protected |
Definition at line 1736 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::AMDGPU::Swizzle::FFT_MODE_LO, llvm::AMDGPU::Swizzle::FFT_SWIZZLE_MASK, llvm::MCInstPrinter::formatDec(), I, llvm::AMDGPU::Swizzle::ID_BITMASK_PERM, llvm::AMDGPU::Swizzle::ID_BROADCAST, llvm::AMDGPU::Swizzle::ID_FFT, llvm::AMDGPU::Swizzle::ID_QUAD_PERM, llvm::AMDGPU::Swizzle::ID_REVERSE, llvm::AMDGPU::Swizzle::ID_ROTATE, llvm::AMDGPU::Swizzle::ID_SWAP, llvm::AMDGPU::Swizzle::IdSymbolic, llvm::AMDGPU::Imm, llvm::AMDGPU::isGFX9Plus(), llvm::isPowerOf2_64(), llvm::AMDGPU::Swizzle::LANE_MASK, llvm::AMDGPU::Swizzle::LANE_NUM, llvm::AMDGPU::Swizzle::LANE_SHIFT, MI, llvm::popcount(), printSwizzleBitmask(), llvm::AMDGPU::Swizzle::QUAD_PERM_ENC, llvm::AMDGPU::Swizzle::QUAD_PERM_ENC_MASK, llvm::AMDGPU::Swizzle::ROTATE_DIR_MASK, llvm::AMDGPU::Swizzle::ROTATE_DIR_SHIFT, llvm::AMDGPU::Swizzle::ROTATE_MODE_LO, llvm::AMDGPU::Swizzle::ROTATE_SIZE_MASK, and llvm::AMDGPU::Swizzle::ROTATE_SIZE_SHIFT.
|
protected |
Definition at line 1690 of file AMDGPUInstPrinter.cpp.
References llvm::StringRef::empty(), llvm::getImm(), llvm::AMDGPU::WaitEvent::getWaitEventMaskName(), and MI.