Expose the optimization level for the jit in ocaml.
[oota-llvm.git] / bindings / ocaml / executionengine / llvm_executionengine.ml
index 072e24901c8493e839516b0df26be6030abbe0bc..95faa58cc548a969392497a2335a7218fdb03c39 100644 (file)
@@ -2,8 +2,8 @@
  *
  *                     The LLVM Compiler Infrastructure
  *
- * This file was developed by Gordon Henriksen and is distributed under the
- * University of Illinois Open Source License. See LICENSE.TXT for details.
+ * This file is distributed under the University of Illinois Open Source
+ * License. See LICENSE.TXT for details.
  *
  *===----------------------------------------------------------------------===*)
 
@@ -56,17 +56,17 @@ module ExecutionEngine = struct
             call into LLVM. *)
   let _ = register_exns (Error "")
   
-  external create: Llvm.llmoduleprovider -> t
+  external create: Llvm.llmodule -> t
     = "llvm_ee_create"
-  external create_interpreter: Llvm.llmoduleprovider -> t
+  external create_interpreter: Llvm.llmodule -> t
     = "llvm_ee_create_interpreter"
-  external create_jit: Llvm.llmoduleprovider -> t
+  external create_jit: Llvm.llmodule -> int -> t
     = "llvm_ee_create_jit"
   external dispose: t -> unit
     = "llvm_ee_dispose"
-  external add_module_provider: Llvm.llmoduleprovider -> t -> unit
+  external add_module: Llvm.llmodule -> t -> unit
     = "llvm_ee_add_mp"
-  external remove_module_provider: Llvm.llmoduleprovider -> t -> Llvm.llmodule
+  external remove_module: Llvm.llmodule -> t -> Llvm.llmodule
     = "llvm_ee_remove_mp"
   external find_function: string -> t -> Llvm.llvalue option
     = "llvm_ee_find_function"
@@ -82,6 +82,9 @@ module ExecutionEngine = struct
     = "llvm_ee_run_function_as_main"
   external free_machine_code: Llvm.llvalue -> t -> unit
     = "llvm_ee_free_machine_code"
+
+  external target_data: t -> Llvm_target.TargetData.t
+    = "LLVMGetExecutionEngineTargetData"
   
   (* The following are not bound. Patches are welcome.
   
@@ -104,3 +107,6 @@ module ExecutionEngine = struct
   
    *)
 end
+
+external initialize_native_target : unit -> bool
+                                  = "llvm_initialize_native_target"