LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | List of all members
llvm::AArch64InstPrinter Class Reference

#include <AArch64InstPrinter.h>

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

Public Member Functions

 AArch64InstPrinter (const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI, const MCSubtargetInfo &STI)
 
void printInstruction (const MCInst *MI, raw_ostream &O)
 
bool printAliasInstr (const MCInst *MI, raw_ostream &O)
 
void printRegName (raw_ostream &O, unsigned RegNum) const
 printRegName - Print the assembler register name. More...
 
template<unsigned MemSize, unsigned RmSize>
void printAddrRegExtendOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printAddrRegExtendOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O, unsigned MemSize, unsigned RmSize)
 
void printAddSubImmLSL0Operand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printAddSubImmLSL12Operand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printBareImmOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
template<unsigned RegWidth>
void printBFILSBOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printBFIWidthOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printBFXWidthOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printCondCodeOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printCRxOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printCVTFixedPosOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printFPImmOperand (const MCInst *MI, unsigned OpNum, raw_ostream &o)
 
void printFPZeroOperand (const MCInst *MI, unsigned OpNum, raw_ostream &o)
 
template<int MemScale>
void printOffsetUImm12Operand (const MCInst *MI, unsigned OpNum, raw_ostream &o)
 
void printOffsetUImm12Operand (const MCInst *MI, unsigned OpNum, raw_ostream &o, int MemScale)
 
template<unsigned field_width, unsigned scale>
void printLabelOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
template<unsigned RegWidth>
void printLogicalImmOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
template<typename SomeNamedImmMapper >
void printNamedImmOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printNamedImmOperand (const NamedImmMapper &Mapper, const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printSysRegOperand (const A64SysReg::SysRegMapper &Mapper, const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printMRSOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printMSROperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printShiftOperand (const char *name, const MCInst *MI, unsigned OpIdx, raw_ostream &O)
 
void printLSLOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printLSROperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printASROperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printROROperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
template<A64SE::ShiftExtSpecifiers Shift>
void printShiftOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printShiftOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O, A64SE::ShiftExtSpecifiers Sh)
 
void printMoveWideImmOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
template<int MemSize>
void printSImm7ScaledOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printOffsetSImm9Operand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printPRFMOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
template<A64SE::ShiftExtSpecifiers EXT>
void printRegExtendOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printRegExtendOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O, A64SE::ShiftExtSpecifiers Ext)
 
void printVPRRegister (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
virtual void printInst (const MCInst *MI, raw_ostream &O, StringRef Annot)
 
bool isStackReg (unsigned RegNo)
 
template<A64SE::ShiftExtSpecifiers Ext, bool IsHalf>
void printNeonMovImmShiftOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printNeonUImm0Operand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printUImmHexOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printUImmBareOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
void printNeonUImm64MaskOperand (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
template<A64Layout::VectorLayout Layout, unsigned Count>
void printVectorList (const MCInst *MI, unsigned OpNum, raw_ostream &O)
 
- Public Member Functions inherited from llvm::MCInstPrinter
 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...
 
StringRef getOpcodeName (unsigned Opcode) const
 
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
 

Static Public Member Functions

static const char * getRegisterName (unsigned RegNo)
 
static const char * getInstructionName (unsigned Opcode)
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::MCInstPrinter
void printAnnotation (raw_ostream &OS, StringRef Annot)
 Utility function for printing annotations. More...
 
- Protected Attributes inherited from llvm::MCInstPrinter
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

Definition at line 26 of file AArch64InstPrinter.h.

Constructor & Destructor Documentation

AArch64InstPrinter::AArch64InstPrinter ( const MCAsmInfo MAI,
const MCInstrInfo MII,
const MCRegisterInfo MRI,
const MCSubtargetInfo STI 
)

Member Function Documentation

static const char* llvm::AArch64InstPrinter::getInstructionName ( unsigned  Opcode)
static
static const char* llvm::AArch64InstPrinter::getRegisterName ( unsigned  RegNo)
static
bool llvm::AArch64InstPrinter::isStackReg ( unsigned  RegNo)
inline

Definition at line 164 of file AArch64InstPrinter.h.

Referenced by printRegExtendOperand().

template<unsigned MemSize, unsigned RmSize>
void llvm::AArch64InstPrinter::printAddrRegExtendOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
inline

Definition at line 40 of file AArch64InstPrinter.h.

void AArch64InstPrinter::printAddrRegExtendOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O,
unsigned  MemSize,
unsigned  RmSize 
)
void AArch64InstPrinter::printAddSubImmLSL0Operand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printAddSubImmLSL12Operand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)

Definition at line 107 of file AArch64InstPrinter.cpp.

References printAddSubImmLSL0Operand().

bool llvm::AArch64InstPrinter::printAliasInstr ( const MCInst MI,
raw_ostream O 
)

Referenced by printInst().

void llvm::AArch64InstPrinter::printASROperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
inline

Definition at line 124 of file AArch64InstPrinter.h.

References printShiftOperand().

void AArch64InstPrinter::printBareImmOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
template<unsigned RegWidth>
void AArch64InstPrinter::printBFILSBOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printBFIWidthOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printBFXWidthOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printCondCodeOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printCRxOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printCVTFixedPosOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printFPImmOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream o 
)
void AArch64InstPrinter::printFPZeroOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream o 
)

Definition at line 199 of file AArch64InstPrinter.cpp.

void AArch64InstPrinter::printInst ( const MCInst MI,
raw_ostream OS,
StringRef  Annot 
)
virtual
void llvm::AArch64InstPrinter::printInstruction ( const MCInst MI,
raw_ostream O 
)

Referenced by printInst().

template<unsigned field_width, unsigned scale>
void AArch64InstPrinter::printLabelOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
template<unsigned RegWidth>
void AArch64InstPrinter::printLogicalImmOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void llvm::AArch64InstPrinter::printLSLOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void llvm::AArch64InstPrinter::printLSROperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
inline

Definition at line 121 of file AArch64InstPrinter.h.

References printShiftOperand().

void AArch64InstPrinter::printMoveWideImmOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void llvm::AArch64InstPrinter::printMRSOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
inline

Definition at line 106 of file AArch64InstPrinter.h.

References printSysRegOperand().

void llvm::AArch64InstPrinter::printMSROperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
inline

Definition at line 111 of file AArch64InstPrinter.h.

References printSysRegOperand().

template<typename SomeNamedImmMapper >
void llvm::AArch64InstPrinter::printNamedImmOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
inline

Definition at line 93 of file AArch64InstPrinter.h.

void AArch64InstPrinter::printNamedImmOperand ( const NamedImmMapper Mapper,
const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
template<A64SE::ShiftExtSpecifiers Ext, bool isHalf>
void AArch64InstPrinter::printNeonMovImmShiftOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printNeonUImm0Operand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)

Definition at line 460 of file AArch64InstPrinter.cpp.

void AArch64InstPrinter::printNeonUImm64MaskOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printOffsetSImm9Operand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
template<int MemScale>
void llvm::AArch64InstPrinter::printOffsetUImm12Operand ( const MCInst MI,
unsigned  OpNum,
raw_ostream o 
)
inline

Definition at line 77 of file AArch64InstPrinter.h.

void AArch64InstPrinter::printOffsetUImm12Operand ( const MCInst MI,
unsigned  OpNum,
raw_ostream o,
int  MemScale 
)
void AArch64InstPrinter::printOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)
void llvm::AArch64InstPrinter::printPRFMOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
template<A64SE::ShiftExtSpecifiers EXT>
void llvm::AArch64InstPrinter::printRegExtendOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
inline

Definition at line 152 of file AArch64InstPrinter.h.

void AArch64InstPrinter::printRegExtendOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O,
A64SE::ShiftExtSpecifiers  Ext 
)
void AArch64InstPrinter::printRegName ( raw_ostream OS,
unsigned  RegNo 
) const
virtual

printRegName - Print the assembler register name.

Reimplemented from llvm::MCInstPrinter.

Definition at line 48 of file AArch64InstPrinter.cpp.

References getRegisterName().

void llvm::AArch64InstPrinter::printROROperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
inline

Definition at line 127 of file AArch64InstPrinter.h.

References printShiftOperand().

void llvm::AArch64InstPrinter::printShiftOperand ( const char *  name,
const MCInst MI,
unsigned  OpIdx,
raw_ostream O 
)
template<A64SE::ShiftExtSpecifiers Shift>
void llvm::AArch64InstPrinter::printShiftOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
inline

Definition at line 132 of file AArch64InstPrinter.h.

References printShiftOperand().

void AArch64InstPrinter::printShiftOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O,
A64SE::ShiftExtSpecifiers  Sh 
)
template<int MemScale>
void AArch64InstPrinter::printSImm7ScaledOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printSysRegOperand ( const A64SysReg::SysRegMapper Mapper,
const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printUImmBareOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printUImmHexOperand ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
template<A64Layout::VectorLayout Layout, unsigned Count>
void AArch64InstPrinter::printVectorList ( const MCInst MI,
unsigned  OpNum,
raw_ostream O 
)
void AArch64InstPrinter::printVPRRegister ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

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