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