Skip to main content

solar_codegen/transform/
mod.rs

1//! Optimization and transformation passes for the Solar compiler.
2
3mod adce;
4mod cfg_simplify;
5mod check_elim;
6mod cse;
7mod dce;
8mod frame_promotion;
9mod gvn;
10mod indvar_simplify;
11mod inline;
12mod inst_simplify;
13mod jump_threading;
14mod load_pre;
15mod loop_canonicalize;
16mod loop_opt;
17mod memory_dse;
18mod pre;
19mod pure_eval;
20mod sccp;
21mod storage_dse;
22mod storage_load_cse;
23mod storage_promotion;
24
25pub use adce::{AdcePass, AdceStats, AggressiveDeadCodeEliminator};
26pub use cfg_simplify::{
27    CfgSimplifier, CfgSimplifyPass, CfgSimplifyStats, DeadFunctionEliminator, FunctionDcePass,
28    simplify_cfg, simplify_module_cfg,
29};
30pub use check_elim::{CheckElimPass, CheckElimStats, CheckEliminator};
31pub use cse::{CommonSubexprEliminator, CsePass};
32pub use dce::{DcePass, DceStats, DeadCodeEliminator};
33pub use frame_promotion::{
34    FramePromotionStats, FrameSlotPromoter, FrameSlotPromotionPass, PromotedSlot,
35    PromotedSlotSummary,
36};
37pub use gvn::{GlobalValueNumberer, GvnPass};
38pub use indvar_simplify::{IndVarSimplifier, IndVarSimplifyPass, IndVarSimplifyStats};
39pub use inline::{
40    FunctionInlineInfo, InlineAnalyzer, InlineConfig, InlineDecision, InlinePass, InlineStats,
41    MirInlineConfig, MirInlineStats, MirInliner, OptLevel,
42};
43pub use inst_simplify::{InstSimplifier, InstSimplifyPass};
44pub use jump_threading::{JumpThreader, JumpThreadingPass, JumpThreadingStats};
45pub use load_pre::{LoadPrePass, LoadPreStats, LoadRedundancyEliminator};
46pub use loop_canonicalize::{LoopCanonicalizePass, LoopCanonicalizeStats, LoopCanonicalizer};
47pub use loop_opt::{LicmPass, LoopOptConfig, LoopOptStats, LoopOptimizer};
48pub use memory_dse::{MemoryDsePass, MemoryStoreEliminator};
49pub use pre::{PartialRedundancyEliminator, PrePass, PreStats};
50pub use pure_eval::{PureEvalPass, PureEvalStats, PureEvaluator};
51pub use sccp::{SccpPass, SccpStats, SccpTransformPass};
52pub use storage_dse::{StorageDsePass, StorageStoreEliminator};
53pub use storage_load_cse::{StorageLoadCse, StorageLoadCsePass};
54pub use storage_promotion::{
55    StoragePromotionStats, StorageScalarPromoter, StorageScalarPromotionPass,
56};