| Summary: | [WHLSL] Ensure that isLValue is copied by the rewriter | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Thomas Denney <tdenney> | ||||||
| Component: | WebGPU | Assignee: | Thomas Denney <tdenney> | ||||||
| Status: | RESOLVED FIXED | ||||||||
| Severity: | Normal | CC: | commit-queue, dino, mmaxfield, webkit-bug-importer | ||||||
| Priority: | P2 | Keywords: | InRadar | ||||||
| Version: | WebKit Nightly Build | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Bug Depends on: | |||||||||
| Bug Blocks: | 176199, 187735 | ||||||||
| Attachments: |
|
||||||||
|
Description
Thomas Denney
2018-08-29 09:42:13 PDT
Created attachment 348403 [details]
Patch
Created attachment 348405 [details]
Patch
Comment on attachment 348405 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=348405&action=review > Tools/WebGPUShadingLanguageRI/Test.js:275 > + function ternaryExpressionIsLValue(node) > + { > + let isLValue; > + class TernaryExpressionVisitor extends Visitor { > + visitTernaryExpression(node) > + { > + isLValue = node.isLValue; > + } > + } > + node.visit(new TernaryExpressionVisitor()); > + return isLValue; > + } This is an unfortunate test, because it doesn't describe anything user-visible. Are you sure there's no way this bug is visible without using compiler internals? Comment on attachment 348405 [details]
Patch
The last place that isLValue gets read in the interpreter is inside Checker, however after that has completed the entire program is rewritten using Inliner, which is a subclass of Rewriter.
Comment on attachment 348405 [details] Patch Clearing flags on attachment: 348405 Committed r235470: <https://trac.webkit.org/changeset/235470> All reviewed patches have been landed. Closing bug. Migrated to https://github.com/gpuweb/WHLSL/issues/73 |