refactor these interfaces a bit
authorChris Lattner <sabre@nondot.org>
Sat, 25 Jun 2005 02:47:50 +0000 (02:47 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 25 Jun 2005 02:47:50 +0000 (02:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22281 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetMachine.h

index b0deafc023521cf3993a7846c03bc3c3fd7f0d1f..11bc2f139cd7728cc901d8a24f885452bea5ac2b 100644 (file)
@@ -112,12 +112,19 @@ public:
   virtual const TargetSchedInfo        *getSchedInfo() const { return 0; }
   virtual const SparcV9RegInfo         *getRegInfo()   const { return 0; }
 
-  /// addPassesToEmitAssembly - Add passes to the specified pass manager to get
-  /// assembly langage code emitted.  Typically this will involve several steps
-  /// of code generation.  This method should return true if assembly emission
-  /// is not supported.
+  /// CodeGenFileType - These enums are meant to be passed into
+  /// addPassesToEmitFile to indicate what type of file to emit.
+  enum CodeGenFileType {
+    AssemblyFile
+  };
+
+  /// addPassesToEmitFile - Add passes to the specified pass manager to get
+  /// the specified file emitted.  Typically this will involve several steps of
+  /// code generation.  This method should return true if emission of this file
+  /// type is not supported.
   ///
-  virtual bool addPassesToEmitAssembly(PassManager &PM, std::ostream &Out) {
+  virtual bool addPassesToEmitFile(PassManager &PM, std::ostream &Out,
+                                   CodeGenFileType FileType) {
     return true;
   }