Per-block info collected during construction for path reachability
analysis. Each block’s assignments, constants, and copy chains are
stored together so they can be read with a single index lookup.
Scan a function’s MIR and collect its per-block constant/discriminant
metadata and global source maps, remapping every MIR local l to
local_base + l. The root caller uses base 0; inlined callees use a
fresh base so their locals never collide with the caller’s in the flat
constraint maps (see PathGraph::local_bases).
Check whether the current entry→entry sub-path introduces a new block
sequence (not just new blocks). Different branch choices inside the SCC
produce different sequences even when all block IDs have already been seen,
e.g. if i % 2 == 0 { A } else { B } alternates between two paths through
the same set of blocks on successive loop iterations.