diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2015-04-22 15:38:17 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2015-04-22 15:38:17 +0000 |
commit | badf3a6356da078424aeb17edf6af5e333ef9d6c (patch) | |
tree | a74665b4306d4d8b5c96682a4d385e7a433d2fda /llvm/lib/Target/Hexagon/MCTargetDesc | |
parent | 9f3dbff08a30f3289558e6f8ba95b412824e5120 (diff) | |
download | bcm5719-llvm-badf3a6356da078424aeb17edf6af5e333ef9d6c.tar.gz bcm5719-llvm-badf3a6356da078424aeb17edf6af5e333ef9d6c.zip |
[Hexagon] Implement HexagonInstPrinter::printRegName
llvm-svn: 235514
Diffstat (limited to 'llvm/lib/Target/Hexagon/MCTargetDesc')
-rw-r--r-- | llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp | 11 | ||||
-rw-r--r-- | llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h | 2 |
2 files changed, 7 insertions, 6 deletions
diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp index ec552342d8e..e19910ed32f 100644 --- a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp +++ b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp @@ -73,8 +73,8 @@ StringRef HexagonInstPrinter::getOpcodeName(unsigned Opcode) const { return MII.getName(Opcode); } -StringRef HexagonInstPrinter::getRegName(unsigned RegNo) const { - return getRegisterName(RegNo); +void HexagonInstPrinter::printRegName(raw_ostream &OS, unsigned RegNo) const { + OS << getRegisterName(RegNo); } void HexagonInstPrinter::printInst(MCInst const *MI, raw_ostream &O, @@ -126,7 +126,7 @@ void HexagonInstPrinter::printOperand(const MCInst *MI, unsigned OpNo, const MCOperand& MO = MI->getOperand(OpNo); if (MO.isReg()) { - O << getRegisterName(MO.getReg()); + printRegName(O, MO.getReg()); } else if(MO.isExpr()) { O << *MO.getExpr(); } else if(MO.isImm()) { @@ -188,7 +188,7 @@ void HexagonInstPrinter::printMEMriOperand(const MCInst *MI, unsigned OpNo, const MCOperand& MO0 = MI->getOperand(OpNo); const MCOperand& MO1 = MI->getOperand(OpNo + 1); - O << getRegisterName(MO0.getReg()); + printRegName(O, MO0.getReg()); O << " + #" << MO1.getImm(); } @@ -197,7 +197,8 @@ void HexagonInstPrinter::printFrameIndexOperand(const MCInst *MI, unsigned OpNo, const MCOperand& MO0 = MI->getOperand(OpNo); const MCOperand& MO1 = MI->getOperand(OpNo + 1); - O << getRegisterName(MO0.getReg()) << ", #" << MO1.getImm(); + printRegName(O, MO0.getReg()); + O << ", #" << MO1.getImm(); } void HexagonInstPrinter::printGlobalOperand(const MCInst *MI, unsigned OpNo, diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h index 98fb99bb6f0..e9a548fa2b0 100644 --- a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h +++ b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h @@ -29,7 +29,7 @@ namespace llvm { const MCSubtargetInfo &STI) override; virtual StringRef getOpcodeName(unsigned Opcode) const; void printInstruction(const MCInst *MI, raw_ostream &O); - StringRef getRegName(unsigned RegNo) const; + void printRegName(raw_ostream &OS, unsigned RegNo) const override; static const char *getRegisterName(unsigned RegNo); void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O) const; |