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. *)
16external add_bb_vectorize : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
17                          = "llvm_add_bb_vectorize"
18
19(** See the [llvm::createLoopVectorizePass] function. *)
20external add_loop_vectorize : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
21                            = "llvm_add_loop_vectorize"
22
23(** See [llvm::createSLPVectorizerPass] function. *)
24external add_slp_vectorize : [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
25                           = "llvm_add_slp_vectorize"
26