LLVM  14.0.0git
Public Member Functions | Protected Member Functions | List of all members
llvm::X86InstPrinterCommon Class Referenceabstract

#include "Target/X86/MCTargetDesc/X86InstPrinterCommon.h"

Inheritance diagram for llvm::X86InstPrinterCommon:
Inheritance graph
[legend]
Collaboration diagram for llvm::X86InstPrinterCommon:
Collaboration graph
[legend]

Public Member Functions

virtual void printOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)=0
 
void printCondCode (const MCInst *MI, unsigned Op, raw_ostream &OS)
 
void printSSEAVXCC (const MCInst *MI, unsigned Op, raw_ostream &OS)
 
void printVPCOMMnemonic (const MCInst *MI, raw_ostream &OS)
 
void printVPCMPMnemonic (const MCInst *MI, raw_ostream &OS)
 
void printCMPMnemonic (const MCInst *MI, bool IsVCmp, raw_ostream &OS)
 
void printRoundingControl (const MCInst *MI, unsigned Op, raw_ostream &O)
 
void printPCRelImm (const MCInst *MI, uint64_t Address, unsigned OpNo, raw_ostream &O)
 value (e.g. More...
 
 MCInstPrinter (const MCAsmInfo &mai, const MCInstrInfo &mii, 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. More...
 
void setCommentStream (raw_ostream &OS)
 Specify a stream to emit comments to. More...
 
virtual std::pair< const char *, uint64_tgetMnemonic (const MCInst *MI)=0
 Returns a pair containing the mnemonic for MI and the number of bits left for further processing by printInstruction (generated by tablegen). More...
 
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. More...
 
StringRef getOpcodeName (unsigned Opcode) const
 Return the name of the specified opcode enum (e.g. More...
 
virtual void printRegName (raw_ostream &OS, unsigned RegNo) const
 Print the assembler register name. More...
 
bool getUseMarkup () const
 
void setUseMarkup (bool Value)
 
StringRef markup (StringRef s) const
 Utility functions to make adding mark ups simpler. More...
 
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. More...
 
format_object< int64_t > formatDec (int64_t Value) const
 Utility functions to print decimal/hexadecimal values. More...
 
format_object< int64_t > formatHex (int64_t Value) const
 
format_object< uint64_tformatHex (uint64_t Value) const
 

Protected Member Functions

void printInstFlags (const MCInst *MI, raw_ostream &O)
 
void printOptionalSegReg (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printVKPair (const MCInst *MI, unsigned OpNo, raw_ostream &OS)
 
- Protected Member Functions inherited from llvm::MCInstPrinter
void printAnnotation (raw_ostream &OS, StringRef Annot)
 Utility function for printing annotations. More...
 
const char * matchAliasPatterns (const MCInst *MI, const MCSubtargetInfo *STI, const AliasMatchingData &M)
 Helper for matching MCInsts to alias patterns when printing instructions. More...
 

Additional Inherited Members

- Protected Attributes inherited from llvm::MCInstPrinter
raw_ostreamCommentStream = nullptr
 A stream that comments can be emitted to if desired. More...
 
const MCAsmInfoMAI
 
const MCInstrInfoMII
 
const MCRegisterInfoMRI
 
const MCInstrAnalysisMIA = nullptr
 
bool UseMarkup = false
 True if we are printing marked up assembly. More...
 
bool PrintAliases = true
 True if we prefer aliases (e.g. nop) to raw mnemonics. 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...
 
bool PrintBranchImmAsAddress = false
 If true, a branch immediate (e.g. More...
 
bool SymbolizeOperands = false
 If true, symbolize branch target and memory reference operands. More...
 

Detailed Description

Definition at line 21 of file X86InstPrinterCommon.h.

Member Function Documentation

◆ MCInstPrinter()

llvm::MCInstPrinter::MCInstPrinter
inline

Definition at line 82 of file MCInstPrinter.h.

◆ printCMPMnemonic()

void X86InstPrinterCommon::printCMPMnemonic ( const MCInst MI,
bool  IsVCmp,
raw_ostream OS 
)

◆ printCondCode()

void X86InstPrinterCommon::printCondCode ( const MCInst MI,
unsigned  Op,
raw_ostream OS 
)

Definition at line 28 of file X86InstPrinterCommon.cpp.

References llvm_unreachable, MI, and llvm::RISCVFenceField::O.

◆ printInstFlags()

void X86InstPrinterCommon::printInstFlags ( const MCInst MI,
raw_ostream O 
)
protected

◆ printOperand()

virtual void llvm::X86InstPrinterCommon::printOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
pure virtual

◆ printOptionalSegReg()

void X86InstPrinterCommon::printOptionalSegReg ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
protected

◆ printPCRelImm()

void X86InstPrinterCommon::printPCRelImm ( const MCInst MI,
uint64_t  Address,
unsigned  OpNo,
raw_ostream O 
)

value (e.g.

for jumps and calls). In Intel-style these print slightly differently than normal immediates. For example, a $ is not emitted.

Address The address of the next instruction.

See also
MCInstPrinter::printInst

Definition at line 314 of file X86InstPrinterCommon.cpp.

References llvm::Address, assert(), llvm::MCOI::BranchTarget, llvm::MCInstPrinter::formatHex(), llvm::MCInstPrinter::formatImm(), llvm::MCAsmInfo::getCodePointerSize(), llvm::MCInstPrinter::MAI, MI, llvm::RISCVFenceField::O, llvm::MCInstPrinter::PrintBranchImmAsAddress, and llvm::MCInstPrinter::SymbolizeOperands.

Referenced by llvm::X86ATTInstPrinter::printInst().

◆ printRoundingControl()

void X86InstPrinterCommon::printRoundingControl ( const MCInst MI,
unsigned  Op,
raw_ostream O 
)

◆ printSSEAVXCC()

void X86InstPrinterCommon::printSSEAVXCC ( const MCInst MI,
unsigned  Op,
raw_ostream OS 
)

Definition at line 52 of file X86InstPrinterCommon.cpp.

References llvm_unreachable, MI, and llvm::RISCVFenceField::O.

Referenced by printCMPMnemonic(), and printVPCMPMnemonic().

◆ printVKPair()

void X86InstPrinterCommon::printVKPair ( const MCInst MI,
unsigned  OpNo,
raw_ostream OS 
)
protected

◆ printVPCMPMnemonic()

void X86InstPrinterCommon::printVPCMPMnemonic ( const MCInst MI,
raw_ostream OS 
)

◆ printVPCOMMnemonic()

void X86InstPrinterCommon::printVPCOMMnemonic ( const MCInst MI,
raw_ostream OS 
)

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