LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::MCInstPrinter Class Referenceabstract

#include <MCInstPrinter.h>

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

Public Member Functions

 MCInstPrinter (const MCAsmInfo &mai, const MCInstrInfo &mii, const MCRegisterInfo &mri)
 
virtual ~MCInstPrinter ()
 
void setCommentStream (raw_ostream &OS)
 setCommentStream - Specify a stream to emit comments to. More...
 
virtual void printInst (const MCInst *MI, raw_ostream &OS, StringRef Annot)=0
 
StringRef getOpcodeName (unsigned Opcode) const
 
virtual void printRegName (raw_ostream &OS, unsigned RegNo) const
 printRegName - Print the assembler register name. More...
 
uint64_t getAvailableFeatures () const
 
void setAvailableFeatures (uint64_t Value)
 
bool getUseMarkup () const
 
void setUseMarkup (bool Value)
 
StringRef markup (StringRef s) const
 Utility functions to make adding mark ups simpler. More...
 
StringRef markup (StringRef a, StringRef b) const
 
bool getPrintImmHex () const
 
void setPrintImmHex (bool Value)
 
HexStyle::Style getPrintHexStyleHex () const
 
void setPrintImmHex (HexStyle::Style Value)
 
format_object1< int64_t > formatImm (const int64_t Value) const
 Utility function to print immediates in decimal or hex. More...
 
format_object1< int64_t > formatDec (const int64_t Value) const
 Utility functions to print decimal/hexadecimal values. More...
 
format_object1< int64_t > formatHex (const int64_t Value) const
 
format_object1< uint64_t > formatHex (const uint64_t Value) const
 

Protected Member Functions

void printAnnotation (raw_ostream &OS, StringRef Annot)
 Utility function for printing annotations. More...
 

Protected Attributes

raw_ostreamCommentStream
 
const MCAsmInfoMAI
 
const MCInstrInfoMII
 
const MCRegisterInfoMRI
 
uint64_t AvailableFeatures
 The current set of available features. More...
 
bool UseMarkup
 True if we are printing marked up assembly. More...
 
bool PrintImmHex
 True if we are printing immediates as hex. More...
 
HexStyle::Style PrintHexStyle
 Which style to use for printing hexadecimal values. More...
 

Detailed Description

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

Definition at line 33 of file MCInstPrinter.h.

Constructor & Destructor Documentation

llvm::MCInstPrinter::MCInstPrinter ( const MCAsmInfo mai,
const MCInstrInfo mii,
const MCRegisterInfo mri 
)
inline

Definition at line 58 of file MCInstPrinter.h.

MCInstPrinter::~MCInstPrinter ( )
virtual

Definition at line 19 of file MCInstPrinter.cpp.

Member Function Documentation

format_object1< int64_t > MCInstPrinter::formatDec ( const int64_t  Value) const

Utility functions to print decimal/hexadecimal values.

Definition at line 72 of file MCInstPrinter.cpp.

References llvm::format().

Referenced by formatImm().

format_object1< int64_t > MCInstPrinter::formatHex ( const int64_t  Value) const
format_object1< uint64_t > MCInstPrinter::formatHex ( const uint64_t  Value) const
format_object1<int64_t> llvm::MCInstPrinter::formatImm ( const int64_t  Value) const
inline
uint64_t llvm::MCInstPrinter::getAvailableFeatures ( ) const
inline
StringRef MCInstPrinter::getOpcodeName ( unsigned  Opcode) const

getOpcodeName - Return the name of the specified opcode enum (e.g. "MOV32ri") or empty if we can't resolve it.

Definition at line 24 of file MCInstPrinter.cpp.

References llvm::MCInstrInfo::getName(), and MII.

Referenced by llvm::MCInst::dump_pretty().

HexStyle::Style llvm::MCInstPrinter::getPrintHexStyleHex ( ) const
inline

Definition at line 93 of file MCInstPrinter.h.

References PrintHexStyle.

bool llvm::MCInstPrinter::getPrintImmHex ( ) const
inline

Definition at line 90 of file MCInstPrinter.h.

References PrintImmHex.

bool llvm::MCInstPrinter::getUseMarkup ( ) const
inline

Definition at line 83 of file MCInstPrinter.h.

References UseMarkup.

Referenced by markup().

StringRef MCInstPrinter::markup ( StringRef  s) const

Utility functions to make adding mark ups simpler.

Definition at line 46 of file MCInstPrinter.cpp.

References getUseMarkup().

Referenced by llvm::ARMInstPrinter::printAddrMode2OffsetOperand(), llvm::ARMInstPrinter::printAddrMode3OffsetOperand(), llvm::ARMInstPrinter::printAddrMode5Operand(), llvm::ARMInstPrinter::printAddrMode6Operand(), llvm::ARMInstPrinter::printAddrMode7Operand(), llvm::ARMInstPrinter::printAddrModeImm12Operand(), llvm::ARMInstPrinter::printAddrModeTBB(), llvm::ARMInstPrinter::printAddrModeTBH(), llvm::ARMInstPrinter::printAdrLabelOperand(), llvm::ARMInstPrinter::printAM2PreOrOffsetIndexOp(), llvm::ARMInstPrinter::printAM3PostIndexOp(), llvm::ARMInstPrinter::printAM3PreOrOffsetIndexOp(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), llvm::ARMInstPrinter::printFBits16(), llvm::ARMInstPrinter::printFBits32(), llvm::ARMInstPrinter::printFPImmOperand(), llvm::ARMInstPrinter::printImmPlusOneOperand(), llvm::ARMInstPrinter::printInst(), llvm::X86ATTInstPrinter::printMemOffset(), llvm::X86ATTInstPrinter::printMemReference(), llvm::ARMInstPrinter::printNEONModImmOperand(), llvm::ARMInstPrinter::printOperand(), llvm::NVPTXInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::ARMInstPrinter::printPKHASRShiftImm(), llvm::ARMInstPrinter::printPKHLSLShiftImm(), llvm::ARMInstPrinter::printPostIdxImm8Operand(), llvm::ARMInstPrinter::printPostIdxImm8s4Operand(), llvm::X86ATTInstPrinter::printRegName(), llvm::ARMInstPrinter::printRegName(), llvm::ARMInstPrinter::printRotImmOperand(), llvm::ARMInstPrinter::printShiftImmOperand(), llvm::ARMInstPrinter::printT2AddrModeImm0_1020s4Operand(), llvm::ARMInstPrinter::printT2AddrModeImm8OffsetOperand(), llvm::ARMInstPrinter::printT2AddrModeImm8Operand(), llvm::ARMInstPrinter::printT2AddrModeImm8s4OffsetOperand(), llvm::ARMInstPrinter::printT2AddrModeImm8s4Operand(), llvm::ARMInstPrinter::printT2AddrModeSoRegOperand(), llvm::ARMInstPrinter::printThumbAddrModeImm5SOperand(), llvm::ARMInstPrinter::printThumbAddrModeRROperand(), llvm::ARMInstPrinter::printThumbLdrLabelOperand(), llvm::ARMInstPrinter::printThumbS4ImmOperand(), and llvm::ARMInstPrinter::printThumbSRImm().

StringRef MCInstPrinter::markup ( StringRef  a,
StringRef  b 
) const

Definition at line 52 of file MCInstPrinter.cpp.

References getUseMarkup().

void MCInstPrinter::printAnnotation ( raw_ostream OS,
StringRef  Annot 
)
protected
virtual void llvm::MCInstPrinter::printInst ( const MCInst MI,
raw_ostream OS,
StringRef  Annot 
)
pure virtual
void MCInstPrinter::printRegName ( raw_ostream OS,
unsigned  RegNo 
) const
virtual
void llvm::MCInstPrinter::setAvailableFeatures ( uint64_t  Value)
inline
void llvm::MCInstPrinter::setCommentStream ( raw_ostream OS)
inline

setCommentStream - Specify a stream to emit comments to.

Definition at line 66 of file MCInstPrinter.h.

References CommentStream.

Referenced by LLVMSetDisasmOptions().

void llvm::MCInstPrinter::setPrintImmHex ( bool  Value)
inline

Definition at line 91 of file MCInstPrinter.h.

References PrintImmHex.

Referenced by LLVMSetDisasmOptions().

void llvm::MCInstPrinter::setPrintImmHex ( HexStyle::Style  Value)
inline

Definition at line 94 of file MCInstPrinter.h.

References PrintHexStyle.

void llvm::MCInstPrinter::setUseMarkup ( bool  Value)
inline

Definition at line 84 of file MCInstPrinter.h.

References UseMarkup.

Referenced by LLVMSetDisasmOptions().

Member Data Documentation

uint64_t llvm::MCInstPrinter::AvailableFeatures
protected

The current set of available features.

Definition at line 44 of file MCInstPrinter.h.

Referenced by getAvailableFeatures(), and setAvailableFeatures().

raw_ostream* llvm::MCInstPrinter::CommentStream
protected

CommentStream - a stream that comments can be emitted to if desired. Each comment must end with a newline. This will be null if verbose assembly emission is disable.

Definition at line 38 of file MCInstPrinter.h.

Referenced by printAnnotation(), llvm::X86ATTInstPrinter::printInst(), llvm::X86IntelInstPrinter::printInst(), llvm::X86ATTInstPrinter::printOperand(), and setCommentStream().

const MCAsmInfo& llvm::MCInstPrinter::MAI
protected

Definition at line 39 of file MCInstPrinter.h.

Referenced by printAnnotation().

const MCInstrInfo& llvm::MCInstPrinter::MII
protected
const MCRegisterInfo& llvm::MCInstPrinter::MRI
protected
HexStyle::Style llvm::MCInstPrinter::PrintHexStyle
protected

Which style to use for printing hexadecimal values.

Definition at line 53 of file MCInstPrinter.h.

Referenced by formatHex(), getPrintHexStyleHex(), and setPrintImmHex().

bool llvm::MCInstPrinter::PrintImmHex
protected

True if we are printing immediates as hex.

Definition at line 50 of file MCInstPrinter.h.

Referenced by formatImm(), getPrintImmHex(), and setPrintImmHex().

bool llvm::MCInstPrinter::UseMarkup
protected

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