xref: /llvm-project/llvm/bindings/ocaml/transforms/passbuilder/llvm_passbuilder.ml (revision 49610edd49cfbf9962729cf39c13cab2ac3cb0f9)
1*49610eddSAlan(*===-- llvm_passbuilder.ml - LLVM OCaml Interface -------------*- OCaml -*-===*
2*49610eddSAlan *
3*49610eddSAlan * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*49610eddSAlan * See https://llvm.org/LICENSE.txt for license information.
5*49610eddSAlan * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*49610eddSAlan *
7*49610eddSAlan *===----------------------------------------------------------------------===*)
8*49610eddSAlan
9*49610eddSAlantype llpassbuilder_options
10*49610eddSAlan
11*49610eddSAlanexternal run_passes
12*49610eddSAlan  : Llvm.llmodule
13*49610eddSAlan  -> string
14*49610eddSAlan  -> Llvm_target.TargetMachine.t
15*49610eddSAlan  -> llpassbuilder_options
16*49610eddSAlan  -> (unit, string) result
17*49610eddSAlan  = "llvm_run_passes"
18*49610eddSAlan
19*49610eddSAlanexternal create_passbuilder_options : unit -> llpassbuilder_options =
20*49610eddSAlan  "llvm_create_passbuilder_options"
21*49610eddSAlan
22*49610eddSAlanexternal passbuilder_options_set_verify_each
23*49610eddSAlan  : llpassbuilder_options -> bool -> unit =
24*49610eddSAlan  "llvm_passbuilder_options_set_verify_each"
25*49610eddSAlan
26*49610eddSAlanexternal passbuilder_options_set_debug_logging
27*49610eddSAlan  : llpassbuilder_options -> bool -> unit =
28*49610eddSAlan  "llvm_passbuilder_options_set_debug_logging"
29*49610eddSAlan
30*49610eddSAlanexternal passbuilder_options_set_loop_interleaving
31*49610eddSAlan  : llpassbuilder_options -> bool -> unit =
32*49610eddSAlan  "llvm_passbuilder_options_set_loop_interleaving"
33*49610eddSAlan
34*49610eddSAlanexternal passbuilder_options_set_loop_vectorization
35*49610eddSAlan  : llpassbuilder_options -> bool -> unit =
36*49610eddSAlan  "llvm_passbuilder_options_set_loop_vectorization"
37*49610eddSAlan
38*49610eddSAlanexternal passbuilder_options_set_slp_vectorization
39*49610eddSAlan  : llpassbuilder_options -> bool -> unit =
40*49610eddSAlan  "llvm_passbuilder_options_set_slp_vectorization"
41*49610eddSAlan
42*49610eddSAlanexternal passbuilder_options_set_loop_unrolling
43*49610eddSAlan  : llpassbuilder_options -> bool -> unit =
44*49610eddSAlan  "llvm_passbuilder_options_set_loop_unrolling"
45*49610eddSAlan
46*49610eddSAlanexternal passbuilder_options_set_forget_all_scev_in_loop_unroll
47*49610eddSAlan  : llpassbuilder_options -> bool -> unit =
48*49610eddSAlan  "llvm_passbuilder_options_set_forget_all_scev_in_loop_unroll"
49*49610eddSAlan
50*49610eddSAlanexternal passbuilder_options_set_licm_mssa_opt_cap
51*49610eddSAlan  : llpassbuilder_options -> int -> unit =
52*49610eddSAlan  "llvm_passbuilder_options_set_licm_mssa_opt_cap"
53*49610eddSAlan
54*49610eddSAlanexternal passbuilder_options_set_licm_mssa_no_acc_for_promotion_cap
55*49610eddSAlan  : llpassbuilder_options -> int -> unit =
56*49610eddSAlan  "llvm_passbuilder_options_set_licm_mssa_opt_cap"
57*49610eddSAlan
58*49610eddSAlanexternal passbuilder_options_set_call_graph_profile
59*49610eddSAlan  : llpassbuilder_options -> bool -> unit =
60*49610eddSAlan  "llvm_passbuilder_options_set_call_graph_profile"
61*49610eddSAlan
62*49610eddSAlanexternal passbuilder_options_set_merge_functions
63*49610eddSAlan  : llpassbuilder_options -> bool -> unit =
64*49610eddSAlan  "llvm_passbuilder_options_set_merge_functions"
65*49610eddSAlan
66*49610eddSAlanexternal passbuilder_options_set_inliner_threshold
67*49610eddSAlan  : llpassbuilder_options -> int -> unit =
68*49610eddSAlan  "llvm_passbuilder_options_set_inliner_threshold"
69*49610eddSAlan
70*49610eddSAlanexternal dispose_passbuilder_options : llpassbuilder_options -> unit =
71*49610eddSAlan  "llvm_dispose_passbuilder_options"
72