Expand description
Equality analysis for lowered IR.
This module tracks semantic equivalence between variables as information flows through the
program. Two variables are equivalent if they hold the same value. Additionally, the analysis
tracks Box/unbox, snapshot/desnap, struct construct, and array construct relationships between
equivalence classes via unified forward/reverse maps. Structs track every field; arrays track
a bounded number of trailing elements behind a placeholder for the forgotten prefix (see
ArrayItems) — array pop operations act as destructures on the array relation.
Structs§
- Equality
Analysis - Variable equality analysis.
- Equality
State - State for the equality analysis, tracking variable equivalences.