[webkit-changes] [WebKit/WebKit] 7279ca: [WGSL] Update argument types after overload resolu...
Tadeu Zagallo
noreply at github.com
Mon Apr 10 19:03:32 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7279cacdca96ff523fdeaf956a2f177b46fc2e20
https://github.com/WebKit/WebKit/commit/7279cacdca96ff523fdeaf956a2f177b46fc2e20
Author: Tadeu Zagallo <tzagallo at apple.com>
Date: 2023-04-10 (Mon, 10 Apr 2023)
Changed paths:
M Source/WTF/wtf/UniqueRef.h
M Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp
M Source/WebGPU/WGSL/Overload.cpp
M Source/WebGPU/WGSL/Overload.h
M Source/WebGPU/WGSL/TypeCheck.cpp
M Source/WebGPU/WGSL/tests/invalid/overload.wgsl
M Source/WebGPU/WGSL/tests/valid/concretization.wgsl
Log Message:
-----------
[WGSL] Update argument types after overload resolution
https://bugs.webkit.org/show_bug.cgi?id=255049
rdar://107676263
Reviewed by Myles C. Maxfield.
Overload resolution might result in argument concretization, in which case we
need to propagate that information back to the arguments. We fix that by making
the overload resolution return not only the result type, but also the resolved
type for all the arguments.
* Source/WTF/wtf/UniqueRef.h:
(WTF::UniqueRef::operator*):
(WTF::UniqueRef::operator* const):
* Source/WebGPU/WGSL/Metal/MetalFunctionWriter.cpp:
(WGSL::Metal::FunctionDefinitionWriter::visit):
* Source/WebGPU/WGSL/Overload.cpp:
(WGSL::OverloadResolver::resolve):
(WGSL::OverloadResolver::considerCandidate):
(WGSL::resolveOverloads):
* Source/WebGPU/WGSL/Overload.h:
* Source/WebGPU/WGSL/TypeCheck.cpp:
(WGSL::TypeChecker::visit):
(WGSL::TypeChecker::chooseOverload):
* Source/WebGPU/WGSL/tests/valid/concretization.wgsl: Added.
Canonical link: https://commits.webkit.org/262799@main
More information about the webkit-changes
mailing list