- [dispose ee]. See the function [llvm::ExecutionEngine::create]. *)
- val create: Llvm.llmoduleprovider -> t
-
- (** [create_interpreter mp] creates a new interpreter, taking ownership of the
- module provider [mp] if successful. Raises [Error msg] if an error
- occurrs. The execution engine is not garbage collected and must be
- destroyed with [dispose ee].
- See the function [llvm::ExecutionEngine::create]. *)
- val create_interpreter: Llvm.llmoduleprovider -> t
-
- (** [create_jit mp] creates a new JIT (just-in-time compiler), taking
- ownership of the module provider [mp] if successful. This function creates
- a JIT which favors code quality over compilation speed. Raises [Error msg]
- if an error occurrs. The execution engine is not garbage collected and
- must be destroyed with [dispose ee].
- See the function [llvm::ExecutionEngine::create]. *)
- val create_jit: Llvm.llmoduleprovider -> t
-
- (** [create_fast_jit mp] creates a new JIT (just-in-time compiler) which
- favors compilation speed over code quality. It takes ownership of the
- module provider [mp] if successful. Raises [Error msg] if an error
- occurrs. The execution engine is not garbage collected and must be
- destroyed with [dispose ee].
- See the function [llvm::ExecutionEngine::create]. *)
- val create_fast_jit: Llvm.llmoduleprovider -> t
-
+ [dispose ee].
+ See the function [llvm::EngineBuilder::create]. *)
+ val create_interpreter: Llvm.llmodule -> t
+
+ (** [create_jit m optlevel] creates a new JIT (just-in-time compiler), taking
+ ownership of the module [m] if successful with the desired optimization
+ level [optlevel]. Raises [Error msg] if an error occurrs. The execution
+ engine is not garbage collected and must be destroyed with [dispose ee].
+ See the function [llvm::EngineBuilder::create]. *)
+ val create_jit : Llvm.llmodule -> int -> t
+