[webkit-changes] [WebKit/WebKit] 855f8d: [WGSL] Constant rewriter should handle shadowing

Tadeu Zagallo noreply at github.com
Tue Jun 6 23:48:30 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 855f8d34596ce76104a6e39ff7bec126130fe1ce
      https://github.com/WebKit/WebKit/commit/855f8d34596ce76104a6e39ff7bec126130fe1ce
  Author: Tadeu Zagallo <tzagallo at apple.com>
  Date:   2023-06-06 (Tue, 06 Jun 2023)

  Changed paths:
    M Source/WebGPU/WGSL/ConstantRewriter.cpp
    M Source/WebGPU/WGSL/tests/lit.cfg
    A Source/WebGPU/WGSL/tests/valid/shadowing.wgsl

  Log Message:
  -----------
  [WGSL] Constant rewriter should handle shadowing
https://bugs.webkit.org/show_bug.cgi?id=257718
rdar://110266026

Reviewed by Myles C. Maxfield.

The constant rewriter currently only looks into constant declarations, but it
also needs to look at other definitions in order to account for shadowing.
E.g.

const x = 1; { let x = 2; f(x); }

Incorrectly gets rewritten into:

const x = 1; { let x = 2; f(1); }

The patch introduces fairly extensive tests for different kinds of shadowing.

* Source/WebGPU/WGSL/ConstantRewriter.cpp:
(WGSL::ConstantRewriter::rewrite):
(WGSL::ConstantRewriter::visit):
* Source/WebGPU/WGSL/tests/lit.cfg:
* Source/WebGPU/WGSL/tests/valid/shadowing.wgsl: Added.

Canonical link: https://commits.webkit.org/264926@main




More information about the webkit-changes mailing list