LLVM
8.0.1
|
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"
Static Public Member Functions | |
static char const * | getRegisterName (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... | |
Protected Attributes inherited from llvm::MCInstPrinter | |
raw_ostream * | CommentStream = nullptr |
A stream that comments can be emitted to if desired. More... | |
const MCAsmInfo & | MAI |
const MCInstrInfo & | MII |
const MCRegisterInfo & | MRI |
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... | |
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.
|
inlineexplicit |
Definition at line 28 of file HexagonInstPrinter.h.
References getRegisterName(), MI, llvm::RISCVFenceField::O, printBrtarget(), printInst(), printInstruction(), printOperand(), and printRegName().
Definition at line 42 of file HexagonInstPrinter.h.
References llvm::MCInstPrinter::MAI.
|
inline |
Definition at line 43 of file HexagonInstPrinter.h.
void HexagonInstPrinter::printBrtarget | ( | MCInst const * | MI, |
unsigned | OpNo, | ||
raw_ostream & | O | ||
) | const |
Definition at line 82 of file HexagonInstPrinter.cpp.
References assert(), llvm::format(), llvm::MCOperand::getExpr(), llvm::HexagonMCInstrInfo::getExtendableOp(), llvm::MCInst::getOperand(), llvm::HexagonMCInstrInfo::isConstExtended(), and llvm::MCOperand::isExpr().
Referenced by HexagonInstPrinter().
|
overridevirtual |
Print the specified MCInst to the specified raw_ostream.
Implements llvm::MCInstPrinter.
Definition at line 35 of file HexagonInstPrinter.cpp.
References assert(), llvm::HexagonMCInstrInfo::bundleInstructions(), llvm::HexagonMCInstrInfo::bundleSize(), llvm::MCOperand::getInst(), llvm::MCInst::getOperand(), HEXAGON_PACKET_SIZE, I, llvm::HexagonMCInstrInfo::isBundle(), llvm::HexagonMCInstrInfo::isDuplex(), llvm::HexagonMCInstrInfo::isImmext(), llvm::HexagonMCInstrInfo::isInnerLoop(), llvm::HexagonMCInstrInfo::isOuterLoop(), and printInstruction().
Referenced by HexagonInstPrinter().
void llvm::HexagonInstPrinter::printInstruction | ( | MCInst const * | MI, |
raw_ostream & | O | ||
) |
Referenced by HexagonInstPrinter(), and printInst().
void HexagonInstPrinter::printOperand | ( | MCInst const * | MI, |
unsigned | OpNo, | ||
raw_ostream & | O | ||
) | const |
Definition at line 63 of file HexagonInstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::HexagonMCInstrInfo::getExtendableOp(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), getRegisterName(), llvm::HexagonMCInstrInfo::isConstExtended(), llvm::MCOperand::isExpr(), llvm::MCOperand::isReg(), and llvm_unreachable.
Referenced by HexagonInstPrinter().
|
overridevirtual |
Print the assembler register name.
Reimplemented from llvm::MCInstPrinter.
Definition at line 31 of file HexagonInstPrinter.cpp.
References getRegisterName().
Referenced by HexagonInstPrinter().