Expand description
Compilation passes acting on the HUGR program representation.
Re-exports§
pub use composable::ComposablePass;pub use dead_code::DeadCodeElimPass;pub use inline_funcs::inline_acyclic;pub use linearize_array::LinearizeArrayPass;pub use replace_types::ReplaceTypes;pub use force_order::force_order;pub use force_order::force_order_by_key;pub use lower::lower_ops;pub use lower::replace_many_ops;pub use non_local::ensure_no_nonlocal_edges;pub use non_local::nonlocal_edges;pub use untuple::UntuplePass;
Modules§
- call_
graph - Data structure for call graphs of a Hugr
- composable
- Compiler passes and utilities for composing them
- const_
fold - Constant-folding pass. An (example) use of the dataflow analysis framework.
- dataflow
- Dataflow analysis of Hugrs.
- dead_
code - Pass for removing dead code, i.e. that computes values that are then discarded
- force_
order - Provides
force_order, a tool for fixing the order of nodes in a Hugr. - inline_
dfgs - Provides
InlineDFGsPass, a pass for inlining all DFGs in a Hugr. - inline_
funcs - Contains a pass to inline calls to selected functions in a Hugr.
- linearize_
array - Provides LinearizeArrayPass which turns ’value_array
s into regular lineararray`s. - lower
- Passes to lower operations in a HUGR.
- merge_
bbs Deprecated - Merge basic blocks. Subset of normalize_cfgs, use the latter.
- nest_
cfgs - Nest CFGs
- non_
local - This module provides functions for finding non-local edges in a Hugr and converting them to local edges.
- normalize_
cfgs - CFG normalizations.
- replace_
types - Replace types with other types across the Hugr. See
ReplaceTypesand Linearizer. - untuple
- Pass for removing redundant tuple pack->unpack operations.
Structs§
- Monomorphize
Pass - Replaces calls to polymorphic functions with calls to new monomorphic instantiations of the polymorphic ones.
- Remove
Dead Funcs Pass - A configuration for the Dead Function Removal pass.
Enums§
- Remove
Dead Funcs Error - Errors produced by
RemoveDeadFuncsPass.
Functions§
- mangle_
name - Produce a mangled name for a monomorphized instance of a function.
- monomorphize
- Replaces calls to polymorphic functions with calls to new monomorphic instantiations of the polymorphic ones.
- remove_
dead_ funcs - Deletes from the Hugr any functions that are not used by either
CallorLoadFunctionnodes in reachable parts.