calyx_opt/passes/
mod.rs

1//! Passes for the Calyx compiler.
2mod canonical;
3mod cell_share;
4mod clk_insertion;
5mod collapse_control;
6mod comb_prop;
7mod compile_invoke;
8mod compile_repeat;
9mod compile_static;
10mod component_inliner;
11mod constant_port_prop;
12mod dead_assignment_removal;
13mod dead_cell_removal;
14mod dead_group_removal;
15mod externalize;
16mod go_insertion;
17mod group_to_invoke;
18mod group_to_seq;
19mod infer_share;
20mod lower_guards;
21mod merge_assign;
22mod papercut;
23mod profiler_instrumentation;
24mod prop_protected;
25mod reset_insertion;
26mod simplify_static_guards;
27mod static_fsm_allocation;
28mod static_fsm_opts;
29mod static_inference;
30mod static_inliner;
31mod static_promotion;
32mod static_repeat_fsm_allocation;
33mod uniquefy_enables;
34
35// mod simplify_guards;
36mod add_guard;
37mod data_path_infer;
38mod default_assigns;
39mod dump_ports;
40mod remove_ids;
41mod simplify_with_control;
42mod synthesis_papercut;
43mod top_down_compile_control;
44mod unroll_bound;
45mod well_formed;
46mod wire_inliner;
47mod wrap_main;
48
49pub use canonical::Canonicalize;
50pub use cell_share::CellShare;
51pub use clk_insertion::ClkInsertion;
52pub use collapse_control::CollapseControl;
53pub use comb_prop::CombProp;
54pub use compile_invoke::CompileInvoke;
55pub use compile_repeat::CompileRepeat;
56pub use compile_static::CompileStatic;
57pub use component_inliner::ComponentInliner;
58pub use constant_port_prop::ConstantPortProp;
59pub use data_path_infer::DataPathInfer;
60pub use dead_assignment_removal::DeadAssignmentRemoval;
61pub use dead_cell_removal::DeadCellRemoval;
62pub use dead_group_removal::DeadGroupRemoval;
63pub use dump_ports::DumpResults;
64pub use externalize::Externalize;
65pub use go_insertion::GoInsertion;
66pub use group_to_invoke::GroupToInvoke;
67pub use group_to_seq::GroupToSeq;
68pub use infer_share::InferShare;
69pub use lower_guards::LowerGuards;
70pub use merge_assign::MergeAssign;
71pub use papercut::Papercut;
72pub use profiler_instrumentation::ProfilerInstrumentation;
73pub use remove_ids::RemoveIds;
74pub use reset_insertion::ResetInsertion;
75pub use simplify_static_guards::SimplifyStaticGuards;
76pub use simplify_with_control::SimplifyWithControl;
77pub use static_fsm_allocation::StaticFSMAllocation;
78pub use static_fsm_opts::StaticFSMOpts;
79pub use static_inference::StaticInference;
80pub use static_inliner::StaticInliner;
81pub use static_promotion::StaticPromotion;
82pub use static_repeat_fsm_allocation::StaticRepeatFSMAllocation;
83pub use uniquefy_enables::UniquefyEnables;
84pub use unroll_bound::UnrollBounded;
85// pub use simplify_guards::SimplifyGuards;
86pub use add_guard::AddGuard;
87pub use default_assigns::DefaultAssigns;
88pub use prop_protected::PropagateProtected;
89pub use synthesis_papercut::SynthesisPapercut;
90pub use top_down_compile_control::TopDownCompileControl;
91pub use well_formed::WellFormed;
92pub use wire_inliner::WireInliner;
93pub use wrap_main::WrapMain;