Skip to main content

Module equality_analysis

Module equality_analysis 

Source
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§

EqualityAnalysis
Variable equality analysis.
EqualityState
State for the equality analysis, tracking variable equivalences.