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