pub mod composable;
pub use composable::{ComposablePass, InScope, PassScope, WithScope};
pub mod borrow_squash;
pub use borrow_squash::BorrowSquashPass;
pub mod commutation;
pub use commutation::apply_greedy_commutation;
pub mod const_fold;
pub use const_fold::ConstantFoldPass;
pub mod dataflow;
pub mod dead_code;
pub use dead_code::DeadCodeElimPass;
pub mod dead_funcs;
pub use dead_funcs::{RemoveDeadFuncsError, RemoveDeadFuncsPass};
pub mod force_order;
pub use force_order::{force_order, force_order_by_key};
pub mod guppy;
pub use guppy::NormalizeGuppy;
pub mod inline_dfgs;
pub use inline_dfgs::InlineDFGsPass;
pub mod inline_funcs;
pub use inline_funcs::inline_acyclic;
pub mod lower;
pub use lower::{lower_ops, replace_many_ops};
pub mod modifier_resolver;
pub use modifier_resolver::ModifierResolverPass;
pub mod monomorphize;
pub use monomorphize::{MonomorphizePass, mangle_name};
pub mod nest_cfgs;
pub mod non_local;
pub mod normalize_cfgs;
pub use normalize_cfgs::NormalizeCFGPass;
pub mod redundant_order_edges;
pub use redundant_order_edges::RedundantOrderEdgesPass;
pub mod replace_types;
pub use replace_types::ReplaceTypes;
pub mod untuple;
pub use untuple::UntuplePass;
pub(crate) mod half_node;
#[cfg(test)]
pub(crate) mod test_utils;
pub mod utils;