Skip to content

Conversation

@CAG2Mark
Copy link
Contributor

@CAG2Mark CAG2Mark commented Dec 19, 2025

A long overdue refactor of the lifter and support for scopes. This will probably take a while.

I also plan on doing the following:

  • The data structure used to store certain data about the functions uses space that is quadratic in the nesting depth anyway, so I will probably try to implement a more precise analysis on which variables are required by which functions. This analysis will take quadratic time. The lifting itself will still only rewrite the IR blocks O(1) times.
  • Separate lifting into two passes: rewriting definitions to be independent of their current scope, and the actual lifting. I vaguely recall we wanted to only do the first pass at some point, so the ability to turn the "physical" lifting off may be useful.

@CAG2Mark CAG2Mark marked this pull request as draft December 19, 2025 17:29
@CAG2Mark CAG2Mark self-assigned this Dec 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants