LLVM  6.0.0svn
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
llvm::HexagonInstPrinter Class Reference

Prints bundles as a newline separated list of individual instructions Duplexes are separated by a vertical tab character A trailing line includes bundle properties such as endloop0/1. More...

#include "Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h"

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

Public Member Functions

 HexagonInstPrinter (MCAsmInfo const &MAI, MCInstrInfo const &MII, MCRegisterInfo const &MRI)
 
void printInst (MCInst const *MI, raw_ostream &O, StringRef Annot, const MCSubtargetInfo &STI) override
 Print the specified MCInst to the specified raw_ostream. More...
 
virtual StringRef getOpcodeName (unsigned Opcode) const
 
void printInstruction (MCInst const *MI, raw_ostream &O)
 
StringRef getRegName (unsigned RegNo) const
 
void printRegName (raw_ostream &O, unsigned RegNo) const override
 Print the assembler register name. More...
 
void printOperand (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printExtOperand (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printUnsignedImmOperand (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printNegImmOperand (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printNOneImmOperand (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printBranchOperand (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printCallOperand (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printAbsAddrOperand (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printPredicateOperand (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printGlobalOperand (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printJumpTable (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printBrtarget (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printConstantPool (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printSymbolHi (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
void printSymbolLo (MCInst const *MI, unsigned OpNo, raw_ostream &O) const
 
MCAsmInfo constgetMAI () const
 
MCInstrInfo constgetMII () 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 char constgetRegisterName (unsigned RegNo)
 

Protected Member Functions

void printSymbol (MCInst const *MI, unsigned OpNo, raw_ostream &O, bool hi) const
 
- 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 = nullptr
 A stream that comments can be emitted to if desired. More...
 
const MCAsmInfoMAI
 
const MCInstrInfoMII
 
const MCRegisterInfoMRI
 
bool UseMarkup = false
 True if we are printing marked up assembly. 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...
 

Detailed Description

Prints bundles as a newline separated list of individual instructions Duplexes are separated by a vertical tab character A trailing line includes bundle properties such as endloop0/1.

r0 = add(r1, r2) r0 = #0 jump 0x0 :endloop0 :endloop1

Definition at line 26 of file HexagonInstPrinter.h.

Constructor & Destructor Documentation

◆ HexagonInstPrinter()

HexagonInstPrinter::HexagonInstPrinter ( MCAsmInfo const MAI,
MCInstrInfo const MII,
MCRegisterInfo const MRI 
)
explicit

Definition at line 31 of file HexagonInstPrinter.cpp.

Member Function Documentation

◆ getMAI()

MCAsmInfo const& llvm::HexagonInstPrinter::getMAI ( ) const
inline

Definition at line 68 of file HexagonInstPrinter.h.

References llvm::MCInstPrinter::MAI.

◆ getMII()

MCInstrInfo const& llvm::HexagonInstPrinter::getMII ( ) const
inline

Definition at line 69 of file HexagonInstPrinter.h.

References printSymbol().

◆ getOpcodeName()

StringRef HexagonInstPrinter::getOpcodeName ( unsigned  Opcode) const
virtual

Definition at line 37 of file HexagonInstPrinter.cpp.

References llvm::MCInstrInfo::getName().

◆ getRegisterName()

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

◆ getRegName()

StringRef HexagonInstPrinter::getRegName ( unsigned  RegNo) const

Definition at line 45 of file HexagonInstPrinter.cpp.

References getRegisterName(), and llvm::HexagonMCInstrInfo::isImmext().

Referenced by printRegName().

◆ printAbsAddrOperand()

void HexagonInstPrinter::printAbsAddrOperand ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const

Definition at line 157 of file HexagonInstPrinter.cpp.

◆ printBranchOperand()

void HexagonInstPrinter::printBranchOperand ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const

Definition at line 147 of file HexagonInstPrinter.cpp.

References llvm_unreachable.

◆ printBrtarget()

void HexagonInstPrinter::printBrtarget ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const

◆ printCallOperand()

void HexagonInstPrinter::printCallOperand ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const

Definition at line 154 of file HexagonInstPrinter.cpp.

◆ printConstantPool()

void HexagonInstPrinter::printConstantPool ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const

◆ printExtOperand()

void HexagonInstPrinter::printExtOperand ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const

Definition at line 107 of file HexagonInstPrinter.cpp.

References printOperand().

◆ printGlobalOperand()

void HexagonInstPrinter::printGlobalOperand ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const

Definition at line 128 of file HexagonInstPrinter.cpp.

References printOperand().

◆ printInst()

void HexagonInstPrinter::printInst ( MCInst const MI,
raw_ostream OS,
StringRef  Annot,
const MCSubtargetInfo STI 
)
overridevirtual

◆ printInstruction()

void llvm::HexagonInstPrinter::printInstruction ( MCInst const MI,
raw_ostream O 
)

Referenced by printInst().

◆ printJumpTable()

void HexagonInstPrinter::printJumpTable ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const

◆ printNegImmOperand()

void HexagonInstPrinter::printNegImmOperand ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const

◆ printNOneImmOperand()

void HexagonInstPrinter::printNOneImmOperand ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const

Definition at line 123 of file HexagonInstPrinter.cpp.

◆ printOperand()

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

◆ printPredicateOperand()

void HexagonInstPrinter::printPredicateOperand ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const

Definition at line 160 of file HexagonInstPrinter.cpp.

◆ printRegName()

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

Print the assembler register name.

Reimplemented from llvm::MCInstPrinter.

Definition at line 41 of file HexagonInstPrinter.cpp.

References getRegName().

◆ printSymbol()

void HexagonInstPrinter::printSymbol ( MCInst const MI,
unsigned  OpNo,
raw_ostream O,
bool  hi 
) const
protected

◆ printSymbolHi()

void llvm::HexagonInstPrinter::printSymbolHi ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const
inline

Definition at line 61 of file HexagonInstPrinter.h.

References printSymbol().

◆ printSymbolLo()

void llvm::HexagonInstPrinter::printSymbolLo ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const
inline

Definition at line 64 of file HexagonInstPrinter.h.

References printSymbol().

◆ printUnsignedImmOperand()

void HexagonInstPrinter::printUnsignedImmOperand ( MCInst const MI,
unsigned  OpNo,
raw_ostream O 
) const

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