pub fn analyze_program(resolved_fns: &[&ResolvedFnDef]) -> ProgramShapeExpand description
Build a ProgramShape over the post-resolver fn snapshot in one
pass. Caller picks which fns participate (typically every
ResolvedTopLevel::FnDef of the entry module, sometimes plus
dep-module fns when a cross-module analysis needs the broader
view).
Two-pass internally: facts first (needed to build the call graph
for SCC detection), then classify with the facts + SCC ready.
O(N) over fn bodies, O(N+E) Tarjan over the call graph; the
per-compilation cache budget the peer-review pinned.