llvm_sys/transforms/
pass_builder.rs

1#![allow(non_snake_case)]
2
3use super::super::prelude::*;
4use error::LLVMErrorRef;
5use 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 LLVMCreatePassBuilderOptions() -> LLVMPassBuilderOptionsRef;
19    pub fn LLVMPassBuilderOptionsSetVerifyEach(
20        Options: LLVMPassBuilderOptionsRef,
21        VerifyEach: LLVMBool,
22    );
23    pub fn LLVMPassBuilderOptionsSetDebugLogging(
24        Options: LLVMPassBuilderOptionsRef,
25        DebugLogging: LLVMBool,
26    );
27    pub fn LLVMPassBuilderOptionsSetLoopInterleaving(
28        Options: LLVMPassBuilderOptionsRef,
29        LoopInterleaving: LLVMBool,
30    );
31    pub fn LLVMPassBuilderOptionsSetLoopVectorization(
32        Options: LLVMPassBuilderOptionsRef,
33        LoopVectorization: LLVMBool,
34    );
35    pub fn LLVMPassBuilderOptionsSetSLPVectorization(
36        Options: LLVMPassBuilderOptionsRef,
37        SLPVectorization: LLVMBool,
38    );
39    pub fn LLVMPassBuilderOptionsSetLoopUnrolling(
40        Options: LLVMPassBuilderOptionsRef,
41        LoopUnrolling: LLVMBool,
42    );
43    pub fn LLVMPassBuilderOptionsSetForgetAllSCEVInLoopUnroll(
44        Options: LLVMPassBuilderOptionsRef,
45        ForgetAllSCEVInLoopUnroll: LLVMBool,
46    );
47    pub fn LLVMPassBuilderOptionsSetLicmMssaOptCap(
48        Options: LLVMPassBuilderOptionsRef,
49        LicmMssaOptCap: ::libc::c_uint,
50    );
51    pub fn LLVMPassBuilderOptionsSetLicmMssaNoAccForPromotionCap(
52        Options: LLVMPassBuilderOptionsRef,
53        LicmMssaNoAccForPromotionCap: ::libc::c_uint,
54    );
55    pub fn LLVMPassBuilderOptionsSetCallGraphProfile(
56        Options: LLVMPassBuilderOptionsRef,
57        CallGraphProfile: LLVMBool,
58    );
59    pub fn LLVMPassBuilderOptionsSetMergeFunctions(
60        Options: LLVMPassBuilderOptionsRef,
61        MergeFunctions: LLVMBool,
62    );
63    pub fn LLVMPassBuilderOptionsSetInlinerThreshold(
64        Options: LLVMPassBuilderOptionsRef,
65        Threshold: ::libc::c_int,
66    );
67    pub fn LLVMDisposePassBuilderOptions(Options: LLVMPassBuilderOptionsRef);
68}