diff options
4 files changed, 14 insertions, 0 deletions
diff --git a/bindings/ocaml/transforms/scalar/llvm_scalar_opts.ml b/bindings/ocaml/transforms/scalar/llvm_scalar_opts.ml index d856c0f..958939d 100644 --- a/bindings/ocaml/transforms/scalar/llvm_scalar_opts.ml +++ b/bindings/ocaml/transforms/scalar/llvm_scalar_opts.ml @@ -109,3 +109,6 @@ external add_basic_alias_analysis : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit = "llvm_add_basic_alias_analysis" +external +add_partially_inline_lib_calls : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit + = "llvm_add_partially_inline_lib_calls" diff --git a/bindings/ocaml/transforms/scalar/llvm_scalar_opts.mli b/bindings/ocaml/transforms/scalar/llvm_scalar_opts.mli index ea2e4a91..d69abe2 100644 --- a/bindings/ocaml/transforms/scalar/llvm_scalar_opts.mli +++ b/bindings/ocaml/transforms/scalar/llvm_scalar_opts.mli @@ -162,3 +162,7 @@ external add_basic_alias_analysis : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit = "llvm_add_basic_alias_analysis" +(** See the [llvm::createPartiallyInlineLibCallsPass] function. *) +external +add_partially_inline_lib_calls : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit + = "llvm_add_partially_inline_lib_calls" diff --git a/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c b/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c index 51e966c..0a71bd7 100644 --- a/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c +++ b/bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c @@ -199,3 +199,9 @@ CAMLprim value llvm_add_basic_alias_analysis(LLVMPassManagerRef PM) { LLVMAddBasicAliasAnalysisPass(PM); return Val_unit; } + +/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */ +CAMLprim value llvm_add_partially_inline_lib_calls(LLVMPassManagerRef PM) { + LLVMAddPartiallyInlineLibCallsPass(PM); + return Val_unit; +} diff --git a/test/Bindings/Ocaml/scalar_opts.ml b/test/Bindings/Ocaml/scalar_opts.ml index 506fdf0..8202e19 100644 --- a/test/Bindings/Ocaml/scalar_opts.ml +++ b/test/Bindings/Ocaml/scalar_opts.ml @@ -75,6 +75,7 @@ let test_transforms () = ++ add_lower_expect_intrinsic ++ add_type_based_alias_analysis ++ add_basic_alias_analysis + ++ add_partially_inline_lib_calls ++ add_verifier ++ PassManager.initialize ++ PassManager.run_function fn |