summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2010-01-15 18:51:18 +0000
committerNate Begeman <natebegeman@mac.com>2010-01-15 18:51:18 +0000
commitd232150b83cf226ec62fdb2c7be642065a25c2d0 (patch)
tree6302114fda2221ba15c32844c8c87337c935e547 /llvm/include
parenta2bbb7cbc636595bd24fc106ffe7df9757614b87 (diff)
downloadbcm5719-llvm-d232150b83cf226ec62fdb2c7be642065a25c2d0.tar.gz
bcm5719-llvm-d232150b83cf226ec62fdb2c7be642065a25c2d0.zip
Hook up llc's -filetype=obj to use MCStreamer if an MCCodeEmitter is available.
Remove most of old Mach-O Writer support, it has been replaced by MCMachOStreamer Further refactoring to completely remove MachOWriter and drive the object file writer with the AsmPrinter MCInst/MCSection logic is forthcoming. llvm-svn: 93527
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/CodeGen/FileWriters.h10
-rw-r--r--llvm/include/llvm/Target/TargetMachine.h8
2 files changed, 16 insertions, 2 deletions
diff --git a/llvm/include/llvm/CodeGen/FileWriters.h b/llvm/include/llvm/CodeGen/FileWriters.h
index a913d21eb20..9dba838a158 100644
--- a/llvm/include/llvm/CodeGen/FileWriters.h
+++ b/llvm/include/llvm/CodeGen/FileWriters.h
@@ -20,11 +20,17 @@ namespace llvm {
class ObjectCodeEmitter;
class TargetMachine;
class raw_ostream;
+ class formatted_raw_ostream;
+ class MachineFunctionPass;
+ class MCAsmInfo;
+ class MCCodeEmitter;
ObjectCodeEmitter *AddELFWriter(PassManagerBase &FPM, raw_ostream &O,
TargetMachine &TM);
- ObjectCodeEmitter *AddMachOWriter(PassManagerBase &FPM, raw_ostream &O,
- TargetMachine &TM);
+ MachineFunctionPass *createMachOWriter(formatted_raw_ostream &O,
+ TargetMachine &TM,
+ const MCAsmInfo *T,
+ MCCodeEmitter *MCE);
} // end llvm namespace
diff --git a/llvm/include/llvm/Target/TargetMachine.h b/llvm/include/llvm/Target/TargetMachine.h
index 84cd5b432b6..5621e53270b 100644
--- a/llvm/include/llvm/Target/TargetMachine.h
+++ b/llvm/include/llvm/Target/TargetMachine.h
@@ -452,6 +452,14 @@ public:
bool addAssemblyEmitter(PassManagerBase &, CodeGenOpt::Level,
bool /* VerboseAsmDefault */,
formatted_raw_ostream &);
+
+ /// addObjectFileEmitter - Helper function which creates a target specific
+ /// object files emitter, if available. This interface is temporary, for
+ /// bringing up MCAssembler-based object file emitters.
+ ///
+ /// \return Returns 'false' on success.
+ bool addObjectFileEmitter(PassManagerBase &, CodeGenOpt::Level,
+ formatted_raw_ostream &);
};
} // End llvm namespace
OpenPOWER on IntegriCloud