Expand description
Exploded-supergraph (IFDS encoding) substrate consumer.
Wires vyre_primitives::graph::exploded::build_cpu_reference (zero
prior consumers) into the substrate so the optimizer can build
interprocedural-dataflow graphs directly. The IFDS encoding packs
(proc_id, block_id, fact_id) into a u32 node id, then composes
intra-/inter-procedural edges + GEN/KILL flow into a CSR ready for
reachability/closure analysis.
Functions§
- build_
ifds_ csr - Build an exploded supergraph and return its CSR
(row_ptr, col_idx). Inputs match the underlying primitive’s contract; the wrapper bumps the dataflow-fixpoint observability counter so dispatch-time IFDS graph builds are visible in dashboards. - ifds_
node_ count - Total node count of the exploded supergraph for the given
dimensions. Equivalent to
row_ptr.len() - 1after the CSR is built; useful when the caller needs to size frontier bitsets before invokingbuild_ifds_csr. - round_
trip_ dense - Helper: round-trip a dense index through the packed encoding and back. Used by callers that emit findings keyed on the packed id but operate on dense indices internally.