Add stub to emit machine code for JIT
authorChris Lattner <sabre@nondot.org>
Mon, 2 Dec 2002 21:00:50 +0000 (21:00 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 2 Dec 2002 21:00:50 +0000 (21:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4856 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetMachine.h

index 484055635f7ed8b3a93bf48043f62c98dd06413d..0440cccdc5d81eebdd398a57b4c60a7943599e49 100644 (file)
@@ -17,6 +17,7 @@ class MachineRegInfo;
 class MachineFrameInfo;
 class MachineCacheInfo;
 class MachineOptInfo;
+class MachineCodeEmitter;
 class MRegisterInfo;
 class PassManager;
 class Pass;
@@ -77,20 +78,31 @@ public:
   // 
   virtual unsigned findOptimalStorageSize(const Type* ty) const;
   
+  /// addPassesToJITCompile - Add passes to the specified pass manager to
+  /// implement a fast dynamic compiler for this target.  Return true if this is
+  /// not supported for this target.
+  ///
+  virtual bool addPassesToJITCompile(PassManager &PM) { return true; }
+
   /// addPassesToEmitAssembly - Add passes to the specified pass manager to get
-  /// assembly langage code emited.  Typically this will involve several steps
-  /// of code generation.  This method should return true if code generation is
-  /// not supported.
+  /// assembly langage code emitted.  Typically this will involve several steps
+  /// of code generation.  This method should return true if assembly emission
+  /// is not supported.
   ///
   virtual bool addPassesToEmitAssembly(PassManager &PM, std::ostream &Out) {
     return true;
   }
 
-  /// addPassesToJITCompile - Add passes to the specified pass manager to
-  /// implement a fast dynamic compiler for this target.  Return true if this is
-  /// not supported for this target.
+  /// addPassesToEmitMachineCode - Add passes to the specified pass manager to
+  /// get machine code emitted.  This uses a MAchineCodeEmitter object to handle
+  /// actually outputting the machine code and resolving things like the address
+  /// of functions.  This method should returns true if machine code emission is
+  /// not supported.
   ///
-  virtual bool addPassesToJITCompile(PassManager &PM) { return true; }
+  virtual bool addPassesToEmitMachineCode(PassManager &PM,
+                                          MachineCodeEmitter *MCE) {
+    return true;
+  }
 };
 
 #endif