Bug 178986

Summary: [WSL] Allow functions to have multiple pointer returns
Product: WebKit Reporter: Myles C. Maxfield <mmaxfield>
Component: WebGPUAssignee: Myles C. Maxfield <mmaxfield>
Status: RESOLVED MOVED    
Severity: Normal    
Priority: P2    
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=176967
Bug Depends on:    
Bug Blocks: 176199    
Attachments:
Description Flags
WIP
none
Patch
none
Patch
none
Patch none

Myles C. Maxfield
Reported 2017-10-28 17:57:26 PDT
This is needed for anders.
Attachments
WIP (6.79 KB, patch)
2017-10-28 17:58 PDT, Myles C. Maxfield
no flags
Patch (10.28 KB, patch)
2017-10-29 17:11 PDT, Myles C. Maxfield
no flags
Patch (10.72 KB, patch)
2017-10-29 21:56 PDT, Myles C. Maxfield
no flags
Patch (19.50 KB, patch)
2017-10-30 00:09 PDT, Myles C. Maxfield
no flags
Myles C. Maxfield
Comment 1 2017-10-28 17:58:24 PDT
Myles C. Maxfield
Comment 2 2017-10-29 17:11:45 PDT
Myles C. Maxfield
Comment 3 2017-10-29 17:13:01 PDT
Comment on attachment 325305 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=325305&action=review > Tools/WebGPUShadingLanguageRI/LogicalMode.js:117 > + [Node.visit(node.value, this), Node.visit(node.argumentList[1], this)]); s/node.argumentList[1]/this._subscript.argumentList[1]/
Myles C. Maxfield
Comment 4 2017-10-29 21:56:06 PDT
Myles C. Maxfield
Comment 5 2017-10-30 00:09:17 PDT
Myles C. Maxfield
Comment 6 2018-08-29 17:14:00 PDT
This is going to be tricky. On one hand, anders are not useful if they can't have multiple pointer returns. On the other hand, multiple pointer returns naively require phi operations over pointers. So we'll have to inline the ander and see if we can remove the pointer. But, for user-created types, any arbitrary stuff can be in the ander. So, we have to specify exactly what types of transformations the compiler will perform to try to remove these pointers.
Myles C. Maxfield
Comment 7 2018-09-06 15:12:55 PDT
Seems that a policy of "anders are mostly useless, please use getters and setters instead" along with compiler optimizations is sufficient for now.
Myles C. Maxfield
Comment 8 2018-10-13 15:56:55 PDT
Note You need to log in before you can comment on or make changes to this bug.