72 lines · plain
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-exception6 *7 *===----------------------------------------------------------------------===*)8 9type llpassbuilder_options10 11external run_passes12 : Llvm.llmodule13 -> string14 -> Llvm_target.TargetMachine.t15 -> llpassbuilder_options16 -> (unit, string) result17 = "llvm_run_passes"18 19external create_passbuilder_options : unit -> llpassbuilder_options =20 "llvm_create_passbuilder_options"21 22external passbuilder_options_set_verify_each23 : llpassbuilder_options -> bool -> unit =24 "llvm_passbuilder_options_set_verify_each"25 26external passbuilder_options_set_debug_logging27 : llpassbuilder_options -> bool -> unit =28 "llvm_passbuilder_options_set_debug_logging"29 30external passbuilder_options_set_loop_interleaving31 : llpassbuilder_options -> bool -> unit =32 "llvm_passbuilder_options_set_loop_interleaving"33 34external passbuilder_options_set_loop_vectorization35 : llpassbuilder_options -> bool -> unit =36 "llvm_passbuilder_options_set_loop_vectorization"37 38external passbuilder_options_set_slp_vectorization39 : llpassbuilder_options -> bool -> unit =40 "llvm_passbuilder_options_set_slp_vectorization"41 42external passbuilder_options_set_loop_unrolling43 : llpassbuilder_options -> bool -> unit =44 "llvm_passbuilder_options_set_loop_unrolling"45 46external passbuilder_options_set_forget_all_scev_in_loop_unroll47 : llpassbuilder_options -> bool -> unit =48 "llvm_passbuilder_options_set_forget_all_scev_in_loop_unroll"49 50external passbuilder_options_set_licm_mssa_opt_cap51 : llpassbuilder_options -> int -> unit =52 "llvm_passbuilder_options_set_licm_mssa_opt_cap"53 54external passbuilder_options_set_licm_mssa_no_acc_for_promotion_cap55 : llpassbuilder_options -> int -> unit =56 "llvm_passbuilder_options_set_licm_mssa_opt_cap"57 58external passbuilder_options_set_call_graph_profile59 : llpassbuilder_options -> bool -> unit =60 "llvm_passbuilder_options_set_call_graph_profile"61 62external passbuilder_options_set_merge_functions63 : llpassbuilder_options -> bool -> unit =64 "llvm_passbuilder_options_set_merge_functions"65 66external passbuilder_options_set_inliner_threshold67 : 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