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