Expand description
Exploded-supergraph (IFDS encoding) substrate consumer.
Wires the primitive-owned exploded-supergraph reference builder (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.
Structs§
- Ifds
CsrGpu Scratch - Caller-owned GPU dispatch scratch for exploded IFDS CSR construction.
Functions§
- build_
ifds_ csr_ via - GPU dispatch wrapper around [
reference_build_ifds_csr]. - build_
ifds_ csr_ via_ into - GPU dispatch wrapper around [
reference_build_ifds_csr] into caller-owned CSR buffers. - build_
ifds_ csr_ via_ with_ scratch_ into - GPU dispatch wrapper around [
reference_build_ifds_csr] into caller-owned dispatch scratch and CSR buffers. - 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 invokingreference_build_ifds_csr. - reference_
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. - reference_
canonicalize_ csr_ within_ rows - Sort each row’s column indices in ascending order. Pure CPU helper used by parity tests to compare CSRs whose row contents may have been emitted in different orders by parallel kernels.
- 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.
- try_
reference_ build_ ifds_ csr - Fallible exploded-supergraph CPU reference wrapper.