Skip to main content

llvm_sys_featured/transforms/
ipo.rs

1//! Interprocedural transformations of LLVM IR.
2
3use super::super::prelude::*;
4
5extern "C" {
6    pub fn LLVMAddArgumentPromotionPass(PM: LLVMPassManagerRef);
7    pub fn LLVMAddConstantMergePass(PM: LLVMPassManagerRef);
8    #[cfg(LLVM_VERSION_10_OR_GREATER)]
9    pub fn LLVMAddMergeFunctionsPass(PM: LLVMPassManagerRef);
10    pub fn LLVMAddCalledValuePropagationPass(PM: LLVMPassManagerRef);
11    pub fn LLVMAddDeadArgEliminationPass(PM: LLVMPassManagerRef);
12    pub fn LLVMAddFunctionAttrsPass(PM: LLVMPassManagerRef);
13    pub fn LLVMAddFunctionInliningPass(PM: LLVMPassManagerRef);
14    pub fn LLVMAddAlwaysInlinerPass(PM: LLVMPassManagerRef);
15    pub fn LLVMAddGlobalDCEPass(PM: LLVMPassManagerRef);
16    pub fn LLVMAddGlobalOptimizerPass(PM: LLVMPassManagerRef);
17    pub fn LLVMAddIPConstantPropagationPass(PM: LLVMPassManagerRef);
18    pub fn LLVMAddPruneEHPass(PM: LLVMPassManagerRef);
19    pub fn LLVMAddIPSCCPPass(PM: LLVMPassManagerRef);
20    pub fn LLVMAddInternalizePass(arg1: LLVMPassManagerRef, AllButMain: ::libc::c_uint);
21    #[cfg(LLVM_VERSION_10_OR_GREATER)]
22    pub fn LLVMAddInternalizePassWithMustPreservePredicate(
23        PM: LLVMPassManagerRef,
24        Context: *mut ::libc::c_void,
25        MustPreserve: Option<extern "C" fn(LLVMValueRef, *mut ::libc::c_void) -> LLVMBool>,
26    );
27    pub fn LLVMAddStripDeadPrototypesPass(PM: LLVMPassManagerRef);
28    pub fn LLVMAddStripSymbolsPass(PM: LLVMPassManagerRef);
29}