Skip to main content

llvm_transforms/
lib.rs

1//! Optimization passes: mem2reg, DCE, constant folding/propagation, and inlining.
2
3pub mod const_prop;
4/// Public API for `constant_fold`.
5pub mod constant_fold;
6/// Public API for `constant_fold_pass`.
7pub mod constant_fold_pass;
8/// Public API for `dce`.
9pub mod dce;
10/// Public API for `dead_arg_elim`.
11pub mod dead_arg_elim;
12/// Public API for `gvn`.
13pub mod gvn;
14/// Public API for `inline_pass`.
15pub mod inline_pass;
16/// Public API for `ipcp`.
17pub mod ipcp;
18/// Public API for `loop_unroll`.
19pub mod loop_unroll;
20/// Public API for `mem2reg`.
21pub mod mem2reg;
22/// Public API for `pass`.
23pub mod pass;
24/// Public API for `pipeline`.
25pub mod pipeline;
26mod value_rewrite;
27
28/// Public API for `re-export`.
29pub use const_prop::ConstProp;
30/// Public API for `re-export`.
31pub use constant_fold::try_fold;
32/// Public API for `re-export`.
33pub use constant_fold_pass::ConstantFold;
34/// Public API for `re-export`.
35pub use dce::DeadCodeElim;
36/// Public API for `re-export`.
37pub use dead_arg_elim::DeadArgElim;
38/// Public API for `re-export`.
39pub use gvn::Gvn;
40/// Public API for `re-export`.
41pub use inline_pass::Inliner;
42/// Public API for `re-export`.
43pub use ipcp::Ipcp;
44/// Public API for `re-export`.
45pub use loop_unroll::LoopUnroll;
46/// Public API for `re-export`.
47pub use mem2reg::Mem2Reg;
48/// Public API for `re-export`.
49pub use pass::{FunctionPass, ModulePass, PassManager};
50/// Public API for `re-export`.
51pub use pipeline::{build_pipeline, OptLevel};