(*===-- llvm_passbuilder.ml - LLVM OCaml Interface -------------*- OCaml -*-===*
*
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
* See https://llvm.org/LICENSE.txt for license information.
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
*
*===----------------------------------------------------------------------===*)
type llpassbuilder_options
external run_passes
: Llvm.llmodule
-> string
-> Llvm_target.TargetMachine.t
-> llpassbuilder_options
-> (unit, string) result
= "llvm_run_passes"
external create_passbuilder_options : unit -> llpassbuilder_options =
"llvm_create_passbuilder_options"
external passbuilder_options_set_verify_each
: llpassbuilder_options -> bool -> unit =
"llvm_passbuilder_options_set_verify_each"
external passbuilder_options_set_debug_logging
: llpassbuilder_options -> bool -> unit =
"llvm_passbuilder_options_set_debug_logging"
external passbuilder_options_set_loop_interleaving
: llpassbuilder_options -> bool -> unit =
"llvm_passbuilder_options_set_loop_interleaving"
external passbuilder_options_set_loop_vectorization
: llpassbuilder_options -> bool -> unit =
"llvm_passbuilder_options_set_loop_vectorization"
external passbuilder_options_set_slp_vectorization
: llpassbuilder_options -> bool -> unit =
"llvm_passbuilder_options_set_slp_vectorization"
external passbuilder_options_set_loop_unrolling
: llpassbuilder_options -> bool -> unit =
"llvm_passbuilder_options_set_loop_unrolling"
external passbuilder_options_set_forget_all_scev_in_loop_unroll
: llpassbuilder_options -> bool -> unit =
"llvm_passbuilder_options_set_forget_all_scev_in_loop_unroll"
external passbuilder_options_set_licm_mssa_opt_cap
: llpassbuilder_options -> int -> unit =
"llvm_passbuilder_options_set_licm_mssa_opt_cap"
external passbuilder_options_set_licm_mssa_no_acc_for_promotion_cap
: llpassbuilder_options -> int -> unit =
"llvm_passbuilder_options_set_licm_mssa_opt_cap"
external passbuilder_options_set_call_graph_profile
: llpassbuilder_options -> bool -> unit =
"llvm_passbuilder_options_set_call_graph_profile"
external passbuilder_options_set_merge_functions
: llpassbuilder_options -> bool -> unit =
"llvm_passbuilder_options_set_merge_functions"
external passbuilder_options_set_inliner_threshold
: llpassbuilder_options -> int -> unit =
"llvm_passbuilder_options_set_inliner_threshold"
external dispose_passbuilder_options : llpassbuilder_options -> unit =
"llvm_dispose_passbuilder_options"