[OCaml] Llvm_ipo: add missing transforms
authorPeter Zotov <whitequark@whitequark.org>
Sun, 3 Nov 2013 07:54:08 +0000 (07:54 +0000)
committerPeter Zotov <whitequark@whitequark.org>
Sun, 3 Nov 2013 07:54:08 +0000 (07:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193945 91177308-0d34-0410-b5e6-96231b3b80d8

bindings/ocaml/transforms/ipo/ipo_ocaml.c
bindings/ocaml/transforms/ipo/llvm_ipo.ml
bindings/ocaml/transforms/ipo/llvm_ipo.mli
test/Bindings/Ocaml/ipo_opts.ml

index 496dc15..4ad8afb 100644 (file)
@@ -49,6 +49,12 @@ CAMLprim value llvm_add_function_inlining(LLVMPassManagerRef PM) {
   return Val_unit;
 }
 
+/* [`Module] Llvm.PassManager.t -> unit */
+CAMLprim value llvm_add_always_inliner(LLVMPassManagerRef PM) {
+  LLVMAddAlwaysInlinerPass(PM);
+  return Val_unit;
+}
+
 /* [`Module] Llvm.PassManager.t -> unit */
 CAMLprim value llvm_add_always_inliner_pass(LLVMPassManagerRef PM) {
   LLVMAddAlwaysInlinerPass(PM);
index e895c7a..93f564a 100644 (file)
@@ -17,6 +17,8 @@ external add_function_attrs : [ | `Module ] Llvm.PassManager.t -> unit =
   "llvm_add_function_attrs"
 external add_function_inlining : [ | `Module ] Llvm.PassManager.t -> unit =
   "llvm_add_function_inlining"
+external add_always_inliner : [ | `Module ] Llvm.PassManager.t -> unit =
+  "llvm_add_always_inliner"
 external add_global_dce : [ | `Module ] Llvm.PassManager.t -> unit =
   "llvm_add_global_dce"
 external add_global_optimizer : [ | `Module ] Llvm.PassManager.t -> unit =
index 68f7c0e..1944c30 100644 (file)
@@ -32,6 +32,10 @@ external add_function_attrs : [ | `Module ] Llvm.PassManager.t -> unit =
 external add_function_inlining : [ | `Module ] Llvm.PassManager.t -> unit =
   "llvm_add_function_inlining"
 
+(**  See llvm::createAlwaysInlinerPass function. *)
+external add_always_inliner : [ | `Module ] Llvm.PassManager.t -> unit =
+  "llvm_add_always_inliner"
+
 (**  See llvm::createGlobalDCEPass function. *)
 external add_global_dce : [ | `Module ] Llvm.PassManager.t -> unit =
   "llvm_add_global_dce"
index 69577df..d67a9e0 100644 (file)
@@ -55,6 +55,7 @@ let test_transforms () =
            ++ add_dead_arg_elimination
            ++ add_function_attrs
            ++ add_function_inlining
+           ++ add_always_inliner
            ++ add_global_dce
            ++ add_global_optimizer
            ++ add_ipc_propagation