LLVM  14.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::X86IntelInstPrinter Class Referencefinal

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

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

Public Member Functions

 X86IntelInstPrinter (const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
 
void printRegName (raw_ostream &OS, unsigned RegNo) const override
 Print the assembler register name. More...
 
void printInst (const MCInst *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &OS) override
 Print the specified MCInst to the specified raw_ostream. More...
 
bool printVecCompareInstr (const MCInst *MI, raw_ostream &OS)
 
bool printAliasInstr (const MCInst *MI, uint64_t Address, raw_ostream &OS)
 
void printCustomAliasOperand (const MCInst *MI, uint64_t Address, unsigned OpIdx, unsigned PrintMethodIdx, raw_ostream &O)
 
std::pair< const char *, uint64_tgetMnemonic (const MCInst *MI) override
 Returns a pair containing the mnemonic for MI and the number of bits left for further processing by printInstruction (generated by tablegen). More...
 
void printInstruction (const MCInst *MI, uint64_t Address, raw_ostream &O)
 
void printOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O) override
 
void printMemReference (const MCInst *MI, unsigned Op, raw_ostream &O)
 
void printMemOffset (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printSrcIdx (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printDstIdx (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printU8Imm (const MCInst *MI, unsigned Op, raw_ostream &O)
 
void printSTiRegOperand (const MCInst *MI, unsigned OpNo, raw_ostream &OS)
 
void printbytemem (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printwordmem (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printdwordmem (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printqwordmem (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printxmmwordmem (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printymmwordmem (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printzmmwordmem (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printtbytemem (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printSrcIdx8 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printSrcIdx16 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printSrcIdx32 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printSrcIdx64 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printDstIdx8 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printDstIdx16 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printDstIdx32 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printDstIdx64 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printMemOffs8 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printMemOffs16 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printMemOffs32 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printMemOffs64 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
- Public Member Functions inherited from llvm::X86InstPrinterCommon
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...
 
StringRef getOpcodeName (unsigned Opcode) const
 Return the name of the specified opcode enum (e.g. 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
 

Static Public Member Functions

static const char * getRegisterName (unsigned RegNo)
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::X86InstPrinterCommon
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...
 
- 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 X86IntelInstPrinter.h.

Constructor & Destructor Documentation

◆ X86IntelInstPrinter()

llvm::X86IntelInstPrinter::X86IntelInstPrinter ( const MCAsmInfo MAI,
const MCInstrInfo MII,
const MCRegisterInfo MRI 
)
inline

Definition at line 23 of file X86IntelInstPrinter.h.

Member Function Documentation

◆ getMnemonic()

std::pair<const char *, uint64_t> llvm::X86IntelInstPrinter::getMnemonic ( const MCInst MI)
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.

◆ getRegisterName()

static const char* llvm::X86IntelInstPrinter::getRegisterName ( unsigned  RegNo)
static

◆ printAliasInstr()

bool llvm::X86IntelInstPrinter::printAliasInstr ( const MCInst MI,
uint64_t  Address,
raw_ostream OS 
)

Referenced by printInst().

◆ printbytemem()

void llvm::X86IntelInstPrinter::printbytemem ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 52 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printMemReference().

◆ printCustomAliasOperand()

void llvm::X86IntelInstPrinter::printCustomAliasOperand ( const MCInst MI,
uint64_t  Address,
unsigned  OpIdx,
unsigned  PrintMethodIdx,
raw_ostream O 
)

◆ printDstIdx()

void X86IntelInstPrinter::printDstIdx ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

◆ printDstIdx16()

void llvm::X86IntelInstPrinter::printDstIdx16 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 106 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printDstIdx().

◆ printDstIdx32()

void llvm::X86IntelInstPrinter::printDstIdx32 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 110 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printDstIdx().

◆ printDstIdx64()

void llvm::X86IntelInstPrinter::printDstIdx64 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 114 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printDstIdx().

◆ printDstIdx8()

void llvm::X86IntelInstPrinter::printDstIdx8 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 102 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printDstIdx().

◆ printdwordmem()

void llvm::X86IntelInstPrinter::printdwordmem ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 60 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printMemReference().

Referenced by printVecCompareInstr().

◆ printInst()

void X86IntelInstPrinter::printInst ( const MCInst MI,
uint64_t  Address,
StringRef  Annot,
const MCSubtargetInfo STI,
raw_ostream OS 
)
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 40 of file X86IntelInstPrinter.cpp.

References llvm::Address, llvm::MCInstPrinter::CommentStream, llvm::EmitAnyX86InstComments(), llvm::MCSubtargetInfo::getFeatureBits(), MI, llvm::MCInstPrinter::MII, printAliasInstr(), llvm::MCInstPrinter::printAnnotation(), llvm::X86InstPrinterCommon::printInstFlags(), printInstruction(), and printVecCompareInstr().

◆ printInstruction()

void llvm::X86IntelInstPrinter::printInstruction ( const MCInst MI,
uint64_t  Address,
raw_ostream O 
)

Referenced by printInst().

◆ printMemOffs16()

void llvm::X86IntelInstPrinter::printMemOffs16 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 122 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printMemOffset().

◆ printMemOffs32()

void llvm::X86IntelInstPrinter::printMemOffs32 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 126 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printMemOffset().

◆ printMemOffs64()

void llvm::X86IntelInstPrinter::printMemOffs64 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 130 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printMemOffset().

◆ printMemOffs8()

void llvm::X86IntelInstPrinter::printMemOffs8 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 118 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printMemOffset().

◆ printMemOffset()

void X86IntelInstPrinter::printMemOffset ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

◆ printMemReference()

void X86IntelInstPrinter::printMemReference ( const MCInst MI,
unsigned  Op,
raw_ostream O 
)

◆ printOperand()

void X86IntelInstPrinter::printOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
overridevirtual

◆ printqwordmem()

void llvm::X86IntelInstPrinter::printqwordmem ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 64 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printMemReference().

Referenced by printVecCompareInstr().

◆ printRegName()

void X86IntelInstPrinter::printRegName ( raw_ostream OS,
unsigned  RegNo 
) const
overridevirtual

Print the assembler register name.

Reimplemented from llvm::MCInstPrinter.

Definition at line 36 of file X86IntelInstPrinter.cpp.

References getRegisterName().

Referenced by printOperand(), and printSTiRegOperand().

◆ printSrcIdx()

void X86IntelInstPrinter::printSrcIdx ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

◆ printSrcIdx16()

void llvm::X86IntelInstPrinter::printSrcIdx16 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 90 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printSrcIdx().

◆ printSrcIdx32()

void llvm::X86IntelInstPrinter::printSrcIdx32 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 94 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printSrcIdx().

◆ printSrcIdx64()

void llvm::X86IntelInstPrinter::printSrcIdx64 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 98 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printSrcIdx().

◆ printSrcIdx8()

void llvm::X86IntelInstPrinter::printSrcIdx8 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 86 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printSrcIdx().

◆ printSTiRegOperand()

void X86IntelInstPrinter::printSTiRegOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream OS 
)

Definition at line 473 of file X86IntelInstPrinter.cpp.

References MI, printRegName(), and Reg.

◆ printtbytemem()

void llvm::X86IntelInstPrinter::printtbytemem ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 80 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printMemReference().

◆ printU8Imm()

void X86IntelInstPrinter::printU8Imm ( const MCInst MI,
unsigned  Op,
raw_ostream O 
)

◆ printVecCompareInstr()

bool X86IntelInstPrinter::printVecCompareInstr ( const MCInst MI,
raw_ostream OS 
)

◆ printwordmem()

void llvm::X86IntelInstPrinter::printwordmem ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 56 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printMemReference().

Referenced by printVecCompareInstr().

◆ printxmmwordmem()

void llvm::X86IntelInstPrinter::printxmmwordmem ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 68 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printMemReference().

Referenced by printVecCompareInstr().

◆ printymmwordmem()

void llvm::X86IntelInstPrinter::printymmwordmem ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 72 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printMemReference().

Referenced by printVecCompareInstr().

◆ printzmmwordmem()

void llvm::X86IntelInstPrinter::printzmmwordmem ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
inline

Definition at line 76 of file X86IntelInstPrinter.h.

References MI, llvm::RISCVFenceField::O, and printMemReference().

Referenced by printVecCompareInstr().


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