(*===-- llvm_ipo.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.
 *
 *===----------------------------------------------------------------------===*)

(** IPO Transforms.

    This interface provides an ocaml API for LLVM interprocedural optimizations, the
    classes in the [LLVMIPO] library. *)

(** See llvm::createAddArgumentPromotionPass *)
external add_argument_promotion : [ | `Module ] Llvm.PassManager.t -> unit =
  "llvm_add_argument_promotion"

(** See llvm::createConstantMergePass function. *)
external add_constant_merge : [ | `Module ] Llvm.PassManager.t -> unit =
  "llvm_add_constant_merge"

(**  See llvm::createDeadArgEliminationPass function. *)
external add_dead_arg_elimination :
  [ | `Module ] Llvm.PassManager.t -> unit = "llvm_add_dead_arg_elimination"

(**  See llvm::createFunctionAttrsPass function. *)
external add_function_attrs : [ | `Module ] Llvm.PassManager.t -> unit =
  "llvm_add_function_attrs"

(**  See llvm::createFunctionInliningPass function. *)
external add_function_inlining : [ | `Module ] Llvm.PassManager.t -> unit =
  "llvm_add_function_inlining"

(**  See llvm::createGlobalDCEPass function. *)
external add_global_dce : [ | `Module ] Llvm.PassManager.t -> unit =
  "llvm_add_global_dce"

(**  See llvm::createGlobalOptimizerPass function. *)
external add_global_optimizer : [ | `Module ] Llvm.PassManager.t -> unit =
  "llvm_add_global_optimizer"

(**  See llvm::createIPConstantPropagationPass function. *)
external add_ipc_propagation : [ | `Module ] Llvm.PassManager.t -> unit =
  "llvm_add_ipc_propagation"

(**  See llvm::createPruneEHPass function. *)
external add_prune_eh : [ | `Module ] Llvm.PassManager.t -> unit =
  "llvm_add_prune_eh"

(**  See llvm::createIPSCCPPass function. *)
external add_ipsccp : [ | `Module ] Llvm.PassManager.t -> unit =
  "llvm_add_ipsccp"

(**  See llvm::createInternalizePass function. *)
external add_internalize : [ | `Module ] Llvm.PassManager.t -> bool -> unit =
  "llvm_add_internalize"

(**  See llvm::createStripDeadPrototypesPass function. *)
external add_strip_dead_prototypes :
  [ | `Module ] Llvm.PassManager.t -> unit = "llvm_add_strip_dead_prototypes"

(**  See llvm::createStripSymbolsPass function. *)
external add_strip_symbols : [ | `Module ] Llvm.PassManager.t -> unit =
  "llvm_add_strip_symbols"
