Skip to main content

run_buffer_build_pass

Function run_buffer_build_pass 

Source
pub fn run_buffer_build_pass(items: &mut Vec<TopLevel>) -> BufferBuildPassReport
Expand description

Run the full buffer-build deforestation pass on a program: detect sinks, synthesize buffered variants, rewrite fusion sites in place, and APPEND the synthesized FnDefs to the items list as new top-level fns. Caller is responsible for invoking this AFTER tco::transform_program (the detector requires Expr::TailCall nodes) and BEFORE resolver::resolve_program (the detector + rewrite both match on Expr::Ident shapes that the resolver rewrites to Expr::Resolved).

Returns a [BufferBuildPassReport] describing what fired, for diagnostic / bench reporting and --explain-passes.