reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
  124
  125
  126
  127
  128
  129
  130
  131
(*===-- llvm_scalar_opts.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
 *
 *===----------------------------------------------------------------------===*)

external add_aggressive_dce
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_aggressive_dce"
external add_dce
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_dce"
external add_alignment_from_assumptions
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_alignment_from_assumptions"
external add_cfg_simplification
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_cfg_simplification"
external add_dead_store_elimination
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_dead_store_elimination"
external add_scalarizer
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_scalarizer"
external add_merged_load_store_motion
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_merged_load_store_motion"
external add_gvn
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_gvn"
external add_ind_var_simplification
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_ind_var_simplify"
external add_instruction_combination
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_instruction_combining"
external add_jump_threading
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_jump_threading"
external add_licm
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_licm"
external add_loop_deletion
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_loop_deletion"
external add_loop_idiom
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_loop_idiom"
external add_loop_rotation
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_loop_rotate"
external add_loop_reroll
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_loop_reroll"
external add_loop_unroll
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_loop_unroll"
external add_loop_unswitch
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_loop_unswitch"
external add_memcpy_opt
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_memcpy_opt"
external add_partially_inline_lib_calls
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_partially_inline_lib_calls"
external add_lower_atomic
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_lower_atomic"
external add_lower_switch
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_lower_switch"
external add_memory_to_register_promotion
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_promote_memory_to_register"
external add_reassociation
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_reassociation"
external add_sccp
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_sccp"
external add_scalar_repl_aggregation
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_scalar_repl_aggregates"
external add_scalar_repl_aggregation_ssa
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_scalar_repl_aggregates_ssa"
external add_scalar_repl_aggregation_with_threshold
  : int -> [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_scalar_repl_aggregates_with_threshold"
external add_lib_call_simplification
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_simplify_lib_calls"
external add_tail_call_elimination
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_tail_call_elimination"
external add_constant_propagation
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_constant_propagation"
external add_memory_to_register_demotion
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_demote_memory_to_register"
external add_verifier
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_verifier"
external add_correlated_value_propagation
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_correlated_value_propagation"
external add_early_cse
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_early_cse"
external add_lower_expect_intrinsic
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_lower_expect_intrinsic"
external add_lower_constant_intrinsics
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_lower_constant_intrinsics"
external add_type_based_alias_analysis
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_type_based_alias_analysis"
external add_scoped_no_alias_alias_analysis
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_scoped_no_alias_aa"
external add_basic_alias_analysis
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_basic_alias_analysis"
external add_unify_function_exit_nodes
  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
  = "llvm_add_unify_function_exit_nodes"