Adding contexts can exponentially blow up code size now that conditionals do not have regions.
This PR fixes that problem on the rust side by only adding context up to RVSDG region boundaries.
We'll have to be much more careful on the egglog side- this will be fixed in a follow on PR.
This PR also fixes the typechecker to type check context nodes, now that typechecking happens after the translation.
Adding contexts can exponentially blow up code size now that conditionals do not have regions. This PR fixes that problem on the rust side by only adding context up to RVSDG region boundaries. We'll have to be much more careful on the egglog side- this will be fixed in a follow on PR.
This PR also fixes the typechecker to type check context nodes, now that typechecking happens after the translation.