Skip to main content

solar_codegen/analysis/
mod.rs

1//! MIR analysis passes.
2//!
3//! This module contains dataflow analysis passes for MIR, including:
4//! - Liveness analysis for tracking value lifetimes
5//! - Phi elimination for converting SSA to CSSA
6//! - Loop analysis for detecting and analyzing natural loops
7
8mod cfg;
9pub use cfg::{CfgInfo, DominatorTree};
10
11mod call_graph;
12pub use call_graph::CallGraphInfo;
13
14mod liveness;
15pub use liveness::{LiveSet, Liveness, LivenessInfo};
16
17mod phi_elimination;
18pub use phi_elimination::{
19    BlockCopies, CopyDest, CopySource, ParallelCopy, PhiEliminationResult, PhiEliminator,
20    eliminate_phis,
21};
22
23mod loop_analysis;
24pub use loop_analysis::{InductionVariable, Loop, LoopAnalyzer, LoopInfo};
25
26mod scalar_evolution;
27pub use scalar_evolution::{AffineExpr, AffineTerm, ScalarEvolution};
28
29mod validator;
30pub use validator::{
31    ValidationError, Validator, ValidatorAnalysis, validate_function, validate_module,
32};