You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.205
Former-commit-id: 7f59f7e792705db773f1caecdaa823092f4e2927
This commit is contained in:
parent
5cd5df71cc
commit
8e12397d70
5
external/llvm/bindings/ocaml/transforms/scalar_opts/CMakeLists.txt
vendored
Normal file
5
external/llvm/bindings/ocaml/transforms/scalar_opts/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
add_ocaml_library(llvm_scalar_opts
|
||||
OCAML llvm_scalar_opts
|
||||
OCAMLDEP llvm
|
||||
C scalar_opts_ocaml
|
||||
LLVM scalaropts)
|
120
external/llvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.ml
vendored
Normal file
120
external/llvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.ml
vendored
Normal file
@ -0,0 +1,120 @@
|
||||
(*===-- llvm_scalar_opts.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_aggressive_dce
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_aggressive_dce"
|
||||
external add_alignment_from_assumptions
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_alignment_from_assumptions"
|
||||
external add_cfg_simplification
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_cfg_simplification"
|
||||
external add_dead_store_elimination
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_dead_store_elimination"
|
||||
external add_scalarizer
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scalarizer"
|
||||
external add_merged_load_store_motion
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_merged_load_store_motion"
|
||||
external add_gvn
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_gvn"
|
||||
external add_ind_var_simplification
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_ind_var_simplify"
|
||||
external add_instruction_combination
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_instruction_combining"
|
||||
external add_jump_threading
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_jump_threading"
|
||||
external add_licm
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_licm"
|
||||
external add_loop_deletion
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_deletion"
|
||||
external add_loop_idiom
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_idiom"
|
||||
external add_loop_rotation
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_rotate"
|
||||
external add_loop_reroll
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_reroll"
|
||||
external add_loop_unroll
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_unroll"
|
||||
external add_loop_unswitch
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_unswitch"
|
||||
external add_memcpy_opt
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_memcpy_opt"
|
||||
external add_partially_inline_lib_calls
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_partially_inline_lib_calls"
|
||||
external add_lower_switch
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_lower_switch"
|
||||
external add_memory_to_register_promotion
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_promote_memory_to_register"
|
||||
external add_reassociation
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_reassociation"
|
||||
external add_sccp
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_sccp"
|
||||
external add_scalar_repl_aggregation
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scalar_repl_aggregates"
|
||||
external add_scalar_repl_aggregation_ssa
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scalar_repl_aggregates_ssa"
|
||||
external add_scalar_repl_aggregation_with_threshold
|
||||
: int -> [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scalar_repl_aggregates_with_threshold"
|
||||
external add_lib_call_simplification
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_simplify_lib_calls"
|
||||
external add_tail_call_elimination
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_tail_call_elimination"
|
||||
external add_constant_propagation
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_constant_propagation"
|
||||
external add_memory_to_register_demotion
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_demote_memory_to_register"
|
||||
external add_verifier
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_verifier"
|
||||
external add_correlated_value_propagation
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_correlated_value_propagation"
|
||||
external add_early_cse
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_early_cse"
|
||||
external add_lower_expect_intrinsic
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_lower_expect_intrinsic"
|
||||
external add_type_based_alias_analysis
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_type_based_alias_analysis"
|
||||
external add_scoped_no_alias_alias_analysis
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scoped_no_alias_aa"
|
||||
external add_basic_alias_analysis
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_basic_alias_analysis"
|
198
external/llvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.mli
vendored
Normal file
198
external/llvm/bindings/ocaml/transforms/scalar_opts/llvm_scalar_opts.mli
vendored
Normal file
@ -0,0 +1,198 @@
|
||||
(*===-- llvm_scalar_opts.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.
|
||||
*
|
||||
*===----------------------------------------------------------------------===*)
|
||||
|
||||
(** Scalar Transforms.
|
||||
|
||||
This interface provides an OCaml API for LLVM scalar transforms, the
|
||||
classes in the [LLVMScalarOpts] library. *)
|
||||
|
||||
(** See the [llvm::createAggressiveDCEPass] function. *)
|
||||
external add_aggressive_dce
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_aggressive_dce"
|
||||
|
||||
(** See the [llvm::createAlignmentFromAssumptionsPass] function. *)
|
||||
external add_alignment_from_assumptions
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_alignment_from_assumptions"
|
||||
|
||||
(** See the [llvm::createCFGSimplificationPass] function. *)
|
||||
external add_cfg_simplification
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_cfg_simplification"
|
||||
|
||||
(** See [llvm::createDeadStoreEliminationPass] function. *)
|
||||
external add_dead_store_elimination
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_dead_store_elimination"
|
||||
|
||||
(** See [llvm::createScalarizerPass] function. *)
|
||||
external add_scalarizer
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scalarizer"
|
||||
|
||||
(** See [llvm::createMergedLoadStoreMotionPass] function. *)
|
||||
external add_merged_load_store_motion
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_merged_load_store_motion"
|
||||
|
||||
(** See the [llvm::createGVNPass] function. *)
|
||||
external add_gvn
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_gvn"
|
||||
|
||||
(** See the [llvm::createIndVarSimplifyPass] function. *)
|
||||
external add_ind_var_simplification
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_ind_var_simplify"
|
||||
|
||||
(** See the [llvm::createInstructionCombiningPass] function. *)
|
||||
external add_instruction_combination
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_instruction_combining"
|
||||
|
||||
(** See the [llvm::createJumpThreadingPass] function. *)
|
||||
external add_jump_threading
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_jump_threading"
|
||||
|
||||
(** See the [llvm::createLICMPass] function. *)
|
||||
external add_licm
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_licm"
|
||||
|
||||
(** See the [llvm::createLoopDeletionPass] function. *)
|
||||
external add_loop_deletion
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_deletion"
|
||||
|
||||
(** See the [llvm::createLoopIdiomPass] function. *)
|
||||
external add_loop_idiom
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_idiom"
|
||||
|
||||
(** See the [llvm::createLoopRotatePass] function. *)
|
||||
external add_loop_rotation
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_rotate"
|
||||
|
||||
(** See the [llvm::createLoopRerollPass] function. *)
|
||||
external add_loop_reroll
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_reroll"
|
||||
|
||||
(** See the [llvm::createLoopUnrollPass] function. *)
|
||||
external add_loop_unroll
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_unroll"
|
||||
|
||||
(** See the [llvm::createLoopUnswitchPass] function. *)
|
||||
external add_loop_unswitch
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_loop_unswitch"
|
||||
|
||||
(** See the [llvm::createMemCpyOptPass] function. *)
|
||||
external add_memcpy_opt
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_memcpy_opt"
|
||||
|
||||
(** See the [llvm::createPartiallyInlineLibCallsPass] function. *)
|
||||
external add_partially_inline_lib_calls
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_partially_inline_lib_calls"
|
||||
|
||||
(** See the [llvm::createLowerSwitchPass] function. *)
|
||||
external add_lower_switch
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_lower_switch"
|
||||
|
||||
(** See the [llvm::createPromoteMemoryToRegisterPass] function. *)
|
||||
external add_memory_to_register_promotion
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_promote_memory_to_register"
|
||||
|
||||
(** See the [llvm::createReassociatePass] function. *)
|
||||
external add_reassociation
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_reassociation"
|
||||
|
||||
(** See the [llvm::createSCCPPass] function. *)
|
||||
external add_sccp
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_sccp"
|
||||
|
||||
(** See the [llvm::createSROAPass] function. *)
|
||||
external add_scalar_repl_aggregation
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scalar_repl_aggregates"
|
||||
|
||||
(** See the [llvm::createSROAPass] function. *)
|
||||
external add_scalar_repl_aggregation_ssa
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scalar_repl_aggregates_ssa"
|
||||
|
||||
(** See the [llvm::createSROAPass] function. *)
|
||||
external add_scalar_repl_aggregation_with_threshold
|
||||
: int -> [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scalar_repl_aggregates_with_threshold"
|
||||
|
||||
(** See the [llvm::createSimplifyLibCallsPass] function. *)
|
||||
external add_lib_call_simplification
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_simplify_lib_calls"
|
||||
|
||||
(** See the [llvm::createTailCallEliminationPass] function. *)
|
||||
external add_tail_call_elimination
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_tail_call_elimination"
|
||||
|
||||
(** See the [llvm::createConstantPropagationPass] function. *)
|
||||
external add_constant_propagation
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_constant_propagation"
|
||||
|
||||
(** See the [llvm::createDemoteMemoryToRegisterPass] function. *)
|
||||
external add_memory_to_register_demotion
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_demote_memory_to_register"
|
||||
|
||||
(** See the [llvm::createVerifierPass] function. *)
|
||||
external add_verifier
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_verifier"
|
||||
|
||||
(** See the [llvm::createCorrelatedValuePropagationPass] function. *)
|
||||
external add_correlated_value_propagation
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_correlated_value_propagation"
|
||||
|
||||
(** See the [llvm::createEarlyCSE] function. *)
|
||||
external add_early_cse
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_early_cse"
|
||||
|
||||
(** See the [llvm::createLowerExpectIntrinsicPass] function. *)
|
||||
external add_lower_expect_intrinsic
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_lower_expect_intrinsic"
|
||||
|
||||
(** See the [llvm::createTypeBasedAliasAnalysisPass] function. *)
|
||||
external add_type_based_alias_analysis
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_type_based_alias_analysis"
|
||||
|
||||
(** See the [llvm::createScopedNoAliasAAPass] function. *)
|
||||
external add_scoped_no_alias_alias_analysis
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_scoped_no_alias_aa"
|
||||
|
||||
(** See the [llvm::createBasicAliasAnalysisPass] function. *)
|
||||
external add_basic_alias_analysis
|
||||
: [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
|
||||
= "llvm_add_basic_alias_analysis"
|
243
external/llvm/bindings/ocaml/transforms/scalar_opts/scalar_opts_ocaml.c
vendored
Normal file
243
external/llvm/bindings/ocaml/transforms/scalar_opts/scalar_opts_ocaml.c
vendored
Normal file
@ -0,0 +1,243 @@
|
||||
/*===-- scalar_opts_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/Scalar.h"
|
||||
#include "caml/mlvalues.h"
|
||||
#include "caml/misc.h"
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_aggressive_dce(LLVMPassManagerRef PM) {
|
||||
LLVMAddAggressiveDCEPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_alignment_from_assumptions(LLVMPassManagerRef PM) {
|
||||
LLVMAddAlignmentFromAssumptionsPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_cfg_simplification(LLVMPassManagerRef PM) {
|
||||
LLVMAddCFGSimplificationPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_dead_store_elimination(LLVMPassManagerRef PM) {
|
||||
LLVMAddDeadStoreEliminationPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_scalarizer(LLVMPassManagerRef PM) {
|
||||
LLVMAddScalarizerPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_merged_load_store_motion(LLVMPassManagerRef PM) {
|
||||
LLVMAddMergedLoadStoreMotionPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_gvn(LLVMPassManagerRef PM) {
|
||||
LLVMAddGVNPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_ind_var_simplify(LLVMPassManagerRef PM) {
|
||||
LLVMAddIndVarSimplifyPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_instruction_combining(LLVMPassManagerRef PM) {
|
||||
LLVMAddInstructionCombiningPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_jump_threading(LLVMPassManagerRef PM) {
|
||||
LLVMAddJumpThreadingPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_licm(LLVMPassManagerRef PM) {
|
||||
LLVMAddLICMPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_loop_deletion(LLVMPassManagerRef PM) {
|
||||
LLVMAddLoopDeletionPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_loop_idiom(LLVMPassManagerRef PM) {
|
||||
LLVMAddLoopIdiomPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_loop_rotate(LLVMPassManagerRef PM) {
|
||||
LLVMAddLoopRotatePass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_loop_reroll(LLVMPassManagerRef PM) {
|
||||
LLVMAddLoopRerollPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_loop_unroll(LLVMPassManagerRef PM) {
|
||||
LLVMAddLoopUnrollPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_loop_unswitch(LLVMPassManagerRef PM) {
|
||||
LLVMAddLoopUnswitchPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_memcpy_opt(LLVMPassManagerRef PM) {
|
||||
LLVMAddMemCpyOptPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_partially_inline_lib_calls(LLVMPassManagerRef PM) {
|
||||
LLVMAddPartiallyInlineLibCallsPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_lower_switch(LLVMPassManagerRef PM) {
|
||||
LLVMAddLowerSwitchPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_promote_memory_to_register(LLVMPassManagerRef PM) {
|
||||
LLVMAddPromoteMemoryToRegisterPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_reassociation(LLVMPassManagerRef PM) {
|
||||
LLVMAddReassociatePass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_sccp(LLVMPassManagerRef PM) {
|
||||
LLVMAddSCCPPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_scalar_repl_aggregates(LLVMPassManagerRef PM) {
|
||||
LLVMAddScalarReplAggregatesPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_scalar_repl_aggregates_ssa(LLVMPassManagerRef PM) {
|
||||
LLVMAddScalarReplAggregatesPassSSA(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* int -> [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_scalar_repl_aggregates_with_threshold(value threshold,
|
||||
LLVMPassManagerRef PM) {
|
||||
LLVMAddScalarReplAggregatesPassWithThreshold(PM, Int_val(threshold));
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_simplify_lib_calls(LLVMPassManagerRef PM) {
|
||||
LLVMAddSimplifyLibCallsPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_tail_call_elimination(LLVMPassManagerRef PM) {
|
||||
LLVMAddTailCallEliminationPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_constant_propagation(LLVMPassManagerRef PM) {
|
||||
LLVMAddConstantPropagationPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_demote_memory_to_register(LLVMPassManagerRef PM) {
|
||||
LLVMAddDemoteMemoryToRegisterPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_verifier(LLVMPassManagerRef PM) {
|
||||
LLVMAddVerifierPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_correlated_value_propagation(LLVMPassManagerRef PM) {
|
||||
LLVMAddCorrelatedValuePropagationPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_early_cse(LLVMPassManagerRef PM) {
|
||||
LLVMAddEarlyCSEPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_lower_expect_intrinsic(LLVMPassManagerRef PM) {
|
||||
LLVMAddLowerExpectIntrinsicPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_type_based_alias_analysis(LLVMPassManagerRef PM) {
|
||||
LLVMAddTypeBasedAliasAnalysisPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_scoped_no_alias_aa(LLVMPassManagerRef PM) {
|
||||
LLVMAddScopedNoAliasAAPass(PM);
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
/* [<Llvm.PassManager.any] Llvm.PassManager.t -> unit */
|
||||
CAMLprim value llvm_add_basic_alias_analysis(LLVMPassManagerRef PM) {
|
||||
LLVMAddBasicAliasAnalysisPass(PM);
|
||||
return Val_unit;
|
||||
}
|
Reference in New Issue
Block a user