diff options
Diffstat (limited to 'lib/Target/X86')
-rw-r--r-- | lib/Target/X86/X86.h | 6 | ||||
-rw-r--r-- | lib/Target/X86/X86TargetMachine.cpp | 15 | ||||
-rw-r--r-- | lib/Target/X86/X86TargetMachine.h | 7 |
3 files changed, 9 insertions, 19 deletions
diff --git a/lib/Target/X86/X86.h b/lib/Target/X86/X86.h index b34df13180..c7663be018 100644 --- a/lib/Target/X86/X86.h +++ b/lib/Target/X86/X86.h @@ -46,12 +46,6 @@ FunctionPass *createX86CodePrinterPass(std::ostream &o, X86TargetMachine &tm); FunctionPass *createX86CodeEmitterPass(X86TargetMachine &TM, MachineCodeEmitter &MCE); -/// addX86ELFObjectWriterPass - Add passes to the FPM that output the generated -/// code as an ELF object file. -/// -void addX86ELFObjectWriterPass(FunctionPassManager &FPM, - std::ostream &o, X86TargetMachine &tm); - /// createX86EmitCodeToMemory - Returns a pass that converts a register /// allocated function into raw machine code in a dynamically /// allocated chunk of memory. diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp index 8f648d8eda..7a5a63dacf 100644 --- a/lib/Target/X86/X86TargetMachine.cpp +++ b/lib/Target/X86/X86TargetMachine.cpp @@ -163,15 +163,6 @@ bool X86TargetMachine::addAssemblyEmitter(FunctionPassManager &PM, bool Fast, return false; } -bool X86TargetMachine::addObjectWriter(FunctionPassManager &PM, bool Fast, - std::ostream &Out) { - if (Subtarget.isTargetELF()) { - addX86ELFObjectWriterPass(PM, Out, *this); - return false; - } - return true; -} - bool X86TargetMachine::addCodeEmitter(FunctionPassManager &PM, bool Fast, MachineCodeEmitter &MCE) { // FIXME: Move this to TargetJITInfo! @@ -185,3 +176,9 @@ bool X86TargetMachine::addCodeEmitter(FunctionPassManager &PM, bool Fast, PM.add(createX86CodeEmitterPass(*this, MCE)); return false; } + +bool X86TargetMachine::addSimpleCodeEmitter(FunctionPassManager &PM, bool Fast, + MachineCodeEmitter &MCE) { + PM.add(createX86CodeEmitterPass(*this, MCE)); + return false; +} diff --git a/lib/Target/X86/X86TargetMachine.h b/lib/Target/X86/X86TargetMachine.h index 565cdcfd62..0a4f1b54c4 100644 --- a/lib/Target/X86/X86TargetMachine.h +++ b/lib/Target/X86/X86TargetMachine.h @@ -53,22 +53,21 @@ public: } virtual const TargetData *getTargetData() const { return &DataLayout; } virtual const X86ELFWriterInfo *getELFWriterInfo() const { - return &ELFWriterInfo; + return Subtarget.isTargetELF() ? &ELFWriterInfo : 0; } static unsigned getModuleMatchQuality(const Module &M); static unsigned getJITMatchQuality(); - // Set up the pass pipeline. virtual bool addInstSelector(FunctionPassManager &PM, bool Fast); virtual bool addPostRegAlloc(FunctionPassManager &PM, bool Fast); virtual bool addAssemblyEmitter(FunctionPassManager &PM, bool Fast, std::ostream &Out); - virtual bool addObjectWriter(FunctionPassManager &PM, bool Fast, - std::ostream &Out); virtual bool addCodeEmitter(FunctionPassManager &PM, bool Fast, MachineCodeEmitter &MCE); + virtual bool addSimpleCodeEmitter(FunctionPassManager &PM, bool Fast, + MachineCodeEmitter &MCE); }; /// X86_32TargetMachine - X86 32-bit target machine. |