]>
Commit | Line | Data |
---|---|---|
85aaf69f SL |
1 | /*===-- vectorize_ocaml.c - LLVM OCaml Glue ---------------------*- C++ -*-===*\ |
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 | |* This file glues LLVM's OCaml interface to its C interface. These functions *| | |
11 | |* are by and large transparent wrappers to the corresponding C functions. *| | |
12 | |* *| | |
13 | |* Note that these functions intentionally take liberties with the CAMLparamX *| | |
14 | |* macros, since most of the parameters are not GC heap objects. *| | |
15 | |* *| | |
16 | \*===----------------------------------------------------------------------===*/ | |
17 | ||
18 | #include "llvm-c/Core.h" | |
19 | #include "caml/mlvalues.h" | |
20 | #include "caml/misc.h" | |
21 | ||
22 | /* | |
23 | * Do not move directly into external. This function is here to pull in | |
24 | * -lLLVMTransformUtils, which would otherwise be not linked on static builds, | |
25 | * as ld can't see the reference from OCaml code. | |
26 | */ | |
27 | ||
28 | /* llmodule -> llmodule */ | |
29 | CAMLprim LLVMModuleRef llvm_clone_module(LLVMModuleRef M) { | |
30 | return LLVMCloneModule(M); | |
31 | } |