calyx_opt/analysis/
mod.rs

1//! Analysis for Calyx programs.
2//!
3//! The analyses construct data-structures that make answering certain queries
4//! about Calyx programs easier.
5
6mod compaction_analysis;
7mod compute_static;
8mod control_id;
9mod control_order;
10mod control_ports;
11mod dataflow_order;
12mod domination_analysis;
13mod fsm_construction;
14mod graph;
15mod graph_coloring;
16mod inference_analysis;
17mod live_range_analysis;
18mod port_interface;
19mod promotion_analysis;
20pub mod reaching_defns;
21mod read_write_set;
22mod schedule_conflicts;
23mod share_set;
24mod static_fsm;
25mod static_par_timing;
26mod static_tree;
27mod variable_detection;
28
29pub use compaction_analysis::CompactionAnalysis;
30pub use compute_static::IntoStatic;
31pub use compute_static::WithStatic;
32pub use control_id::ControlId;
33pub use control_order::ControlOrder;
34pub use control_ports::ControlPorts;
35pub use dataflow_order::DataflowOrder;
36pub use domination_analysis::DominatorMap;
37pub use fsm_construction::{IncompleteTransition, StaticSchedule};
38pub use graph::GraphAnalysis;
39pub use graph_coloring::GraphColoring;
40pub use inference_analysis::GoDone;
41pub use inference_analysis::InferenceAnalysis;
42pub use live_range_analysis::LiveRangeAnalysis;
43pub use port_interface::PortInterface;
44pub use promotion_analysis::PromotionAnalysis;
45pub use read_write_set::{AssignmentAnalysis, ReadWriteSet};
46pub use schedule_conflicts::ScheduleConflicts;
47pub use share_set::ShareSet;
48pub use static_fsm::{FSMEncoding, StaticFSM};
49pub use static_par_timing::StaticParTiming;
50pub use static_tree::{Node, ParNodes, SingleNode, StateType};
51pub use variable_detection::VariableDetection;