Pass around IntrinsicLowering instances as appropriate.
[oota-llvm.git] / lib / ExecutionEngine / JIT / JIT.h
index 76d2b7a917048b4a5700f7b4f559c58b4356ba5c..414d1c6e6832ebffec18d716699be11482afc32f 100644 (file)
@@ -44,14 +44,16 @@ public:
   ~JIT();
 
   /// create - Create an return a new JIT compiler if there is one available
-  /// for the current target.  Otherwise, return null.
+  /// for the current target.  Otherwise, return null.  If the JIT is created
+  /// successfully, it takes responsibility for deleting the specified
+  /// IntrinsicLowering implementation.
   ///
-  static ExecutionEngine *create(ModuleProvider *MP);
+  static ExecutionEngine *create(ModuleProvider *MP, IntrinsicLowering *IL = 0);
 
   /// run - Start execution with the specified function and arguments.
   ///
-  virtual GenericValue run(Function *F,
-                          const std::vector<GenericValue> &ArgValues);
+  virtual GenericValue runFunction(Function *F,
+                                   const std::vector<GenericValue> &ArgValues);
 
   /// getPointerToNamedFunction - This method returns the address of the
   /// specified function by using the dlsym function call.  As such it is only
@@ -64,11 +66,6 @@ public:
   // 
   static void CompilationCallback();
 
-  /// runAtExitHandlers - Before exiting the program, at_exit functions must be
-  /// called.  This method calls them.
-  ///
-  static void runAtExitHandlers();
-
   /// getPointerToFunction - This returns the address of the specified function,
   /// compiling it if necessary.
   ///