You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix sort mismatches in Theta and Gamma term construction
Theta construction used (Const 1) as condition (IntExpr) but all
Theta variants require BoolExpr. Also used untyped Theta with typed
body terms and hardcoded (Const 0) init for all types.
Fix: use typed Theta (ThetaI/ThetaF/ThetaB/Theta) matching the
value's SPIR-V type class, with (BoolConst 1) condition and
type-appropriate init value, referencing id{N} instead of raw term.
Gamma construction determined type class from only the then-branch
value but created Gamma for all pairs of then/else block IDs. When
values had different types, the typed Gamma would crash the egraph.
Fix: check both branch value type classes and skip mismatched pairs.
Move branch_value_pairs.push after the type check to avoid trying
to extract gamma variables that were never created.
0 commit comments