dawn-cmake/test/tint/access/var
Ben Clayton 2f9a98870e tint: Implement sem::Load
The resolver now wraps sem::Expression objects with a sem::Load object
anywhere that the load rule is invoked. sem::Expression provides an
`UnwrapLoad()` method that returns the inner expression (or
passthrough, if no load is present), which is analaguous to
Type::UnwrapRef().

The logic for alias analysis in `RegisterLoadIfNeeded` has been folded
into the new `Resolver::Load` method.

Fixed up many transforms and tests. The only difference in output is
for a single SPIR-V backend test, where some IDs have changed due to
slight re-ordering of when expressions are generated.

There may be further clean-ups possible (e.g. removing unnecessary
calls to `UnwrapRef`, and simplifying places in the SPIR-V writer or
transforms that deal with memory accesses), but these can be addressed
in future patches.

Fixed: tint:1654
Change-Id: I69adecfe9251faae46546b64d0cdc29eea26cd4e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/99706
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2022-12-17 02:20:04 +00:00
..
matrix.spvasm
matrix.spvasm.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
matrix.spvasm.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
matrix.spvasm.expected.glsl tint/writer/glsl: Inline constant expressions 2022-06-01 01:11:59 +00:00
matrix.spvasm.expected.msl tint/writer/msl: Inline constant expressions 2022-06-01 10:08:29 +00:00
matrix.spvasm.expected.spvasm
matrix.spvasm.expected.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
matrix.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
matrix.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
matrix.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
matrix.wgsl.expected.glsl
matrix.wgsl.expected.msl
matrix.wgsl.expected.spvasm
matrix.wgsl.expected.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
vector.spvasm
vector.spvasm.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
vector.spvasm.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
vector.spvasm.expected.glsl tint/writer/glsl: Inline constant expressions 2022-06-01 01:11:59 +00:00
vector.spvasm.expected.msl tint/writer/msl: Inline constant expressions 2022-06-01 10:08:29 +00:00
vector.spvasm.expected.spvasm
vector.spvasm.expected.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
vector.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
vector.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
vector.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
vector.wgsl.expected.glsl
vector.wgsl.expected.msl
vector.wgsl.expected.spvasm tint: Implement sem::Load 2022-12-17 02:20:04 +00:00
vector.wgsl.expected.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00