julia
94ae0ace - inference: track reaching defs for slots (#55601)

Commit
1 day ago
inference: track reaching defs for slots (#55601) This PR implements the "Path-Convergence Criterion" for SSA / ϕ-nodes as part of type-inference. The `VarState.ssadef` field corresponds to the "reaching definition" of the slot in SSA form, which allows us to conveniently reason about the identity of a `slot` across multiple program points. If the reaching def is equal at two program points, then the slot contents are guaranteed to be egal (i.e. `x₀ === x₁`) Fixes #55548 (alternative to https://github.com/JuliaLang/julia/pull/55551), by having `Conditional` remember the reaching definition that it narrows.
Author
Loading