|
LLVM
4.0.0
|
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 <HexagonInstPrinter.h>
Static Public Member Functions | |
| static char const * | getRegisterName (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_ostream * | CommentStream |
| A stream that comments can be emitted to if desired. More... | |
| const MCAsmInfo & | MAI |
| const MCInstrInfo & | MII |
| const MCRegisterInfo & | MRI |
| 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... | |
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.
|
explicit |
Definition at line 31 of file HexagonInstPrinter.cpp.
Definition at line 76 of file HexagonInstPrinter.h.
References llvm::MCInstPrinter::MAI.
|
inline |
Definition at line 77 of file HexagonInstPrinter.h.
Definition at line 37 of file HexagonInstPrinter.cpp.
References llvm::MCInstrInfo::getName().
Definition at line 45 of file HexagonInstPrinter.cpp.
References getRegisterName().
Referenced by printRegName().
| void HexagonInstPrinter::printAbsAddrOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 197 of file HexagonInstPrinter.cpp.
| void HexagonInstPrinter::printBranchOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 187 of file HexagonInstPrinter.cpp.
References llvm_unreachable.
| void HexagonInstPrinter::printBrtarget | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 213 of file HexagonInstPrinter.cpp.
References assert(), llvm::format(), llvm::MCOperand::getExpr(), llvm::HexagonMCInstrInfo::getExtendableOp(), llvm::MCInst::getOperand(), llvm::HexagonMCInstrInfo::isConstExtended(), and llvm::MCOperand::isExpr().
| void HexagonInstPrinter::printCallOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 194 of file HexagonInstPrinter.cpp.
| void HexagonInstPrinter::printConstantPool | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 180 of file HexagonInstPrinter.cpp.
References assert(), llvm::MCInst::getOperand(), llvm::MCOperand::isExpr(), and printOperand().
| void HexagonInstPrinter::printExtOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 107 of file HexagonInstPrinter.cpp.
References printOperand().
| void HexagonInstPrinter::printGlobalOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 168 of file HexagonInstPrinter.cpp.
References printOperand().
|
overridevirtual |
Print the specified MCInst to the specified raw_ostream.
Implements llvm::MCInstPrinter.
Definition at line 53 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::isInnerLoop(), llvm::HexagonMCInstrInfo::isOuterLoop(), printInstruction(), Separator, and llvm::MCInst::setOpcode().
| void llvm::HexagonInstPrinter::printInstruction | ( | MCInst const * | MI, |
| raw_ostream & | O | ||
| ) |
Referenced by printInst().
| void HexagonInstPrinter::printJumpTable | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 173 of file HexagonInstPrinter.cpp.
References assert(), llvm::MCInst::getOperand(), llvm::MCOperand::isExpr(), and printOperand().
| void HexagonInstPrinter::printNegImmOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 118 of file HexagonInstPrinter.cpp.
References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
| void HexagonInstPrinter::printNOneImmOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 123 of file HexagonInstPrinter.cpp.
| void HexagonInstPrinter::printOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 88 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 printConstantPool(), printExtOperand(), printGlobalOperand(), printJumpTable(), and printSymbol().
| void HexagonInstPrinter::printPredicateOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 200 of file HexagonInstPrinter.cpp.
|
overridevirtual |
Print the assembler register name.
Reimplemented from llvm::MCInstPrinter.
Definition at line 41 of file HexagonInstPrinter.cpp.
References getRegName().
| void HexagonInstPrinter::prints3_6ImmOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 128 of file HexagonInstPrinter.cpp.
References assert(), llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::MCInst::getOperand(), and Success.
| void HexagonInstPrinter::prints3_7ImmOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 138 of file HexagonInstPrinter.cpp.
References assert(), llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::MCInst::getOperand(), and Success.
| void HexagonInstPrinter::prints4_6ImmOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 148 of file HexagonInstPrinter.cpp.
References assert(), llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::MCInst::getOperand(), and Success.
| void HexagonInstPrinter::prints4_7ImmOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 158 of file HexagonInstPrinter.cpp.
References assert(), llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::MCInst::getOperand(), and Success.
|
protected |
Definition at line 203 of file HexagonInstPrinter.cpp.
References assert(), llvm::MCInst::getOperand(), llvm::MCOperand::isImm(), and printOperand().
Referenced by printSymbolHi(), and printSymbolLo().
|
inline |
Definition at line 69 of file HexagonInstPrinter.h.
References printSymbol().
|
inline |
Definition at line 72 of file HexagonInstPrinter.h.
References printSymbol().
| void HexagonInstPrinter::printUnsignedImmOperand | ( | MCInst const * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 112 of file HexagonInstPrinter.cpp.
References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
1.8.6