aboutsummaryrefslogtreecommitdiff
path: root/bindings/ocaml/transforms/passmgr_builder/passmgr_builder_ocaml.c
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/ocaml/transforms/passmgr_builder/passmgr_builder_ocaml.c')
-rw-r--r--bindings/ocaml/transforms/passmgr_builder/passmgr_builder_ocaml.c113
1 files changed, 0 insertions, 113 deletions
diff --git a/bindings/ocaml/transforms/passmgr_builder/passmgr_builder_ocaml.c b/bindings/ocaml/transforms/passmgr_builder/passmgr_builder_ocaml.c
deleted file mode 100644
index a707856b822b..000000000000
--- a/bindings/ocaml/transforms/passmgr_builder/passmgr_builder_ocaml.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*===-- passmgr_builder_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/PassManagerBuilder.h"
-#include "caml/mlvalues.h"
-#include "caml/custom.h"
-#include "caml/misc.h"
-
-#define PMBuilder_val(v) (*(LLVMPassManagerBuilderRef *)(Data_custom_val(v)))
-
-static void llvm_finalize_pmbuilder(value PMB) {
- LLVMPassManagerBuilderDispose(PMBuilder_val(PMB));
-}
-
-static struct custom_operations pmbuilder_ops = {
- (char *) "LLVMPassManagerBuilder",
- llvm_finalize_pmbuilder,
- custom_compare_default,
- custom_hash_default,
- custom_serialize_default,
- custom_deserialize_default
-#ifdef custom_compare_ext_default
- , custom_compare_ext_default
-#endif
-};
-
-static value alloc_pmbuilder(LLVMPassManagerBuilderRef Ref) {
- value Val = alloc_custom(&pmbuilder_ops,
- sizeof(LLVMPassManagerBuilderRef), 0, 1);
- PMBuilder_val(Val) = Ref;
- return Val;
-}
-
-/* t -> unit */
-CAMLprim value llvm_pmbuilder_create(value Unit) {
- return alloc_pmbuilder(LLVMPassManagerBuilderCreate());
-}
-
-/* int -> t -> unit */
-CAMLprim value llvm_pmbuilder_set_opt_level(value OptLevel, value PMB) {
- LLVMPassManagerBuilderSetOptLevel(PMBuilder_val(PMB), Int_val(OptLevel));
- return Val_unit;
-}
-
-/* int -> t -> unit */
-CAMLprim value llvm_pmbuilder_set_size_level(value SizeLevel, value PMB) {
- LLVMPassManagerBuilderSetSizeLevel(PMBuilder_val(PMB), Int_val(SizeLevel));
- return Val_unit;
-}
-
-/* int -> t -> unit */
-CAMLprim value llvm_pmbuilder_use_inliner_with_threshold(
- value Threshold, value PMB) {
- LLVMPassManagerBuilderSetOptLevel(PMBuilder_val(PMB), Int_val(Threshold));
- return Val_unit;
-}
-
-/* bool -> t -> unit */
-CAMLprim value llvm_pmbuilder_set_disable_unit_at_a_time(
- value DisableUnitAtATime, value PMB) {
- LLVMPassManagerBuilderSetDisableUnitAtATime(
- PMBuilder_val(PMB), Bool_val(DisableUnitAtATime));
- return Val_unit;
-}
-
-/* bool -> t -> unit */
-CAMLprim value llvm_pmbuilder_set_disable_unroll_loops(
- value DisableUnroll, value PMB) {
- LLVMPassManagerBuilderSetDisableUnrollLoops(
- PMBuilder_val(PMB), Bool_val(DisableUnroll));
- return Val_unit;
-}
-
-/* [ `Function ] Llvm.PassManager.t -> t -> unit */
-CAMLprim value llvm_pmbuilder_populate_function_pass_manager(
- LLVMPassManagerRef PM, value PMB) {
- LLVMPassManagerBuilderPopulateFunctionPassManager(
- PMBuilder_val(PMB), PM);
- return Val_unit;
-}
-
-/* [ `Module ] Llvm.PassManager.t -> t -> unit */
-CAMLprim value llvm_pmbuilder_populate_module_pass_manager(
- LLVMPassManagerRef PM, value PMB) {
- LLVMPassManagerBuilderPopulateModulePassManager(
- PMBuilder_val(PMB), PM);
- return Val_unit;
-}
-
-/* [ `Module ] Llvm.PassManager.t ->
- internalize:bool -> run_inliner:bool -> t -> unit */
-CAMLprim value llvm_pmbuilder_populate_lto_pass_manager(
- LLVMPassManagerRef PM, value Internalize, value RunInliner,
- value PMB) {
- LLVMPassManagerBuilderPopulateLTOPassManager(
- PMBuilder_val(PMB), PM,
- Bool_val(Internalize), Bool_val(RunInliner));
- return Val_unit;
-}