diff options
author | Chris Lattner <sabre@nondot.org> | 2010-04-04 05:04:31 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-04-04 05:04:31 +0000 |
commit | 701291627546fd45a83cfdce2a3e3aedde3f4726 (patch) | |
tree | d1178bfa5d5f8035c82a2ff408848fcc01906f05 /llvm/lib | |
parent | 76c564b1bb732a92bbb4a9685fe3dc6a2d65fbdd (diff) | |
download | bcm5719-llvm-701291627546fd45a83cfdce2a3e3aedde3f4726.tar.gz bcm5719-llvm-701291627546fd45a83cfdce2a3e3aedde3f4726.zip |
fix an ugly wart in the MCInstPrinter api where the
raw_ostream to print an instruction to had to be specified
at MCInstPrinter construction time instead of being able
to pick at each call to printInstruction.
llvm-svn: 100307
Diffstat (limited to 'llvm/lib')
13 files changed, 27 insertions, 34 deletions
diff --git a/llvm/lib/CodeGen/LLVMTargetMachine.cpp b/llvm/lib/CodeGen/LLVMTargetMachine.cpp index 75e45efe4de..4b9095494da 100644 --- a/llvm/lib/CodeGen/LLVMTargetMachine.cpp +++ b/llvm/lib/CodeGen/LLVMTargetMachine.cpp @@ -128,7 +128,7 @@ bool LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM, default: return true; case CGFT_AssemblyFile: { MCInstPrinter *InstPrinter = - getTarget().createMCInstPrinter(MAI.getAssemblerDialect(), MAI, Out); + getTarget().createMCInstPrinter(MAI.getAssemblerDialect(), MAI); AsmStreamer.reset(createAsmStreamer(*Context, Out, getTargetData()->isLittleEndian(), getVerboseAsm(), InstPrinter, diff --git a/llvm/lib/MC/MCAsmStreamer.cpp b/llvm/lib/MC/MCAsmStreamer.cpp index 757eaddcf2d..2c7e1c4c90d 100644 --- a/llvm/lib/MC/MCAsmStreamer.cpp +++ b/llvm/lib/MC/MCAsmStreamer.cpp @@ -635,7 +635,7 @@ void MCAsmStreamer::EmitInstruction(const MCInst &Inst) { // If we have an AsmPrinter, use that to print, otherwise print the MCInst. if (InstPrinter) - InstPrinter->printInst(&Inst); + InstPrinter->printInst(&Inst, OS); else Inst.print(OS, &MAI); EmitEOL(); diff --git a/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp index 486ab00d664..feb2db8bb8e 100644 --- a/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp +++ b/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp @@ -1385,10 +1385,9 @@ void ARMAsmPrinter::printInstructionThroughMCStreamer(const MachineInstr *MI) { static MCInstPrinter *createARMMCInstPrinter(const Target &T, unsigned SyntaxVariant, - const MCAsmInfo &MAI, - raw_ostream &O) { + const MCAsmInfo &MAI) { if (SyntaxVariant == 0) - return new ARMInstPrinter(O, MAI, false); + return new ARMInstPrinter(MAI, false); return 0; } diff --git a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp index f0fcafbf81f..ef5ead6e473 100644 --- a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp +++ b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp @@ -98,7 +98,7 @@ static unsigned NextReg(unsigned Reg) { } } -void ARMInstPrinter::printInst(const MCInst *MI) { +void ARMInstPrinter::printInst(const MCInst *MI, raw_ostream &O) { // Check for MOVs and print canonical forms, instead. if (MI->getOpcode() == ARM::MOVs) { const MCOperand &Dst = MI->getOperand(0); diff --git a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h index c2b32c1352e..dd006fc52e7 100644 --- a/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h +++ b/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h @@ -22,10 +22,10 @@ namespace llvm { class ARMInstPrinter : public MCInstPrinter { bool VerboseAsm; public: - ARMInstPrinter(raw_ostream &O, const MCAsmInfo &MAI, bool verboseAsm) - : MCInstPrinter(O, MAI), VerboseAsm(verboseAsm) {} + ARMInstPrinter(const MCAsmInfo &MAI, bool verboseAsm) + : MCInstPrinter(MAI), VerboseAsm(verboseAsm) {} - virtual void printInst(const MCInst *MI); + virtual void printInst(const MCInst *MI, raw_ostream &O); // Autogenerated by tblgen. void printInstruction(const MCInst *MI, raw_ostream &O); diff --git a/llvm/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp b/llvm/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp index 5d5e2e2474c..f40299079eb 100644 --- a/llvm/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp +++ b/llvm/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp @@ -51,7 +51,7 @@ namespace { } void printMCInst(const MCInst *MI) { - MSP430InstPrinter(O, *MAI).printInstruction(MI, O); + MSP430InstPrinter(*MAI).printInstruction(MI, O); } void printOperand(const MachineInstr *MI, int OpNum, const char* Modifier = 0); @@ -191,10 +191,9 @@ void MSP430AsmPrinter::EmitInstruction(const MachineInstr *MI) { static MCInstPrinter *createMSP430MCInstPrinter(const Target &T, unsigned SyntaxVariant, - const MCAsmInfo &MAI, - raw_ostream &O) { + const MCAsmInfo &MAI) { if (SyntaxVariant == 0) - return new MSP430InstPrinter(O, MAI); + return new MSP430InstPrinter(MAI); return 0; } diff --git a/llvm/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp b/llvm/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp index 6b99645d23d..c15d4085bc8 100644 --- a/llvm/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp +++ b/llvm/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp @@ -28,7 +28,7 @@ using namespace llvm; #include "MSP430GenAsmWriter.inc" #undef MachineInstr -void MSP430InstPrinter::printInst(const MCInst *MI) { +void MSP430InstPrinter::printInst(const MCInst *MI, raw_ostream &O) { printInstruction(MI, O); } diff --git a/llvm/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h b/llvm/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h index a802cd2bae3..f0e1ce22841 100644 --- a/llvm/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h +++ b/llvm/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h @@ -16,18 +16,15 @@ #include "llvm/MC/MCInstPrinter.h" -namespace llvm -{ - +namespace llvm { class MCOperand; class MSP430InstPrinter : public MCInstPrinter { public: - MSP430InstPrinter(raw_ostream &O, const MCAsmInfo &MAI) : - MCInstPrinter(O, MAI) { + MSP430InstPrinter(const MCAsmInfo &MAI) : MCInstPrinter(MAI) { } - virtual void printInst(const MCInst *MI); + virtual void printInst(const MCInst *MI, raw_ostream &O); // Autogenerated by tblgen. void printInstruction(const MCInst *MI, raw_ostream &O); diff --git a/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp b/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp index 93f3dc1eff0..0b64cb4f282 100644 --- a/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp +++ b/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp @@ -29,8 +29,8 @@ using namespace llvm; #include "X86GenAsmWriter.inc" #undef MachineInstr -void X86ATTInstPrinter::printInst(const MCInst *MI) { - printInstruction(MI, O); +void X86ATTInstPrinter::printInst(const MCInst *MI, raw_ostream &OS) { + printInstruction(MI, OS); } StringRef X86ATTInstPrinter::getOpcodeName(unsigned Opcode) const { return getInstructionName(Opcode); diff --git a/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h b/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h index 3450a057f83..8d5d50832d4 100644 --- a/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h +++ b/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h @@ -21,11 +21,10 @@ namespace llvm { class X86ATTInstPrinter : public MCInstPrinter { public: - X86ATTInstPrinter(raw_ostream &O, const MCAsmInfo &MAI) - : MCInstPrinter(O, MAI) {} + X86ATTInstPrinter(const MCAsmInfo &MAI) : MCInstPrinter(MAI) {} - virtual void printInst(const MCInst *MI); + virtual void printInst(const MCInst *MI, raw_ostream &OS); virtual StringRef getOpcodeName(unsigned Opcode) const; // Autogenerated by tblgen. diff --git a/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp b/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp index 5f758db9456..311908abe5c 100644 --- a/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp +++ b/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp @@ -636,12 +636,11 @@ void X86AsmPrinter::EmitEndOfAsmFile(Module &M) { static MCInstPrinter *createX86MCInstPrinter(const Target &T, unsigned SyntaxVariant, - const MCAsmInfo &MAI, - raw_ostream &O) { + const MCAsmInfo &MAI) { if (SyntaxVariant == 0) - return new X86ATTInstPrinter(O, MAI); + return new X86ATTInstPrinter(MAI); if (SyntaxVariant == 1) - return new X86IntelInstPrinter(O, MAI); + return new X86IntelInstPrinter(MAI); return 0; } diff --git a/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp b/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp index e12b1485730..7e0a9bb891f 100644 --- a/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp +++ b/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp @@ -28,8 +28,8 @@ using namespace llvm; #include "X86GenAsmWriter1.inc" #undef MachineInstr -void X86IntelInstPrinter::printInst(const MCInst *MI) { - printInstruction(MI, O); +void X86IntelInstPrinter::printInst(const MCInst *MI, raw_ostream &OS) { + printInstruction(MI, OS); } StringRef X86IntelInstPrinter::getOpcodeName(unsigned Opcode) const { return getInstructionName(Opcode); diff --git a/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h b/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h index c2d02745110..a0beeb202e7 100644 --- a/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h +++ b/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h @@ -22,10 +22,10 @@ namespace llvm { class X86IntelInstPrinter : public MCInstPrinter { public: - X86IntelInstPrinter(raw_ostream &O, const MCAsmInfo &MAI) - : MCInstPrinter(O, MAI) {} + X86IntelInstPrinter(const MCAsmInfo &MAI) + : MCInstPrinter(MAI) {} - virtual void printInst(const MCInst *MI); + virtual void printInst(const MCInst *MI, raw_ostream &OS); virtual StringRef getOpcodeName(unsigned Opcode) const; // Autogenerated by tblgen. |