llvm_sys_featured/
link_time_optimizer.rs1#[allow(non_camel_case_types)]
5pub type llvm_lto_t = *mut ::libc::c_void;
6
7#[repr(C)]
8#[derive(Clone, Copy, Debug, PartialEq)]
9pub enum llvm_lto_status_t {
10 LLVM_LTO_UNKNOWN = 0,
11 LLVM_LTO_OPT_SUCCESS = 1,
12 LLVM_LTO_READ_SUCCESS = 2,
13 LLVM_LTO_READ_FAILURE = 3,
14 LLVM_LTO_WRITE_FAILURE = 4,
15 LLVM_LTO_NO_TARGET = 5,
16 LLVM_LTO_NO_WORK = 6,
17 LLVM_LTO_MODULE_MERGE_FAILURE = 7,
18 LLVM_LTO_ASM_FAILURE = 8,
19 LLVM_LTO_NULL_OBJECT = 9,
20}
21
22extern "C" {
23 pub fn llvm_create_optimizer() -> llvm_lto_t;
24 pub fn llvm_destroy_optimizer(lto: llvm_lto_t);
25 pub fn llvm_read_object_file(
26 lto: llvm_lto_t,
27 input_filename: *const ::libc::c_char,
28 ) -> llvm_lto_status_t;
29 pub fn llvm_optimize_modules(
30 lto: llvm_lto_t,
31 output_filename: *const ::libc::c_char,
32 ) -> llvm_lto_status_t;
33}