Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More HIR lowering #548

Merged
merged 18 commits into from
Jun 9, 2023
Merged

More HIR lowering #548

merged 18 commits into from
Jun 9, 2023

Conversation

udoprog
Copy link
Collaborator

@udoprog udoprog commented Jun 7, 2023

This sets the groundwork for performing variable tracking during HIR lowering as well, which will help with future SSA construction.

Context has been moved as a reference into Query, which greatly simplified a lot of things.

@udoprog udoprog added the enhancement New feature or request label Jun 7, 2023
@udoprog
Copy link
Collaborator Author

udoprog commented Jun 9, 2023

Managed to move capture analysis to the lowering phase, which removeds a long standing issue. Since indexing doesn't have access to metadata (it can't, because metadata visibliity requires indexing to complete!) it can't distinguish between local variables and meta. We've previously "fuzzed" this by saying that anything that looks like a variable during indexing (has a declaration and is a limited path) is captured. However, this can't follow the same behavior as the rest of the program.

Now since it's a part of lowering, variable:ness decisions are made consistently regardless of where it's done.

@udoprog udoprog merged commit 267cef1 into main Jun 9, 2023
@udoprog udoprog deleted the more-hir branch June 9, 2023 13:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant