You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.179
Former-commit-id: 67aa10e65b237e1c4537630979ee99ebe1374215
This commit is contained in:
parent
d6bde52373
commit
8625704ad8
5
external/llvm/bindings/ocaml/transforms/vectorize/CMakeLists.txt
vendored
Normal file
5
external/llvm/bindings/ocaml/transforms/vectorize/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
add_ocaml_library(llvm_vectorize
|
||||
OCAML llvm_vectorize
|
||||
OCAMLDEP llvm
|
||||
C vectorize_ocaml
|
||||
LLVM vectorize)
|
18
external/llvm/bindings/ocaml/transforms/vectorize/llvm_vectorize.ml
vendored
Normal file
18
external/llvm/bindings/ocaml/transforms/vectorize/llvm_vectorize.ml
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
(*===-- llvm_vectorize.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_bb_vectorize
|
||||
: [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_bb_vectorize"
|
||||
external add_loop_vectorize
|
||||
: [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_vectorize"
|
||||
external add_slp_vectorize
|
||||
: [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_slp_vectorize"
|
28
external/llvm/bindings/ocaml/transforms/vectorize/llvm_vectorize.mli
vendored
Normal file
28
external/llvm/bindings/ocaml/transforms/vectorize/llvm_vectorize.mli
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
(*===-- llvm_vectorize.mli - 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.
|
||||
*
|
||||
*===----------------------------------------------------------------------===*)
|
||||
|
||||
(** Vectorize Transforms.
|
||||
|
||||
This interface provides an OCaml API for LLVM vectorize transforms, the
|
||||
classes in the [LLVMVectorize] library. *)
|
||||
|
||||
(** See the [llvm::createBBVectorizePass] function. *)
|
||||
external add_bb_vectorize
|
||||
: [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_bb_vectorize"
|
||||
|
||||
(** See the [llvm::createLoopVectorizePass] function. *)
|
||||
external add_loop_vectorize
|
||||
: [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_vectorize"
|
||||
|
||||
(** See the [llvm::createSLPVectorizerPass] function. *)
|
||||
external add_slp_vectorize
|
||||
: [<Llvm.PassManager.any] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_slp_vectorize"
|
38
external/llvm/bindings/ocaml/transforms/vectorize/vectorize_ocaml.c
vendored
Normal file
38
external/llvm/bindings/ocaml/transforms/vectorize/vectorize_ocaml.c
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
/*===-- vectorize_ocaml.c - LLVM OCaml Glue ---------------------*- C++ -*-===*\
|
||||
|* *|
|
||||
|* The LLVM Compiler Infrastructure *|
|
||||
|* *|
|
||||
|* This file is distributed under the University of Illinois Open Source *|
|
||||
|* License. See LICENSE.TXT for details. *|
|
||||
|* *|
|
||||
|*===----------------------------------------------------------------------===*|
|
||||
|* *|
|
||||
|* This file glues LLVM's OCaml interface to its C interface. These functions *|
|
||||
|* are by and large transparent wrappers to the corresponding C functions. *|
|
||||
|* *|
|
||||
|* Note that these functions intentionally take liberties with the CAMLparamX *|
|
||||
|* macros, since most of the parameters are not GC heap objects. *|
|
||||
|* *|
|
||||
\*===----------------------------------------------------------------------===*/
|
||||
|
||||
#include "llvm-c/Transforms/Vectorize.h"
|
||||
#include "caml/mlvalues.h"
|
||||
#include "caml/misc.h"
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_bb_vectorize(LLVMPassManagerRef PM) {
|
||||
LLVMAddBBVectorizePass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_loop_vectorize(LLVMPassManagerRef PM) {
|
||||
LLVMAddLoopVectorizePass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_slp_vectorize(LLVMPassManagerRef PM) {
|
||||
LLVMAddSLPVectorizePass(PM);
|
||||
return Val_unit;
|
||||
}
|
Reference in New Issue
Block a user