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 linear
array`s. - lower
- Passes to lower operations in a HUGR.
- merge_
bbs - Merge BBs along control-flow edges where the source BB has no other successors and the target BB has no other predecessors.
- nest_
cfgs - Nest CFGs
- non_
local - This module provides functions for finding non-local edges in a Hugr and converting them to local edges.
- replace_
types - Replace types with other types across the Hugr. See
ReplaceTypes
and 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
Call
orLoadFunction
nodes in reachable parts.