[OCaml] Synchronize transformations with LLVM-C.
[oota-llvm.git] / bindings / ocaml / transforms / vectorize / llvm_vectorize.mli
1 (*===-- llvm_vectorize.mli - LLVM OCaml Interface -------------*- OCaml -*-===*
2  *
3  *                     The LLVM Compiler Infrastructure
4  *
5  * This file is distributed under the University of Illinois Open Source
6  * License. See LICENSE.TXT for details.
7  *
8  *===----------------------------------------------------------------------===*)
9
10 (** Vectorize Transforms.
11
12     This interface provides an OCaml API for LLVM vectorize transforms, the
13     classes in the [LLVMVectorize] library. *)
14
15 (** See the [llvm::createBBVectorizePass] function. *)
16 external add_bb_vectorize
17   : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
18   = "llvm_add_bb_vectorize"
19
20 (** See the [llvm::createLoopVectorizePass] function. *)
21 external add_loop_vectorize
22   : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
23   = "llvm_add_loop_vectorize"
24
25 (** See the [llvm::createSLPVectorizerPass] function. *)
26 external add_slp_vectorize
27   : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
28   = "llvm_add_slp_vectorize"