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

Refactor irinterp refinement logic #50155

Merged
merged 1 commit into from
Jun 13, 2023
Merged

Refactor irinterp refinement logic #50155

merged 1 commit into from
Jun 13, 2023

Conversation

Keno
Copy link
Member

@Keno Keno commented Jun 13, 2023

This continues the refactoring begun by #49340 to have irinterp consume the IR_FLAG_REFINED flag. This essentially has the same effect as the extra_reprocess bitset that irinterp takes, so we can remove that. However, there is a related issue where we would like to inform irinterp that we have already refined the type of a particular statement (likely using information not available to the irinterp) and would like it to just propagate that if possible. So bring back that extra bitset with a new name and these new semantics to make that possible.

While I was working on this, I also noticed that the control hook I added in #48199 wasn't quite working as advertised. I don't currently need it, so rather than trying to work through an API without a concrete consumer, just nuke that hook for now. I do still think it'll be required at some point, but we can always add it back.

This continues the refactoring begun by #49340 to have irinterp
consume the IR_FLAG_REFINED flag. This essentially has the same
effect as the extra_reprocess bitset that irinterp takes, so
we can remove that. However, there is a related issue where we
would like to inform irinterp that we have *already* refined
the type of a particular statement (likely using information
not available to the irinterp) and would like it to just
propagate that if possible. So bring back that extra bitset
with a new name and these new semantics to make that possible.

While I was working on this, I also noticed that the control
hook I added in #48199 wasn't quite working as advertised.
I don't currently need it, so rather than trying to work
through an API without a concrete consumer, just nuke that
hook for now. I do still think it'll be required at some
point, but we can always add it back.
@Keno Keno merged commit 9d839f9 into master Jun 13, 2023
@Keno Keno deleted the kf/irinterprefine branch June 13, 2023 17:25
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