class X86ATTInstPrinter

Declaration

class X86ATTInstPrinter : public X86InstPrinterCommon { /* full declaration omitted */ };

Description

This is an instance of a target assembly language printer that converts an MCInst to valid target assembly syntax.

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:20

Inherits from: X86InstPrinterCommon

Member Variables

private bool HasCustomInstComment

Inherited from MCInstPrinter:

protected CommentStream = nullptr
protected MAI
protected MII
protected MRI
protected MIA = nullptr
protected UseMarkup = false
protected PrintAliases = true
protected PrintImmHex = false
protected PrintHexStyle = HexStyle::C
protected PrintBranchImmAsAddress = false
protected SymbolizeOperands = false

Method Overview

  • public X86ATTInstPrinter(const llvm::MCAsmInfo & MAI, const llvm::MCInstrInfo & MII, const llvm::MCRegisterInfo & MRI)
  • public std::pair<const char *, uint64_t> getMnemonic(const llvm::MCInst * MI)
  • public static const char * getRegisterName(unsigned int RegNo)
  • public bool printAliasInstr(const llvm::MCInst * MI, uint64_t Address, llvm::raw_ostream & OS)
  • public void printCustomAliasOperand(const llvm::MCInst * MI, uint64_t Address, unsigned int OpIdx, unsigned int PrintMethodIdx, llvm::raw_ostream & O)
  • public void printDstIdx(const llvm::MCInst * MI, unsigned int Op, llvm::raw_ostream & O)
  • public void printDstIdx16(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printDstIdx32(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printDstIdx64(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printDstIdx8(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printInst(const llvm::MCInst * MI, uint64_t Address, llvm::StringRef Annot, const llvm::MCSubtargetInfo & STI, llvm::raw_ostream & OS)
  • public void printInstruction(const llvm::MCInst * MI, uint64_t Address, llvm::raw_ostream & OS)
  • public void printMemOffs16(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printMemOffs32(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printMemOffs64(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printMemOffs8(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printMemOffset(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & OS)
  • public void printMemReference(const llvm::MCInst * MI, unsigned int Op, llvm::raw_ostream & OS)
  • public void printOperand(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & OS)
  • public void printRegName(llvm::raw_ostream & OS, unsigned int RegNo) const
  • public void printSTiRegOperand(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & OS)
  • public void printSrcIdx(const llvm::MCInst * MI, unsigned int Op, llvm::raw_ostream & O)
  • public void printSrcIdx16(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printSrcIdx32(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printSrcIdx64(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printSrcIdx8(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printU8Imm(const llvm::MCInst * MI, unsigned int Op, llvm::raw_ostream & OS)
  • public bool printVecCompareInstr(const llvm::MCInst * MI, llvm::raw_ostream & OS)
  • public void printbytemem(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printdwordmem(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printqwordmem(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printtbytemem(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printwordmem(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printxmmwordmem(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printymmwordmem(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)
  • public void printzmmwordmem(const llvm::MCInst * MI, unsigned int OpNo, llvm::raw_ostream & O)

Inherited from X86InstPrinterCommon:

Inherited from MCInstPrinter:

Methods

X86ATTInstPrinter(const llvm::MCAsmInfo& MAI,
                  const llvm::MCInstrInfo& MII,
                  const llvm::MCRegisterInfo& MRI)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:22

Parameters

const llvm::MCAsmInfo& MAI
const llvm::MCInstrInfo& MII
const llvm::MCRegisterInfo& MRI

std::pair<const char*, uint64_t> getMnemonic(
    const llvm::MCInst* MI)

Description

getMnemonic - This method is automatically generated by tablegen from the instruction set description.

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:39

Parameters

const llvm::MCInst* MI

static const char* getRegisterName(
    unsigned int RegNo)

Description

getRegisterName - This method is automatically generated by tblgen from the register set description. This returns the assembler name for the specified register.

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:41

Parameters

unsigned int RegNo

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

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:33

Parameters

const llvm::MCInst* MI
uint64_t Address
llvm::raw_ostream& OS

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

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:34

Parameters

const llvm::MCInst* MI
uint64_t Address
unsigned int OpIdx
unsigned int PrintMethodIdx
llvm::raw_ostream& O

void printDstIdx(const llvm::MCInst* MI,
                 unsigned int Op,
                 llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:47

Parameters

const llvm::MCInst* MI
unsigned int Op
llvm::raw_ostream& O

void printDstIdx16(const llvm::MCInst* MI,
                   unsigned int OpNo,
                   llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:91

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printDstIdx32(const llvm::MCInst* MI,
                   unsigned int OpNo,
                   llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:94

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printDstIdx64(const llvm::MCInst* MI,
                   unsigned int OpNo,
                   llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:97

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printDstIdx8(const llvm::MCInst* MI,
                  unsigned int OpNo,
                  llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:88

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printInst(const llvm::MCInst* MI,
               uint64_t Address,
               llvm::StringRef Annot,
               const llvm::MCSubtargetInfo& STI,
               llvm::raw_ostream& OS)

Description

Print the specified MCInst to the specified raw_ostream. \p 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.

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:27

Parameters

const llvm::MCInst* MI
uint64_t Address
llvm::StringRef Annot
const llvm::MCSubtargetInfo& STI
llvm::raw_ostream& OS

void printInstruction(const llvm::MCInst* MI,
                      uint64_t Address,
                      llvm::raw_ostream& OS)

Description

printInstruction - This method is automatically generated by tablegen from the instruction set description.

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:40

Parameters

const llvm::MCInst* MI
uint64_t Address
llvm::raw_ostream& OS

void printMemOffs16(const llvm::MCInst* MI,
                    unsigned int OpNo,
                    llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:103

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printMemOffs32(const llvm::MCInst* MI,
                    unsigned int OpNo,
                    llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:106

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printMemOffs64(const llvm::MCInst* MI,
                    unsigned int OpNo,
                    llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:109

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printMemOffs8(const llvm::MCInst* MI,
                   unsigned int OpNo,
                   llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:100

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printMemOffset(const llvm::MCInst* MI,
                    unsigned int OpNo,
                    llvm::raw_ostream& OS)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:45

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& OS

void printMemReference(const llvm::MCInst* MI,
                       unsigned int Op,
                       llvm::raw_ostream& OS)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:44

Parameters

const llvm::MCInst* MI
unsigned int Op
llvm::raw_ostream& OS

void printOperand(const llvm::MCInst* MI,
                  unsigned int OpNo,
                  llvm::raw_ostream& OS)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:43

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& OS

void printRegName(llvm::raw_ostream& OS,
                  unsigned int RegNo) const

Description

Print the assembler register name.

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:26

Parameters

llvm::raw_ostream& OS
unsigned int RegNo

void printSTiRegOperand(const llvm::MCInst* MI,
                        unsigned int OpNo,
                        llvm::raw_ostream& OS)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:49

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& OS

void printSrcIdx(const llvm::MCInst* MI,
                 unsigned int Op,
                 llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:46

Parameters

const llvm::MCInst* MI
unsigned int Op
llvm::raw_ostream& O

void printSrcIdx16(const llvm::MCInst* MI,
                   unsigned int OpNo,
                   llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:79

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printSrcIdx32(const llvm::MCInst* MI,
                   unsigned int OpNo,
                   llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:82

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printSrcIdx64(const llvm::MCInst* MI,
                   unsigned int OpNo,
                   llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:85

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printSrcIdx8(const llvm::MCInst* MI,
                  unsigned int OpNo,
                  llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:76

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printU8Imm(const llvm::MCInst* MI,
                unsigned int Op,
                llvm::raw_ostream& OS)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:48

Parameters

const llvm::MCInst* MI
unsigned int Op
llvm::raw_ostream& OS

bool printVecCompareInstr(const llvm::MCInst* MI,
                          llvm::raw_ostream& OS)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:29

Parameters

const llvm::MCInst* MI
llvm::raw_ostream& OS

void printbytemem(const llvm::MCInst* MI,
                  unsigned int OpNo,
                  llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:51

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printdwordmem(const llvm::MCInst* MI,
                   unsigned int OpNo,
                   llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:57

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printqwordmem(const llvm::MCInst* MI,
                   unsigned int OpNo,
                   llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:60

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printtbytemem(const llvm::MCInst* MI,
                   unsigned int OpNo,
                   llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:72

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printwordmem(const llvm::MCInst* MI,
                  unsigned int OpNo,
                  llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:54

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printxmmwordmem(const llvm::MCInst* MI,
                     unsigned int OpNo,
                     llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:63

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printymmwordmem(const llvm::MCInst* MI,
                     unsigned int OpNo,
                     llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:66

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O

void printzmmwordmem(const llvm::MCInst* MI,
                     unsigned int OpNo,
                     llvm::raw_ostream& O)

Declared at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h:69

Parameters

const llvm::MCInst* MI
unsigned int OpNo
llvm::raw_ostream& O