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

Teach compiler about partitioned bindings #56299

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Keno
Copy link
Member

@Keno Keno commented Oct 23, 2024

This commit teaches to compiler to update its world bounds whenever it looks at a binding partition, making the compiler sound in the presence of a partitioned binding. The key adjustment is that the compiler is no longer allowed to directly query the binding table without recording the world bounds, so all the various abstract evaluations that look at bindings need to be adjusted and are no longer pure tfuncs. We used to look at bindings a lot more, but thanks to earlier prep work to remove unnecessary binding-dependent code (#55288, #55289 and #55271), these changes become relatively straightforward.

Note that as before, we do not create any binding partitions by default, so this commit is mostly preperatory.

This commit teaches to compiler to update its world bounds whenever
it looks at a binding partition, making the compiler sound in the
presence of a partitioned binding. The key adjustment is that the
compiler is no longer allowed to directly query the binding table
without recording the world bounds, so all the various abstract
evaluations that look at bindings need to be adjusted and are no
longer pure tfuncs. We used to look at bindings a lot more, but
thanks to earlier prep work to remove unnecessary binding-dependent
code (#55288, #55289 and #55271), these changes become relatively
straightforward.

Note that as before, we do not create any binding partitions by
default, so this commit is mostly preperatory.
Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com>
@Keno Keno added compiler:inference Type inference and removed compiler:interpreter labels Oct 23, 2024
@vtjnash vtjnash added the needs nanosoldier run This PR should have benchmarks run on it label Oct 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:inference Type inference needs nanosoldier run This PR should have benchmarks run on it
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants