diff options
Diffstat (limited to 'llvm/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp')
-rw-r--r-- | llvm/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/llvm/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp b/llvm/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp index a6b48423a52..b206c183b1e 100644 --- a/llvm/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp +++ b/llvm/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp @@ -47,13 +47,13 @@ namespace { return "Blackfin Assembly Printer"; } - void printOperand(const MachineInstr *MI, int opNum); - void printMemoryOperand(const MachineInstr *MI, int opNum); - void printInstruction(const MachineInstr *MI); // autogenerated. + void printOperand(const MachineInstr *MI, int opNum, raw_ostream &O); + void printMemoryOperand(const MachineInstr *MI, int opNum, raw_ostream &O); + void printInstruction(const MachineInstr *MI, raw_ostream &O);// autogen'd. static const char *getRegisterName(unsigned RegNo); void EmitInstruction(const MachineInstr *MI) { - printInstruction(MI); + printInstruction(MI, O); OutStreamer.AddBlankLine(); } bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, @@ -69,8 +69,9 @@ extern "C" void LLVMInitializeBlackfinAsmPrinter() { RegisterAsmPrinter<BlackfinAsmPrinter> X(TheBlackfinTarget); } -void BlackfinAsmPrinter::printOperand(const MachineInstr *MI, int opNum) { - const MachineOperand &MO = MI->getOperand (opNum); +void BlackfinAsmPrinter::printOperand(const MachineInstr *MI, int opNum, + raw_ostream &O) { + const MachineOperand &MO = MI->getOperand(opNum); switch (MO.getType()) { case MachineOperand::MO_Register: assert(TargetRegisterInfo::isPhysicalRegister(MO.getReg()) && @@ -105,14 +106,15 @@ void BlackfinAsmPrinter::printOperand(const MachineInstr *MI, int opNum) { } } -void BlackfinAsmPrinter::printMemoryOperand(const MachineInstr *MI, int opNum) { - printOperand(MI, opNum); +void BlackfinAsmPrinter::printMemoryOperand(const MachineInstr *MI, int opNum, + raw_ostream &O) { + printOperand(MI, opNum, O); if (MI->getOperand(opNum+1).isImm() && MI->getOperand(opNum+1).getImm() == 0) return; O << " + "; - printOperand(MI, opNum+1); + printOperand(MI, opNum+1, O); } /// PrintAsmOperand - Print out an operand for an inline asm expression. @@ -131,7 +133,7 @@ bool BlackfinAsmPrinter::PrintAsmOperand(const MachineInstr *MI, } } - printOperand(MI, OpNo); + printOperand(MI, OpNo, O); return false; } @@ -144,7 +146,7 @@ bool BlackfinAsmPrinter::PrintAsmMemoryOperand(const MachineInstr *MI, return true; // Unknown modifier O << '['; - printOperand(MI, OpNo); + printOperand(MI, OpNo, O); O << ']'; return false; |