C and Objective Caml bindings for several scalar transforms.
[oota-llvm.git] / bindings / ocaml / transforms / scalar / llvm_scalar_opts.ml
diff --git a/bindings/ocaml/transforms/scalar/llvm_scalar_opts.ml b/bindings/ocaml/transforms/scalar/llvm_scalar_opts.ml
new file mode 100644 (file)
index 0000000..8b6b7f9
--- /dev/null
@@ -0,0 +1,24 @@
+(*===-- llvm_scalar_opts.ml - LLVM Ocaml Interface -------------*- OCaml -*-===*
+ *
+ *                     The LLVM Compiler Infrastructure
+ *
+ * This file is distributed under the University of Illinois Open Source
+ * License. See LICENSE.TXT for details.
+ *
+ *===----------------------------------------------------------------------===*)
+
+external add_constant_propagation : [<Llvm.PassManager.any] Llvm.PassManager.t
+                                    -> unit
+                                  = "llvm_add_constant_propagation"
+external add_instruction_combining : [<Llvm.PassManager.any] Llvm.PassManager.t
+                                     -> unit
+                                   = "llvm_add_instruction_combining"
+external add_reassociation : [<Llvm.PassManager.any] Llvm.PassManager.t
+                             -> unit
+                           = "llvm_add_reassociation"
+external add_gvn : [<Llvm.PassManager.any] Llvm.PassManager.t
+                   -> unit
+                 = "llvm_add_gvn"
+external add_cfg_simplification : [<Llvm.PassManager.any] Llvm.PassManager.t
+                                  -> unit
+                                = "llvm_add_cfg_simplification"