jstd/graph/analysis/mod.rs
1//! Graph analysis algorithms.
2//!
3//! This module currently provides classic control-flow analyses:
4//! - dominators
5//! - post-dominators
6//! - canonical edge-based SESE regions / program-structure trees
7//!
8//! Re-exported helpers:
9//! - [`reachable_from_root`]
10//! - [`compute_dominators`]
11//! - [`DominatorTree`]
12//! - [`compute_postdominators`]
13//! - [`compute_sese`]
14
15pub mod dominator;
16pub mod post_dominator;
17pub mod sese;
18
19pub use dominator::{DominatorTree, compute_dominators, reachable_from_root};
20pub use post_dominator::compute_postdominators;
21// Public rather than crate-private: the layout crate composes SESE regions from
22// the candidate set before `compute_sese` reduces it to the canonical tree.
23pub use sese::compute_sese_candidates;
24pub use sese::{SeseRegion, SeseTree, compute_sese};