LLVM 22.0.0git
llvm::SystemZInstPrinterCommon Class Reference

#include "Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.h"

Inheritance diagram for llvm::SystemZInstPrinterCommon:
[legend]

Public Member Functions

 SystemZInstPrinterCommon (const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
void printAddress (const MCAsmInfo *MAI, MCRegister Base, const MCOperand &DispMO, MCRegister Index, raw_ostream &O)
void printOperand (const MCOperand &MO, const MCAsmInfo *MAI, raw_ostream &O)
virtual void printFormattedRegName (const MCAsmInfo *MAI, MCRegister Reg, raw_ostream &O)
void printRegName (raw_ostream &O, MCRegister Reg) override
 Print the assembler register name.
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.
virtual std::pair< const char *, uint64_tgetMnemonic (const MCInst &MI) const =0
 Returns a pair containing the mnemonic for MI and the number of bits left for further processing by printInstruction (generated by tablegen).
virtual void printInst (const MCInst *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &OS)=0
 Print the specified MCInst to the specified raw_ostream.
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_tformatHex (uint64_t Value) const

Protected Member Functions

template<unsigned N>
void printUImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
template<unsigned N>
void printSImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printOperand (const MCInst *MI, uint64_t, unsigned OpNum, raw_ostream &O)
void printBDAddrOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printBDXAddrOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printBDLAddrOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printBDRAddrOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printBDVAddrOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printLXAAddrOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printU1ImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printU2ImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printU3ImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printU4ImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printS8ImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printU8ImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printU12ImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printS16ImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printU16ImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printS32ImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printU32ImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printU48ImmOperand (const MCInst *MI, int OpNum, raw_ostream &O)
void printPCRelOperand (const MCInst *MI, uint64_t Address, int OpNum, raw_ostream &O)
void printPCRelTLSOperand (const MCInst *MI, uint64_t Address, int OpNum, raw_ostream &O)
void printCond4Operand (const MCInst *MI, int OpNum, raw_ostream &O)
Protected Member Functions inherited from llvm::MCInstPrinter
void printAnnotation (raw_ostream &OS, StringRef Annot)
 Utility function for printing annotations.
const charmatchAliasPatterns (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_ostreamCommentStream = nullptr
 A stream that comments can be emitted to if desired.
const MCAsmInfoMAI
const MCInstrInfoMII
const MCRegisterInfoMRI
const MCInstrAnalysisMIA = 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}

Detailed Description

Definition at line 25 of file SystemZInstPrinterCommon.h.

Constructor & Destructor Documentation

◆ SystemZInstPrinterCommon()

Member Function Documentation

◆ printAddress()

void SystemZInstPrinterCommon::printAddress ( const MCAsmInfo * MAI,
MCRegister Base,
const MCOperand & DispMO,
MCRegister Index,
raw_ostream & O )

◆ printBDAddrOperand()

void SystemZInstPrinterCommon::printBDAddrOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 207 of file SystemZInstPrinterCommon.cpp.

References llvm::MCInstPrinter::MAI, MI, and printAddress().

◆ printBDLAddrOperand()

void SystemZInstPrinterCommon::printBDLAddrOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

◆ printBDRAddrOperand()

void SystemZInstPrinterCommon::printBDRAddrOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

◆ printBDVAddrOperand()

void SystemZInstPrinterCommon::printBDVAddrOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 248 of file SystemZInstPrinterCommon.cpp.

References llvm::MCInstPrinter::MAI, MI, and printAddress().

◆ printBDXAddrOperand()

void SystemZInstPrinterCommon::printBDXAddrOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 213 of file SystemZInstPrinterCommon.cpp.

References llvm::MCInstPrinter::MAI, MI, and printAddress().

◆ printCond4Operand()

void SystemZInstPrinterCommon::printCond4Operand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 260 of file SystemZInstPrinterCommon.cpp.

References assert(), and MI.

◆ printFormattedRegName()

virtual void llvm::SystemZInstPrinterCommon::printFormattedRegName ( const MCAsmInfo * MAI,
MCRegister Reg,
raw_ostream & O )
inlinevirtual

Definition at line 38 of file SystemZInstPrinterCommon.h.

References llvm::MCInstPrinter::MAI, and Reg.

Referenced by printRegName().

◆ printLXAAddrOperand()

void SystemZInstPrinterCommon::printLXAAddrOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 254 of file SystemZInstPrinterCommon.cpp.

References llvm::MCInstPrinter::MAI, MI, and printAddress().

◆ printOperand() [1/3]

void SystemZInstPrinterCommon::printOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 202 of file SystemZInstPrinterCommon.cpp.

References llvm::MCInstPrinter::MAI, MI, and printOperand().

◆ printOperand() [2/3]

void llvm::SystemZInstPrinterCommon::printOperand ( const MCInst * MI,
uint64_t ,
unsigned OpNum,
raw_ostream & O )
inlineprotected

Definition at line 52 of file SystemZInstPrinterCommon.h.

References MI, and printOperand().

◆ printOperand() [3/3]

◆ printPCRelOperand()

◆ printPCRelTLSOperand()

◆ printRegName()

void SystemZInstPrinterCommon::printRegName ( raw_ostream & OS,
MCRegister Reg )
overridevirtual

Print the assembler register name.

Reimplemented from llvm::MCInstPrinter.

Definition at line 61 of file SystemZInstPrinterCommon.cpp.

References llvm::MCInstPrinter::MAI, and printFormattedRegName().

Referenced by printAddress(), printBDLAddrOperand(), printBDRAddrOperand(), and printOperand().

◆ printS16ImmOperand()

void SystemZInstPrinterCommon::printS16ImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 126 of file SystemZInstPrinterCommon.cpp.

References MI, and printSImmOperand().

◆ printS32ImmOperand()

void SystemZInstPrinterCommon::printS32ImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 136 of file SystemZInstPrinterCommon.cpp.

References MI, and printSImmOperand().

◆ printS8ImmOperand()

void SystemZInstPrinterCommon::printS8ImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 111 of file SystemZInstPrinterCommon.cpp.

References MI, and printSImmOperand().

◆ printSImmOperand()

template<unsigned N>
void SystemZInstPrinterCommon::printSImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

◆ printU12ImmOperand()

void SystemZInstPrinterCommon::printU12ImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 121 of file SystemZInstPrinterCommon.cpp.

References MI, and printUImmOperand().

◆ printU16ImmOperand()

void SystemZInstPrinterCommon::printU16ImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 131 of file SystemZInstPrinterCommon.cpp.

References MI, and printUImmOperand().

◆ printU1ImmOperand()

void SystemZInstPrinterCommon::printU1ImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 91 of file SystemZInstPrinterCommon.cpp.

References MI, and printUImmOperand().

◆ printU2ImmOperand()

void SystemZInstPrinterCommon::printU2ImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 96 of file SystemZInstPrinterCommon.cpp.

References MI, and printUImmOperand().

◆ printU32ImmOperand()

void SystemZInstPrinterCommon::printU32ImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 141 of file SystemZInstPrinterCommon.cpp.

References MI, and printUImmOperand().

◆ printU3ImmOperand()

void SystemZInstPrinterCommon::printU3ImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 101 of file SystemZInstPrinterCommon.cpp.

References MI, and printUImmOperand().

◆ printU48ImmOperand()

void SystemZInstPrinterCommon::printU48ImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 146 of file SystemZInstPrinterCommon.cpp.

References MI, and printUImmOperand().

◆ printU4ImmOperand()

void SystemZInstPrinterCommon::printU4ImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 106 of file SystemZInstPrinterCommon.cpp.

References MI, and printUImmOperand().

◆ printU8ImmOperand()

void SystemZInstPrinterCommon::printU8ImmOperand ( const MCInst * MI,
int OpNum,
raw_ostream & O )
protected

Definition at line 116 of file SystemZInstPrinterCommon.cpp.

References MI, and printUImmOperand().

◆ printUImmOperand()


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