egraphs-good / eggcc

MIT License
51 stars 11 forks source link

Add context during RVSDG->DAG translation, avoiding code size blowup #441

Closed oflatt closed 7 months ago

oflatt commented 7 months ago

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.