[llvm-commits] CVS: llvm/include/llvm/Target/TargetMachine.h

Chris Lattner lattner at cs.uiuc.edu
Mon Dec 2 15:02:01 PST 2002


Changes in directory llvm/include/llvm/Target:

TargetMachine.h updated: 1.20 -> 1.21

---
Log message:

Add stub to emit machine code for JIT


---
Diffs of the changes:

Index: llvm/include/llvm/Target/TargetMachine.h
diff -u llvm/include/llvm/Target/TargetMachine.h:1.20 llvm/include/llvm/Target/TargetMachine.h:1.21
--- llvm/include/llvm/Target/TargetMachine.h:1.20	Wed Nov 20 12:54:53 2002
+++ llvm/include/llvm/Target/TargetMachine.h	Mon Dec  2 15:00:50 2002
@@ -17,6 +17,7 @@
 class MachineFrameInfo;
 class MachineCacheInfo;
 class MachineOptInfo;
+class MachineCodeEmitter;
 class MRegisterInfo;
 class PassManager;
 class Pass;
@@ -77,20 +78,31 @@
   // 
   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





More information about the llvm-commits mailing list