# Module Llvm_ipo

    module Llvm_ipo: sig .. end

IPO Transforms.

This interface provides an OCaml API for LLVM interprocedural optimizations, the classes in the `LLVMIPO` library.

    val add_argument_promotion : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createAddArgumentPromotionPass

    val add_constant_merge : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createConstantMergePass function.

    val add_dead_arg_elimination : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createDeadArgEliminationPass function.

    val add_function_attrs : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createFunctionAttrsPass function.

    val add_function_inlining : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createFunctionInliningPass function.

    val add_always_inliner : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createAlwaysInlinerPass function.

    val add_global_dce : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createGlobalDCEPass function.

    val add_global_optimizer : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createGlobalOptimizerPass function.

    val add_ipc_propagation : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createIPConstantPropagationPass function.

    val add_prune_eh : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createPruneEHPass function.

    val add_ipsccp : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createIPSCCPPass function.

    val add_internalize : [ `Module ] Llvm.PassManager.t -> bool -> unit

See llvm::createInternalizePass function.

    val add_strip_dead_prototypes : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createStripDeadPrototypesPass function.

    val add_strip_symbols : [ `Module ] Llvm.PassManager.t -> unit

See llvm::createStripSymbolsPass function.