From bef3fd23e7ae0e4029b513a904096f913a76545f Mon Sep 17 00:00:00 2001 From: Krzysztof Parzyszek Date: Wed, 22 Apr 2015 15:38:17 +0000 Subject: [PATCH] [Hexagon] Implement HexagonInstPrinter::printRegName git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235514 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../Hexagon/MCTargetDesc/HexagonInstPrinter.cpp | 11 ++++++----- lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp b/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp index ec552342d8e..e19910ed32f 100644 --- a/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp +++ b/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/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h b/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h index 98fb99bb6f0..e9a548fa2b0 100644 --- a/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h +++ b/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; -- 2.34.1