diff options
Diffstat (limited to 'llvm/bindings/ocaml')
3 files changed, 14 insertions, 0 deletions
diff --git a/llvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.ml b/llvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.ml index b90d0aecd2a..5d349e6d0b7 100644 --- a/llvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.ml +++ b/llvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.ml @@ -64,6 +64,9 @@ external add_memcpy_opt external add_partially_inline_lib_calls : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit = "llvm_add_partially_inline_lib_calls" +external add_lower_atomic + : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit + = "llvm_add_lower_atomic" external add_lower_switch : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit = "llvm_add_lower_switch" diff --git a/llvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.mli b/llvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.mli index 48109dfdb6b..f49448eeab4 100644 --- a/llvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.mli +++ b/llvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.mli @@ -107,6 +107,11 @@ external add_partially_inline_lib_calls : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit = "llvm_add_partially_inline_lib_calls" +(** See the [llvm::createLowerAtomicPass] function. *) +external add_lower_atomic + : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit + = "llvm_add_lower_atomic" + (** See the [llvm::createLowerSwitchPass] function. *) external add_lower_switch : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit diff --git a/llvm/bindings/ocaml/transforms/scalar_opts/scalar_opts_ocaml.c b/llvm/bindings/ocaml/transforms/scalar_opts/scalar_opts_ocaml.c index 4e986cae24d..94b3da9f3ef 100644 --- a/llvm/bindings/ocaml/transforms/scalar_opts/scalar_opts_ocaml.c +++ b/llvm/bindings/ocaml/transforms/scalar_opts/scalar_opts_ocaml.c @@ -135,6 +135,12 @@ CAMLprim value llvm_add_partially_inline_lib_calls(LLVMPassManagerRef PM) { } /* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */ +CAMLprim value llvm_add_lower_atomic(LLVMPassManagerRef PM) { + LLVMAddLowerAtomicPass(PM); + return Val_unit; +} + +/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */ CAMLprim value llvm_add_lower_switch(LLVMPassManagerRef PM) { LLVMAddLowerSwitchPass(PM); return Val_unit; |

