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 | d374087be5360a353a4239a155b1227057145f48 (patch) | |
tree | d8a5027115587ce258f71d8a74b240242ba5c82c /lib | |
parent | 35c33bd772b3cfb34fdc6b5c9171f955454d0043 (diff) | |
download | external_llvm-d374087be5360a353a4239a155b1227057145f48.zip external_llvm-d374087be5360a353a4239a155b1227057145f48.tar.gz external_llvm-d374087be5360a353a4239a155b1227057145f48.tar.bz2 |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100307 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/LLVMTargetMachine.cpp | 2 | ||||
-rw-r--r-- | lib/MC/MCAsmStreamer.cpp | 2 | ||||
-rw-r--r-- | lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp | 5 | ||||
-rw-r--r-- | lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp | 2 | ||||
-rw-r--r-- | lib/Target/ARM/AsmPrinter/ARMInstPrinter.h | 6 | ||||
-rw-r--r-- | lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp | 7 | ||||
-rw-r--r-- | lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp | 2 | ||||
-rw-r--r-- | lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h | 9 | ||||
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp | 4 | ||||
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h | 5 | ||||
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp | 7 | ||||
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp | 4 | ||||
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h | 6 |
13 files changed, 27 insertions, 34 deletions
diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp index 75e45ef..4b90954 100644 --- a/lib/CodeGen/LLVMTargetMachine.cpp +++ b/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/lib/MC/MCAsmStreamer.cpp b/lib/MC/MCAsmStreamer.cpp index 757eadd..2c7e1c4 100644 --- a/lib/MC/MCAsmStreamer.cpp +++ b/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/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp b/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp index 486ab00..feb2db8 100644 --- a/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp +++ b/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/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp b/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp index f0fcafb..ef5ead6 100644 --- a/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp +++ b/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/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h b/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h index c2b32c1..dd006fc 100644 --- a/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h +++ b/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/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp b/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp index 5d5e2e2..f402990 100644 --- a/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp +++ b/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/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp b/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp index 6b99645..c15d408 100644 --- a/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp +++ b/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/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h b/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h index a802cd2..f0e1ce2 100644 --- a/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h +++ b/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/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp b/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp index 93f3dc1..0b64cb4 100644 --- a/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp +++ b/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/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h b/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h index 3450a05..8d5d508 100644 --- a/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h +++ b/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/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp index 5f758db..311908a 100644 --- a/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp +++ b/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/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp b/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp index e12b148..7e0a9bb 100644 --- a/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp +++ b/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/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h b/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h index c2d0274..a0beeb2 100644 --- a/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h +++ b/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. |