llvm_sys/transforms/
pass_builder.rs1#![allow(non_snake_case)]
2
3use crate::error::LLVMErrorRef;
4use crate::prelude::*;
5use crate::target_machine::LLVMTargetMachineRef;
6
7#[derive(Debug)]
8pub enum LLVMOpaquePassBuilderOptions {}
9pub type LLVMPassBuilderOptionsRef = *mut LLVMOpaquePassBuilderOptions;
10
11extern "C" {
12 pub fn LLVMRunPasses(
13 M: LLVMModuleRef,
14 Passes: *const ::libc::c_char,
15 TM: LLVMTargetMachineRef,
16 Options: LLVMPassBuilderOptionsRef,
17 ) -> LLVMErrorRef;
18 pub fn LLVMRunPassesOnFunction(
23 F: LLVMValueRef,
24 Passes: *const ::libc::c_char,
25 TM: LLVMTargetMachineRef,
26 Options: LLVMPassBuilderOptionsRef,
27 ) -> LLVMErrorRef;
28 pub fn LLVMCreatePassBuilderOptions() -> LLVMPassBuilderOptionsRef;
29 pub fn LLVMPassBuilderOptionsSetVerifyEach(
30 Options: LLVMPassBuilderOptionsRef,
31 VerifyEach: LLVMBool,
32 );
33 pub fn LLVMPassBuilderOptionsSetDebugLogging(
34 Options: LLVMPassBuilderOptionsRef,
35 DebugLogging: LLVMBool,
36 );
37 pub fn LLVMPassBuilderOptionsSetAAPipeline(
38 Options: LLVMPassBuilderOptionsRef,
39 AAPipeline: *const ::libc::c_char,
40 );
41 pub fn LLVMPassBuilderOptionsSetLoopInterleaving(
42 Options: LLVMPassBuilderOptionsRef,
43 LoopInterleaving: LLVMBool,
44 );
45 pub fn LLVMPassBuilderOptionsSetLoopVectorization(
46 Options: LLVMPassBuilderOptionsRef,
47 LoopVectorization: LLVMBool,
48 );
49 pub fn LLVMPassBuilderOptionsSetSLPVectorization(
50 Options: LLVMPassBuilderOptionsRef,
51 SLPVectorization: LLVMBool,
52 );
53 pub fn LLVMPassBuilderOptionsSetLoopUnrolling(
54 Options: LLVMPassBuilderOptionsRef,
55 LoopUnrolling: LLVMBool,
56 );
57 pub fn LLVMPassBuilderOptionsSetForgetAllSCEVInLoopUnroll(
58 Options: LLVMPassBuilderOptionsRef,
59 ForgetAllSCEVInLoopUnroll: LLVMBool,
60 );
61 pub fn LLVMPassBuilderOptionsSetLicmMssaOptCap(
62 Options: LLVMPassBuilderOptionsRef,
63 LicmMssaOptCap: ::libc::c_uint,
64 );
65 pub fn LLVMPassBuilderOptionsSetLicmMssaNoAccForPromotionCap(
66 Options: LLVMPassBuilderOptionsRef,
67 LicmMssaNoAccForPromotionCap: ::libc::c_uint,
68 );
69 pub fn LLVMPassBuilderOptionsSetCallGraphProfile(
70 Options: LLVMPassBuilderOptionsRef,
71 CallGraphProfile: LLVMBool,
72 );
73 pub fn LLVMPassBuilderOptionsSetMergeFunctions(
74 Options: LLVMPassBuilderOptionsRef,
75 MergeFunctions: LLVMBool,
76 );
77 pub fn LLVMPassBuilderOptionsSetInlinerThreshold(
78 Options: LLVMPassBuilderOptionsRef,
79 Threshold: ::libc::c_int,
80 );
81 pub fn LLVMDisposePassBuilderOptions(Options: LLVMPassBuilderOptionsRef);
82}