1(*===-- llvm_scalar_opts.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-exception
6 *
7 *===----------------------------------------------------------------------===*)
8
9external add_aggressive_dce
10  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
11  = "llvm_add_aggressive_dce"
12external add_dce
13  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
14  = "llvm_add_dce"
15external add_alignment_from_assumptions
16  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
17  = "llvm_add_alignment_from_assumptions"
18external add_cfg_simplification
19  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
20  = "llvm_add_cfg_simplification"
21external add_dead_store_elimination
22  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
23  = "llvm_add_dead_store_elimination"
24external add_scalarizer
25  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
26  = "llvm_add_scalarizer"
27external add_merged_load_store_motion
28  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
29  = "llvm_add_merged_load_store_motion"
30external add_gvn
31  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
32  = "llvm_add_gvn"
33external add_ind_var_simplification
34  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
35  = "llvm_add_ind_var_simplify"
36external add_instruction_combination
37  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
38  = "llvm_add_instruction_combining"
39external add_jump_threading
40  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
41  = "llvm_add_jump_threading"
42external add_licm
43  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
44  = "llvm_add_licm"
45external add_loop_deletion
46  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
47  = "llvm_add_loop_deletion"
48external add_loop_idiom
49  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
50  = "llvm_add_loop_idiom"
51external add_loop_rotation
52  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
53  = "llvm_add_loop_rotate"
54external add_loop_reroll
55  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
56  = "llvm_add_loop_reroll"
57external add_loop_unroll
58  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
59  = "llvm_add_loop_unroll"
60external add_loop_unswitch
61  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
62  = "llvm_add_loop_unswitch"
63external add_memcpy_opt
64  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
65  = "llvm_add_memcpy_opt"
66external add_partially_inline_lib_calls
67  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
68  = "llvm_add_partially_inline_lib_calls"
69external add_lower_atomic
70  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
71  = "llvm_add_lower_atomic"
72external add_lower_switch
73  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
74  = "llvm_add_lower_switch"
75external add_memory_to_register_promotion
76  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
77  = "llvm_add_promote_memory_to_register"
78external add_reassociation
79  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
80  = "llvm_add_reassociation"
81external add_sccp
82  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
83  = "llvm_add_sccp"
84external add_scalar_repl_aggregation
85  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
86  = "llvm_add_scalar_repl_aggregates"
87external add_scalar_repl_aggregation_ssa
88  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
89  = "llvm_add_scalar_repl_aggregates_ssa"
90external add_scalar_repl_aggregation_with_threshold
91  : int -> [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
92  = "llvm_add_scalar_repl_aggregates_with_threshold"
93external add_lib_call_simplification
94  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
95  = "llvm_add_simplify_lib_calls"
96external add_tail_call_elimination
97  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
98  = "llvm_add_tail_call_elimination"
99external add_memory_to_register_demotion
100  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
101  = "llvm_add_demote_memory_to_register"
102external add_verifier
103  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
104  = "llvm_add_verifier"
105external add_correlated_value_propagation
106  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
107  = "llvm_add_correlated_value_propagation"
108external add_early_cse
109  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
110  = "llvm_add_early_cse"
111external add_lower_expect_intrinsic
112  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
113  = "llvm_add_lower_expect_intrinsic"
114external add_lower_constant_intrinsics
115  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
116  = "llvm_add_lower_constant_intrinsics"
117external add_type_based_alias_analysis
118  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
119  = "llvm_add_type_based_alias_analysis"
120external add_scoped_no_alias_alias_analysis
121  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
122  = "llvm_add_scoped_no_alias_aa"
123external add_basic_alias_analysis
124  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
125  = "llvm_add_basic_alias_analysis"
126external add_unify_function_exit_nodes
127  : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
128  = "llvm_add_unify_function_exit_nodes"
129