LLVM  12.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::PPCInstPrinter Class Reference

#include "Target/PowerPC/MCTargetDesc/PPCInstPrinter.h"

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

Public Member Functions

 PPCInstPrinter (const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI, Triple T)
 
void printRegName (raw_ostream &OS, unsigned RegNo) const override
 Print the assembler register name. More...
 
void printInst (const MCInst *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &O) override
 Print the specified MCInst to the specified raw_ostream. More...
 
void printInstruction (const MCInst *MI, uint64_t Address, raw_ostream &O)
 
bool printAliasInstr (const MCInst *MI, uint64_t Address, raw_ostream &OS)
 
void printCustomAliasOperand (const MCInst *MI, uint64_t Address, unsigned OpIdx, unsigned PrintMethodIdx, raw_ostream &OS)
 
void printOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printPredicateOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O, const char *Modifier=nullptr)
 
void printATBitsAsHint (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printU1ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printU2ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printU3ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printU4ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printS5ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printU5ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printU6ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printU7ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printU8ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printU10ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printU12ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printS16ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printS34ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printU16ImmOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printImmZeroOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printBranchOperand (const MCInst *MI, uint64_t Address, unsigned OpNo, raw_ostream &O)
 
void printAbsBranchOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printTLSCall (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printcrbitm (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printMemRegImm (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printMemRegImm34PCRel (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printMemRegImm34 (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
void printMemRegReg (const MCInst *MI, unsigned OpNo, raw_ostream &O)
 
- Public Member Functions inherited from llvm::MCInstPrinter
 MCInstPrinter (const MCAsmInfo &mai, const MCInstrInfo &mii, const MCRegisterInfo &mri)
 
virtual ~MCInstPrinter ()
 
virtual bool applyTargetSpecificCLOption (StringRef Opt)
 Customize the printer according to a command line option. More...
 
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...
 
bool getPrintImmHex () const
 
void setPrintImmHex (bool Value)
 
void setPrintHexStyle (HexStyle::Style Value)
 
void setPrintBranchImmAsAddress (bool 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 chargetRegisterName (unsigned RegNo)
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::MCInstPrinter
void printAnnotation (raw_ostream &OS, StringRef Annot)
 Utility function for printing annotations. More...
 
const charmatchAliasPatterns (const MCInst *MI, const MCSubtargetInfo *STI, const AliasMatchingData &M)
 Helper for matching MCInsts to alias patterns when printing instructions. More...
 
- 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...
 
bool PrintBranchImmAsAddress = false
 If true, a branch immediate (e.g. More...
 

Detailed Description

Definition at line 21 of file PPCInstPrinter.h.

Constructor & Destructor Documentation

◆ PPCInstPrinter()

llvm::PPCInstPrinter::PPCInstPrinter ( const MCAsmInfo MAI,
const MCInstrInfo MII,
const MCRegisterInfo MRI,
Triple  T 
)
inline

Member Function Documentation

◆ getRegisterName()

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

◆ printAbsBranchOperand()

void PPCInstPrinter::printAbsBranchOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

◆ printAliasInstr()

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

Referenced by PPCInstPrinter(), and printInst().

◆ printATBitsAsHint()

void PPCInstPrinter::printATBitsAsHint ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 288 of file PPCInstPrinter.cpp.

References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().

Referenced by PPCInstPrinter().

◆ printBranchOperand()

void PPCInstPrinter::printBranchOperand ( const MCInst MI,
uint64_t  Address,
unsigned  OpNo,
raw_ostream O 
)

◆ printcrbitm()

void PPCInstPrinter::printcrbitm ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

◆ printCustomAliasOperand()

void llvm::PPCInstPrinter::printCustomAliasOperand ( const MCInst MI,
uint64_t  Address,
unsigned  OpIdx,
unsigned  PrintMethodIdx,
raw_ostream OS 
)

Referenced by PPCInstPrinter().

◆ printImmZeroOperand()

void PPCInstPrinter::printImmZeroOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

◆ printInst()

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

Print the specified MCInst to the specified raw_ostream.

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.

Implements llvm::MCInstPrinter.

Definition at line 67 of file PPCInstPrinter.cpp.

References assert(), llvm::MCOperand::getExpr(), llvm::MCSubtargetInfo::getFeatureBits(), llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MCOperand::isExpr(), llvm::Triple::isOSAIX(), llvm::MCOperand::isReg(), printAliasInstr(), llvm::MCInstPrinter::printAnnotation(), printInstruction(), and printOperand().

Referenced by PPCInstPrinter().

◆ printInstruction()

void llvm::PPCInstPrinter::printInstruction ( const MCInst MI,
uint64_t  Address,
raw_ostream O 
)

Referenced by PPCInstPrinter(), and printInst().

◆ printMemRegImm()

void PPCInstPrinter::printMemRegImm ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

◆ printMemRegImm34()

void PPCInstPrinter::printMemRegImm34 ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 481 of file PPCInstPrinter.cpp.

References printOperand(), and printS34ImmOperand().

Referenced by PPCInstPrinter().

◆ printMemRegImm34PCRel()

void PPCInstPrinter::printMemRegImm34PCRel ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 473 of file PPCInstPrinter.cpp.

References printImmZeroOperand(), and printS34ImmOperand().

Referenced by PPCInstPrinter().

◆ printMemRegReg()

void PPCInstPrinter::printMemRegReg ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 489 of file PPCInstPrinter.cpp.

References llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), and printOperand().

Referenced by PPCInstPrinter().

◆ printOperand()

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

◆ printPredicateOperand()

void PPCInstPrinter::printPredicateOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O,
const char Modifier = nullptr 
)

◆ printRegName()

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

Print the assembler register name.

Reimplemented from llvm::MCInstPrinter.

Definition at line 50 of file PPCInstPrinter.cpp.

References getRegisterName(), and llvm::NVPTX::PTXCvtMode::RN.

Referenced by PPCInstPrinter().

◆ printS16ImmOperand()

void PPCInstPrinter::printS16ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

◆ printS34ImmOperand()

void PPCInstPrinter::printS34ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

◆ printS5ImmOperand()

void PPCInstPrinter::printS5ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 325 of file PPCInstPrinter.cpp.

References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().

Referenced by PPCInstPrinter().

◆ printTLSCall()

void PPCInstPrinter::printTLSCall ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

◆ printU10ImmOperand()

void PPCInstPrinter::printU10ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 369 of file PPCInstPrinter.cpp.

References assert(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().

Referenced by PPCInstPrinter().

◆ printU12ImmOperand()

void PPCInstPrinter::printU12ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 376 of file PPCInstPrinter.cpp.

References assert(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().

Referenced by PPCInstPrinter().

◆ printU16ImmOperand()

void PPCInstPrinter::printU16ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

◆ printU1ImmOperand()

void PPCInstPrinter::printU1ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 297 of file PPCInstPrinter.cpp.

References assert(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().

Referenced by PPCInstPrinter().

◆ printU2ImmOperand()

void PPCInstPrinter::printU2ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 304 of file PPCInstPrinter.cpp.

References assert(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().

Referenced by PPCInstPrinter().

◆ printU3ImmOperand()

void PPCInstPrinter::printU3ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 311 of file PPCInstPrinter.cpp.

References assert(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().

Referenced by PPCInstPrinter().

◆ printU4ImmOperand()

void PPCInstPrinter::printU4ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 318 of file PPCInstPrinter.cpp.

References assert(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().

Referenced by PPCInstPrinter().

◆ printU5ImmOperand()

void PPCInstPrinter::printU5ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 339 of file PPCInstPrinter.cpp.

References assert(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().

Referenced by PPCInstPrinter().

◆ printU6ImmOperand()

void PPCInstPrinter::printU6ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 346 of file PPCInstPrinter.cpp.

References assert(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().

Referenced by PPCInstPrinter().

◆ printU7ImmOperand()

void PPCInstPrinter::printU7ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 353 of file PPCInstPrinter.cpp.

References assert(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().

Referenced by PPCInstPrinter().

◆ printU8ImmOperand()

void PPCInstPrinter::printU8ImmOperand ( const MCInst MI,
unsigned  OpNo,
raw_ostream O 
)

Definition at line 363 of file PPCInstPrinter.cpp.

References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().

Referenced by PPCInstPrinter().


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