LLVM  3.7.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
llvm::AArch64InstPrinter Class Reference

#include <AArch64InstPrinter.h>

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

Public Member Functions

 AArch64InstPrinter (const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
 
void printInst (const MCInst *MI, raw_ostream &O, StringRef Annot, const MCSubtargetInfo &STI) override
 Print the specified MCInst to the specified raw_ostream. More...
 
void printRegName (raw_ostream &OS, unsigned RegNo) const override
 Print the assembler register name. More...
 
virtual void printInstruction (const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &O)
 
virtual bool printAliasInstr (const MCInst *MI, const MCSubtargetInfo &STI, raw_ostream &O)
 
virtual void printCustomAliasOperand (const MCInst *MI, unsigned OpIdx, unsigned PrintMethodIdx, const MCSubtargetInfo &STI, raw_ostream &O)
 
virtual StringRef getRegName (unsigned RegNo) const
 
- Public Member Functions inherited from llvm::MCInstPrinter
 MCInstPrinter (const MCAsmInfo &mai, const MCInstrInfo &mii, const MCRegisterInfo &mri)
 
virtual ~MCInstPrinter ()
 
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...
 
StringRef markup (StringRef a, StringRef b) const
 
bool getPrintImmHex () const
 
void setPrintImmHex (bool Value)
 
HexStyle::Style getPrintHexStyle () const
 
void setPrintHexStyle (HexStyle::Style 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_t > formatHex (uint64_t Value) const
 

Static Public Member Functions

static const char * getRegisterName (unsigned RegNo, unsigned AltIdx=AArch64::NoRegAltName)
 

Protected Member Functions

bool printSysAlias (const MCInst *MI, raw_ostream &O)
 
void printOperand (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printHexImm (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printPostIncOperand (const MCInst *MI, unsigned OpNo, unsigned Imm, raw_ostream &O)
 
template<int Amount>
void printPostIncOperand (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVRegOperand (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printSysCROperand (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAddSubImm (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printLogicalImm32 (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printLogicalImm64 (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printShifter (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printShiftedRegister (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printExtendedRegister (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printArithExtend (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printMemExtend (const MCInst *MI, unsigned OpNum, raw_ostream &O, char SrcRegKind, unsigned Width)
 
template<char SrcRegKind, unsigned Width>
void printMemExtend (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printCondCode (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printInverseCondCode (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAlignedLabel (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printUImm12Offset (const MCInst *MI, unsigned OpNum, unsigned Scale, raw_ostream &O)
 
void printAMIndexedWB (const MCInst *MI, unsigned OpNum, unsigned Scale, raw_ostream &O)
 
template<int Scale>
void printUImm12Offset (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<int BitWidth>
void printAMIndexedWB (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAMNoIndex (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<int Scale>
void printImmScale (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printPrefetchOp (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printFPImmOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorList (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O, StringRef LayoutSuffix)
 
void printImplicitlyTypedVectorList (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 Print a list of vector registers where the type suffix is implicit (i.e. More...
 
template<unsigned NumLanes, char LaneKind>
void printTypedVectorList (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorIndex (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAdrpLabel (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printBarrierOption (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printMSRSystemRegister (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printMRSSystemRegister (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printSystemPStateField (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printSIMDType10Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<unsigned size>
void printGPRSeqPairsClassOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
- Protected Member Functions inherited from llvm::MCInstPrinter
void printAnnotation (raw_ostream &OS, StringRef Annot)
 Utility function for printing annotations. More...
 

Additional Inherited Members

- Protected Attributes inherited from llvm::MCInstPrinter
raw_ostreamCommentStream
 A stream that comments can be emitted to if desired. More...
 
const MCAsmInfoMAI
 
const MCInstrInfoMII
 
const MCRegisterInfoMRI
 
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 
)

Definition at line 35 of file AArch64InstPrinter.cpp.

Member Function Documentation

static const char* llvm::AArch64InstPrinter::getRegisterName ( unsigned  RegNo,
unsigned  AltIdx = AArch64::NoRegAltName 
)
static
virtual StringRef llvm::AArch64InstPrinter::getRegName ( unsigned  RegNo) const
inlinevirtual

Reimplemented in llvm::AArch64AppleInstPrinter.

Definition at line 44 of file AArch64InstPrinter.h.

References getRegisterName().

void AArch64InstPrinter::printAddSubImm ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printAdrpLabel ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
virtual bool llvm::AArch64InstPrinter::printAliasInstr ( const MCInst MI,
const MCSubtargetInfo STI,
raw_ostream O 
)
virtual

Reimplemented in llvm::AArch64AppleInstPrinter.

Referenced by printInst().

void AArch64InstPrinter::printAlignedLabel ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printAMIndexedWB ( const MCInst MI,
unsigned  OpNum,
unsigned  Scale,
raw_ostream O 
)
protected
template<int BitWidth>
void llvm::AArch64InstPrinter::printAMIndexedWB ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
inlineprotected

Definition at line 110 of file AArch64InstPrinter.h.

References printAMIndexedWB().

void AArch64InstPrinter::printAMNoIndex ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printArithExtend ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printBarrierOption ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printCondCode ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
virtual void llvm::AArch64InstPrinter::printCustomAliasOperand ( const MCInst MI,
unsigned  OpIdx,
unsigned  PrintMethodIdx,
const MCSubtargetInfo STI,
raw_ostream O 
)
virtual

Reimplemented in llvm::AArch64AppleInstPrinter.

void AArch64InstPrinter::printExtendedRegister ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printFPImmOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
template<unsigned size>
void AArch64InstPrinter::printGPRSeqPairsClassOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printHexImm ( const MCInst MI,
unsigned  OpNo,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
template<int Scale>
void AArch64InstPrinter::printImmScale ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printImplicitlyTypedVectorList ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected

Print a list of vector registers where the type suffix is implicit (i.e.

attached to the instruction rather than the registers).

Definition at line 1243 of file AArch64InstPrinter.cpp.

References printVectorList().

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

Reimplemented in llvm::AArch64AppleInstPrinter.

Referenced by printInst().

void AArch64InstPrinter::printInverseCondCode ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printLogicalImm32 ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printLogicalImm64 ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printMemExtend ( const MCInst MI,
unsigned  OpNum,
raw_ostream O,
char  SrcRegKind,
unsigned  Width 
)
protected
template<char SrcRegKind, unsigned Width>
void llvm::AArch64InstPrinter::printMemExtend ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
inlineprotected

Definition at line 87 of file AArch64InstPrinter.h.

References printMemExtend().

void AArch64InstPrinter::printMRSSystemRegister ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printMSRSystemRegister ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printOperand ( const MCInst MI,
unsigned  OpNo,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printPostIncOperand ( const MCInst MI,
unsigned  OpNo,
unsigned  Imm,
raw_ostream O 
)
protected
template<int Amount>
void llvm::AArch64InstPrinter::printPostIncOperand ( const MCInst MI,
unsigned  OpNo,
const MCSubtargetInfo STI,
raw_ostream O 
)
inlineprotected

Definition at line 60 of file AArch64InstPrinter.h.

References printPostIncOperand().

void AArch64InstPrinter::printPrefetchOp ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printRegName ( raw_ostream OS,
unsigned  RegNo 
) const
overridevirtual

Print the assembler register name.

Reimplemented from llvm::MCInstPrinter.

Definition at line 45 of file AArch64InstPrinter.cpp.

References getRegisterName().

void AArch64InstPrinter::printShiftedRegister ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printShifter ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printSIMDType10Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
bool AArch64InstPrinter::printSysAlias ( const MCInst MI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printSysCROperand ( const MCInst MI,
unsigned  OpNo,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printSystemPStateField ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
template<unsigned NumLanes, char LaneKind>
void AArch64InstPrinter::printTypedVectorList ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected

Definition at line 1251 of file AArch64InstPrinter.cpp.

References llvm::itostr(), and printVectorList().

void AArch64InstPrinter::printUImm12Offset ( const MCInst MI,
unsigned  OpNum,
unsigned  Scale,
raw_ostream O 
)
protected
template<int Scale>
void llvm::AArch64InstPrinter::printUImm12Offset ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
inlineprotected

Definition at line 104 of file AArch64InstPrinter.h.

References printUImm12Offset().

void AArch64InstPrinter::printVectorIndex ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected
void AArch64InstPrinter::printVectorList ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O,
StringRef  LayoutSuffix 
)
protected
void AArch64InstPrinter::printVRegOperand ( const MCInst MI,
unsigned  OpNo,
const MCSubtargetInfo STI,
raw_ostream O 
)
protected

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