|
LLVM
3.7.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 const char * | getRegisterName (unsigned RegNo) |
Protected Member Functions | |
| void | printSymbol (const MCInst *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 36 of file HexagonInstPrinter.h.
|
inlineexplicit |
Definition at line 38 of file HexagonInstPrinter.h.
|
inline |
Definition at line 84 of file HexagonInstPrinter.h.
Referenced by printExtBrtarget(), and printExtOperand().
Definition at line 112 of file HexagonInstPrinter.cpp.
References llvm::MCInstrInfo::getName().
Referenced by llvm::HexagonAsmPrinter::printOperand(), and printRegName().
| void HexagonInstPrinter::printAbsAddrOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 272 of file HexagonInstPrinter.cpp.
| void HexagonInstPrinter::printBranchOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 261 of file HexagonInstPrinter.cpp.
References llvm_unreachable.
| void HexagonInstPrinter::printCallOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 268 of file HexagonInstPrinter.cpp.
| void HexagonInstPrinter::printConstantPool | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 254 of file HexagonInstPrinter.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::isExpr(), and printOperand().
| void HexagonInstPrinter::printExtBrtarget | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 289 of file HexagonInstPrinter.cpp.
References llvm::MCInstrInfo::get(), getMII(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MCOperand::isExpr(), isExtendable(), isExtended(), printOperand(), and llvm::MCInstrDesc::TSFlags.
| void HexagonInstPrinter::printExtOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 188 of file HexagonInstPrinter.cpp.
References llvm::MCInstrInfo::get(), llvm::MCOperand::getImm(), getMaxValue(), getMII(), getMinValue(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MCOperand::isExpr(), isExtendable(), isExtended(), llvm::MCOperand::isImm(), printOperand(), and llvm::MCInstrDesc::TSFlags.
| void HexagonInstPrinter::printFrameIndexOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 231 of file HexagonInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), and printRegName().
| void HexagonInstPrinter::printGlobalOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 240 of file HexagonInstPrinter.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::isExpr(), and printOperand().
| void HexagonInstPrinter::printImmOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 175 of file HexagonInstPrinter.cpp.
References llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::MCOperand::isExpr(), llvm::MCOperand::isImm(), llvm_unreachable, llvm::MCInstPrinter::MAI, and llvm::MCExpr::print().
Referenced by printOperand().
|
overridevirtual |
Print the specified MCInst to the specified raw_ostream.
Implements llvm::MCInstPrinter.
Definition at line 124 of file HexagonInstPrinter.cpp.
References 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(), and llvm::MCInst::setOpcode().
| void llvm::HexagonInstPrinter::printInstruction | ( | const MCInst * | MI, |
| raw_ostream & | O | ||
| ) |
Referenced by printInst().
| void HexagonInstPrinter::printJumpTable | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 247 of file HexagonInstPrinter.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::isExpr(), and printOperand().
| void HexagonInstPrinter::printMEMriOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 222 of file HexagonInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), and printRegName().
| void HexagonInstPrinter::printNegImmOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 212 of file HexagonInstPrinter.cpp.
References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
| void HexagonInstPrinter::printNOneImmOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 217 of file HexagonInstPrinter.cpp.
| void HexagonInstPrinter::printOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 160 of file HexagonInstPrinter.cpp.
References llvm::MCOperand::getExpr(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::MCOperand::isExpr(), llvm::MCOperand::isImm(), llvm::MCOperand::isReg(), llvm_unreachable, llvm::MCInstPrinter::MAI, llvm::MCExpr::print(), printImmOperand(), and printRegName().
Referenced by printConstantPool(), printExtBrtarget(), printExtOperand(), printGlobalOperand(), printJumpTable(), and printSymbol().
| void HexagonInstPrinter::printPredicateOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 276 of file HexagonInstPrinter.cpp.
|
overridevirtual |
Print the assembler register name.
Reimplemented from llvm::MCInstPrinter.
Definition at line 116 of file HexagonInstPrinter.cpp.
References getRegisterName().
Referenced by printFrameIndexOperand(), printMEMriOperand(), and printOperand().
|
protected |
Definition at line 280 of file HexagonInstPrinter.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::isImm(), and printOperand().
Referenced by printSymbolHi(), and printSymbolLo().
|
inline |
Definition at line 79 of file HexagonInstPrinter.h.
References printSymbol().
|
inline |
Definition at line 81 of file HexagonInstPrinter.h.
References printSymbol().
| void HexagonInstPrinter::printUnsignedImmOperand | ( | const MCInst * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | const |
Definition at line 207 of file HexagonInstPrinter.cpp.
References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
1.8.6