[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