LLVM: llvm::AMDGPUInstPrinter Class Reference (original) (raw)

#include "[Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h](AMDGPUInstPrinter%5F8h%5Fsource.html)"

Public Member Functions
AMDGPUInstPrinter (const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
std::pair< const char *, uint64_t > getMnemonic (const MCInst &MI) const override
Returns a pair containing the mnemonic for MI and the number of bits left for further processing by printInstruction (generated by tablegen).
void printInstruction (const MCInst *MI, uint64_t Address, const MCSubtargetInfo &STI, raw_ostream &O)
void printRegName (raw_ostream &OS, MCRegister Reg) override
Print the assembler register name.
void printInst (const MCInst *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &O) override
Print the specified MCInst to the specified raw_ostream.
void printRegOperand (MCRegister Reg, unsigned Opc, unsigned OpNo, raw_ostream &O, const MCRegisterInfo &MRI)
Public Member Functions inherited from llvm::MCInstPrinter
MCInstPrinter (const MCAsmInfo &mai, const MCInstrInfo &mii, const MCRegisterInfo &mri)
virtual ~MCInstPrinter ()
virtual bool applyTargetSpecificCLOption (StringRef Opt)
Customize the printer according to a command line option.
void setCommentStream (raw_ostream &OS)
Specify a stream to emit comments to.
StringRef getOpcodeName (unsigned Opcode) const
Return the name of the specified opcode enum (e.g.
bool getUseMarkup () const
void setUseMarkup (bool Value)
bool getUseColor () const
void setUseColor (bool Value)
WithMarkup markup (raw_ostream &OS, Markup M)
bool getPrintImmHex () const
void setPrintImmHex (bool Value)
void setPrintHexStyle (HexStyle::Style Value)
void setPrintBranchImmAsAddress (bool Value)
void setSymbolizeOperands (bool Value)
void setMCInstrAnalysis (const MCInstrAnalysis *Value)
format_object< int64_t > formatImm (int64_t Value) const
Utility function to print immediates in decimal or hex.
format_object< int64_t > formatDec (int64_t Value) const
Utility functions to print decimal/hexadecimal values.
format_object< int64_t > formatHex (int64_t Value) const
format_object< uint64_t > formatHex (uint64_t Value) const
Protected Member Functions
void printAbs (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printClamp (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printOModSI (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printLiteral (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printLast (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printNeg (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printOMOD (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printRel (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printUpdateExecMask (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printUpdatePred (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printWrite (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printBankSwizzle (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printRSel (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printCT (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printKCache (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printSendMsg (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printSwizzle (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printSWaitCnt (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printDepCtr (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printSDelayALU (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printHwreg (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
void printEndpgm (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
Protected Member Functions inherited from llvm::MCInstPrinter
void printAnnotation (raw_ostream &OS, StringRef Annot)
Utility function for printing annotations.
const char * matchAliasPatterns (const MCInst *MI, const MCSubtargetInfo *STI, const AliasMatchingData &M)
Helper for matching MCInsts to alias patterns when printing instructions.
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.

getMnemonic()

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.

getRegisterName()

printAbs()

printBankSwizzle()

printClamp()

printCT()

printDepCtr()

printEndpgm()

printHwreg()

Definition at line 1885 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.

printIfSet() [1/2]

printIfSet() [2/2]

printInst()

printInstruction()

printKCache()

printLast()

printLiteral()

printNeg()

printOMOD()

printOModSI()

printRegName()

printRegOperand() [1/2]

printRegOperand() [2/2]

printRel()

printRSel()

printSDelayALU()

printSendMsg()

printSWaitCnt()

printSwizzle()

Definition at line 1710 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.

printUpdateExecMask()

printUpdatePred()

printWrite()


The documentation for this class was generated from the following files: