-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[wgsl-in] Implement template list discovery and handle all type resolution in the lowerer #8386
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
base: trunk
Are you sure you want to change the base?
Conversation
9c99aa1 to
d4b4df4
Compare
|
I can take review here - I've been looking into this for a long time. |
|
So far I've reviewed the following commits and they all look fine: |
5f4abe6 to
13a9c1b
Compare
|
I removed the last commit that was adding a CTS test since it wasn't passing due to unrelated reasons and pushed 2 more commits to fix the issues CI surfaced. |
They could but that would be lots of separate PRs to file and orchestrate since I think some of them depend on others. I could open a PR just with the refactor commits but then this PR would need to depend on that new one. Let me know. |
jimblandy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All the refactoring changes up to 4ebbc67df * implement template list discovery look good. I think there's a bug in the TLD code itself.
|
I pushed a version of this that is rebased on top of #7339 to https://github.com/andyleiserson/wgpu/commits/tld-rebased. The last commit resolves a semantic merge conflict with #7339. There were also merge conflicts with trunk in 314ba9b and cf9e111 that I resolved, and there is a merge conflict with #8545 that I was less sure how to handle (that change adds enable extension checks that need to be relocated somewhere else following the template list discovery changes). |
…ble_updating_statement`
|
@andyleiserson thanks for tracking the changes! I pushed a fully rebased version. |
also fixes spans in some cases
This improves errors making them more general where appropriate.
Connections
Resolves #4501.
Resolves #4406.
Resolves #4405.
Description
Almost all commits prior to
implement template list discoveryare refactors to get the frontend to look more similar to the spec and to make the needed changes easier to implement (most notably making theTokenizerno longer implClone).The template list discovery implementation differs from the spec only in structure (not in behavior) since we can do it lazily after tokenization.
The last 3 substantial commits move all type resolution to the lowerer since all identifiers that are part of types need to be resolved the same as all other identifiers.
Testing
Changed existing tests and added new ones.
Squash or Rebase?
Rebase.