1 -- This file is generated by SWIG. Do *not* modify by hand.
4 with Interfaces.C.Strings;
7 package LLVM_link_time_Optimizer.Binding is
10 LTO_API_VERSION : constant := 3;
12 function lto_get_version return Interfaces.C.Strings.chars_ptr;
14 function lto_get_error_message return Interfaces.C.Strings.chars_ptr;
16 function lto_module_is_object_file
17 (path : in Interfaces.C.Strings.chars_ptr)
18 return Interfaces.C.Extensions.bool;
20 function lto_module_is_object_file_for_target
21 (path : in Interfaces.C.Strings.chars_ptr;
22 target_triple_prefix : in Interfaces.C.Strings.chars_ptr)
23 return Interfaces.C.Extensions.bool;
25 function lto_module_is_object_file_in_memory
26 (mem : access Interfaces.C.Extensions.void;
27 length : in Interfaces.C.size_t)
28 return Interfaces.C.Extensions.bool;
30 function lto_module_is_object_file_in_memory_for_target
31 (mem : access Interfaces.C.Extensions.void;
32 length : in Interfaces.C.size_t;
33 target_triple_prefix : in Interfaces.C.Strings.chars_ptr)
34 return Interfaces.C.Extensions.bool;
36 function lto_module_create
37 (path : in Interfaces.C.Strings.chars_ptr)
38 return LLVM_link_time_Optimizer.lto_module_t;
40 function lto_module_create_from_memory
41 (mem : access Interfaces.C.Extensions.void;
42 length : in Interfaces.C.size_t)
43 return LLVM_link_time_Optimizer.lto_module_t;
45 procedure lto_module_dispose
46 (the_mod : in LLVM_link_time_Optimizer.lto_module_t);
48 function lto_module_get_target_triple
49 (the_mod : in LLVM_link_time_Optimizer.lto_module_t)
50 return Interfaces.C.Strings.chars_ptr;
52 function lto_module_get_num_symbols
53 (the_mod : in LLVM_link_time_Optimizer.lto_module_t)
54 return Interfaces.C.unsigned;
56 function lto_module_get_symbol_name
57 (the_mod : in LLVM_link_time_Optimizer.lto_module_t;
58 index : in Interfaces.C.unsigned)
59 return Interfaces.C.Strings.chars_ptr;
61 function lto_module_get_symbol_attribute
62 (the_mod : in LLVM_link_time_Optimizer.lto_module_t;
63 index : in Interfaces.C.unsigned)
64 return LLVM_link_time_Optimizer.lto_symbol_attributes;
66 function lto_codegen_create return LLVM_link_time_Optimizer.lto_code_gen_t;
68 procedure lto_codegen_dispose
69 (arg_1 : in LLVM_link_time_Optimizer.lto_code_gen_t);
71 function lto_codegen_add_module
72 (cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
73 the_mod : in LLVM_link_time_Optimizer.lto_module_t)
74 return Interfaces.C.Extensions.bool;
76 function lto_codegen_set_debug_model
77 (cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
78 arg_1 : in LLVM_link_time_Optimizer.lto_debug_model)
79 return Interfaces.C.Extensions.bool;
81 function lto_codegen_set_pic_model
82 (cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
83 arg_1 : in LLVM_link_time_Optimizer.lto_codegen_model)
84 return Interfaces.C.Extensions.bool;
86 procedure lto_codegen_set_gcc_path
87 (cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
88 path : in Interfaces.C.Strings.chars_ptr);
90 procedure lto_codegen_set_assembler_path
91 (cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
92 path : in Interfaces.C.Strings.chars_ptr);
94 procedure lto_codegen_add_must_preserve_symbol
95 (cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
96 symbol : in Interfaces.C.Strings.chars_ptr);
98 function lto_codegen_write_merged_modules
99 (cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
100 path : in Interfaces.C.Strings.chars_ptr)
101 return Interfaces.C.Extensions.bool;
103 function lto_codegen_compile
104 (cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
105 length : access Interfaces.C.size_t)
106 return access Interfaces.C.Extensions.void;
108 procedure lto_codegen_debug_options
109 (cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
110 arg_1 : in Interfaces.C.Strings.chars_ptr);
112 function llvm_create_optimizer return
113 LLVM_link_time_Optimizer.llvm_lto_t;
115 procedure llvm_destroy_optimizer
116 (lto : in LLVM_link_time_Optimizer.llvm_lto_t);
118 function llvm_read_object_file
119 (lto : in LLVM_link_time_Optimizer.llvm_lto_t;
120 input_filename : in Interfaces.C.Strings.chars_ptr)
121 return LLVM_link_time_Optimizer.llvm_lto_status_t;
123 function llvm_optimize_modules
124 (lto : in LLVM_link_time_Optimizer.llvm_lto_t;
125 output_filename : in Interfaces.C.Strings.chars_ptr)
126 return LLVM_link_time_Optimizer.llvm_lto_status_t;
130 pragma Import (C, lto_get_version, "Ada_lto_get_version");
131 pragma Import (C, lto_get_error_message, "Ada_lto_get_error_message");
134 lto_module_is_object_file,
135 "Ada_lto_module_is_object_file");
138 lto_module_is_object_file_for_target,
139 "Ada_lto_module_is_object_file_for_target");
142 lto_module_is_object_file_in_memory,
143 "Ada_lto_module_is_object_file_in_memory");
146 lto_module_is_object_file_in_memory_for_target,
147 "Ada_lto_module_is_object_file_in_memory_for_target");
148 pragma Import (C, lto_module_create, "Ada_lto_module_create");
151 lto_module_create_from_memory,
152 "Ada_lto_module_create_from_memory");
153 pragma Import (C, lto_module_dispose, "Ada_lto_module_dispose");
156 lto_module_get_target_triple,
157 "Ada_lto_module_get_target_triple");
160 lto_module_get_num_symbols,
161 "Ada_lto_module_get_num_symbols");
164 lto_module_get_symbol_name,
165 "Ada_lto_module_get_symbol_name");
168 lto_module_get_symbol_attribute,
169 "Ada_lto_module_get_symbol_attribute");
170 pragma Import (C, lto_codegen_create, "Ada_lto_codegen_create");
171 pragma Import (C, lto_codegen_dispose, "Ada_lto_codegen_dispose");
172 pragma Import (C, lto_codegen_add_module, "Ada_lto_codegen_add_module");
175 lto_codegen_set_debug_model,
176 "Ada_lto_codegen_set_debug_model");
179 lto_codegen_set_pic_model,
180 "Ada_lto_codegen_set_pic_model");
183 lto_codegen_set_gcc_path,
184 "Ada_lto_codegen_set_gcc_path");
187 lto_codegen_set_assembler_path,
188 "Ada_lto_codegen_set_assembler_path");
191 lto_codegen_add_must_preserve_symbol,
192 "Ada_lto_codegen_add_must_preserve_symbol");
195 lto_codegen_write_merged_modules,
196 "Ada_lto_codegen_write_merged_modules");
197 pragma Import (C, lto_codegen_compile, "Ada_lto_codegen_compile");
200 lto_codegen_debug_options,
201 "Ada_lto_codegen_debug_options");
202 pragma Import (C, llvm_create_optimizer, "Ada_llvm_create_optimizer");
203 pragma Import (C, llvm_destroy_optimizer, "Ada_llvm_destroy_optimizer");
204 pragma Import (C, llvm_read_object_file, "Ada_llvm_read_object_file");
205 pragma Import (C, llvm_optimize_modules, "Ada_llvm_optimize_modules");
207 end LLVM_link_time_Optimizer.Binding;