dawn-cmake/test/tint/bug/chromium
Ben Clayton f3f813eb0c tint: fix const eval short-circuiting with mixed runtime and constant expressions
For logical binary expressions that can be short-circuited, if the rhs
tree contained a mix of constant and runtime expressions, we would
erroneously mark the node as runtime, although some of its children were
resolved as kNotEvaluated. This would then fail during backend
generation.

This is a fork of 115820, addressing review comments, as amaiorano is OOO this week.

Bug: chromium:1403752
Bug: tint:1581
Change-Id: I18682c7fe1db092d280390881ff86b3c0db23e9b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116020
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
2023-01-04 12:30:47 +00:00
..
1221120.wgsl tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
1221120.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1221120.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1221120.wgsl.expected.glsl tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
1221120.wgsl.expected.msl tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
1221120.wgsl.expected.spvasm tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
1221120.wgsl.expected.wgsl tint: Deprecated module-scope 'let' for 'const' 2022-06-29 00:55:36 +00:00
1236161.wgsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
1236161.wgsl.expected.dxc.hlsl tint: Implement const-eval of modf 2022-11-23 00:05:05 +00:00
1236161.wgsl.expected.fxc.hlsl tint: Implement const-eval of modf 2022-11-23 00:05:05 +00:00
1236161.wgsl.expected.glsl tint: Implement const-eval of modf 2022-11-23 00:05:05 +00:00
1236161.wgsl.expected.msl tint: Implement const-eval of modf 2022-11-23 00:05:05 +00:00
1236161.wgsl.expected.spvasm tint: Implement const-eval of modf 2022-11-23 00:05:05 +00:00
1236161.wgsl.expected.wgsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
1251009.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
1251009.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1251009.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1251009.wgsl.expected.glsl tint/writer/glsl: Inline constant expressions 2022-06-01 01:11:59 +00:00
1251009.wgsl.expected.msl tint/writer/msl: Inline constant expressions 2022-06-01 10:08:29 +00:00
1251009.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
1251009.wgsl.expected.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
1273230.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
1273230.wgsl.expected.dxc.hlsl tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1273230.wgsl.expected.fxc.hlsl tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1273230.wgsl.expected.glsl Tint/transform: make AddBlockAttribute always do wrapping if possible 2022-11-02 02:25:38 +00:00
1273230.wgsl.expected.msl tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1273230.wgsl.expected.spvasm tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1273230.wgsl.expected.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
1273451.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
1273451.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1273451.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1273451.wgsl.expected.glsl tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
1273451.wgsl.expected.msl When emitting a MSL struct initializer emit the struct name. 2022-08-11 02:28:01 +00:00
1273451.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
1273451.wgsl.expected.wgsl wgsl: Separate struct members with commas 2022-03-28 14:31:22 +00:00
1290107.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
1290107.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1290107.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1290107.wgsl.expected.glsl GLSL: Change Add[Spirv]BlockAttribute to support GLSL 2022-09-02 19:19:10 +00:00
1290107.wgsl.expected.msl tint/writer/msl: Generate an array<T,N> helper 2022-06-24 17:01:59 +00:00
1290107.wgsl.expected.spvasm tint->dawn: Shuffle source tree in preperation of merging repos 2022-02-21 15:19:07 +00:00
1290107.wgsl.expected.wgsl Update src/tint unittests to new @stage format. 2022-06-07 13:55:34 +00:00
1341475.wgsl tint: transform::RemovePhonies: skip builtins with no side effects 2022-08-01 17:21:54 +00:00
1341475.wgsl.expected.dxc.hlsl tint: const eval of mix builtin 2022-12-12 15:31:21 +00:00
1341475.wgsl.expected.fxc.hlsl tint: const eval of mix builtin 2022-12-12 15:31:21 +00:00
1341475.wgsl.expected.glsl tint: const eval of mix builtin 2022-12-12 15:31:21 +00:00
1341475.wgsl.expected.msl tint: const eval of mix builtin 2022-12-12 15:31:21 +00:00
1341475.wgsl.expected.spvasm tint: const eval of mix builtin 2022-12-12 15:31:21 +00:00
1341475.wgsl.expected.wgsl tint: transform::RemovePhonies: skip builtins with no side effects 2022-08-01 17:21:54 +00:00
1343242.wgsl tint: Implement const eval of unary complement 2022-07-15 23:54:10 +00:00
1343242.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1343242.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1343242.wgsl.expected.glsl tint: Implement const eval of unary complement 2022-07-15 23:54:10 +00:00
1343242.wgsl.expected.msl tint: Implement const eval of unary complement 2022-07-15 23:54:10 +00:00
1343242.wgsl.expected.spvasm tint: Implement const eval of unary complement 2022-07-15 23:54:10 +00:00
1343242.wgsl.expected.wgsl tint: Implement const eval of unary complement 2022-07-15 23:54:10 +00:00
1345468.wgsl tint/resolver: Materialize objects when indexed with non-const index 2022-07-21 15:25:35 +00:00
1345468.wgsl.expected.dxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1345468.wgsl.expected.fxc.hlsl tint/test-runner: Split expectations for FXC and DXC 2022-07-22 17:43:27 +00:00
1345468.wgsl.expected.glsl tint/resolver: Materialize objects when indexed with non-const index 2022-07-21 15:25:35 +00:00
1345468.wgsl.expected.msl tint/resolver: Materialize objects when indexed with non-const index 2022-07-21 15:25:35 +00:00
1345468.wgsl.expected.spvasm tint/resolver: Materialize objects when indexed with non-const index 2022-07-21 15:25:35 +00:00
1345468.wgsl.expected.wgsl tint/resolver: Materialize objects when indexed with non-const index 2022-07-21 15:25:35 +00:00
1350147.wgsl tint: fix builtin calls and binary ops with abstract args of different type 2022-08-10 20:01:17 +00:00
1350147.wgsl.expected.dxc.hlsl tint: fix builtin calls and binary ops with abstract args of different type 2022-08-10 20:01:17 +00:00
1350147.wgsl.expected.fxc.hlsl tint: fix builtin calls and binary ops with abstract args of different type 2022-08-10 20:01:17 +00:00
1350147.wgsl.expected.glsl tint: fix builtin calls and binary ops with abstract args of different type 2022-08-10 20:01:17 +00:00
1350147.wgsl.expected.msl tint: fix builtin calls and binary ops with abstract args of different type 2022-08-10 20:01:17 +00:00
1350147.wgsl.expected.spvasm tint: fix builtin calls and binary ops with abstract args of different type 2022-08-10 20:01:17 +00:00
1350147.wgsl.expected.wgsl wgsl: Print abstract-floats with full precision. 2022-10-12 19:13:38 +00:00
1360925.wgsl tint: Fix transform errors when calling arrayLength() as a statement 2022-09-09 20:42:29 +00:00
1360925.wgsl.expected.dxc.hlsl tint: Fix transform errors when calling arrayLength() as a statement 2022-09-09 20:42:29 +00:00
1360925.wgsl.expected.fxc.hlsl tint: Fix transform errors when calling arrayLength() as a statement 2022-09-09 20:42:29 +00:00
1360925.wgsl.expected.glsl tint: Fix transform errors when calling arrayLength() as a statement 2022-09-09 20:42:29 +00:00
1360925.wgsl.expected.msl tint: Fix transform errors when calling arrayLength() as a statement 2022-09-09 20:42:29 +00:00
1360925.wgsl.expected.spvasm tint: Fix transform errors when calling arrayLength() as a statement 2022-09-09 20:42:29 +00:00
1360925.wgsl.expected.wgsl tint: Fix transform errors when calling arrayLength() as a statement 2022-09-09 20:42:29 +00:00
1367602_function_space_initializer_valid_count.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_initializer_valid_count.wgsl.expected.dxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_initializer_valid_count.wgsl.expected.fxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_initializer_valid_count.wgsl.expected.glsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_initializer_valid_count.wgsl.expected.msl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_initializer_valid_count.wgsl.expected.spvasm Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_initializer_valid_count.wgsl.expected.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl.expected.dxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl.expected.fxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl.expected.glsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl.expected.msl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl.expected.spvasm Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_function_space_no_initializer_valid_count.wgsl.expected.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl.expected.dxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl.expected.fxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl.expected.glsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl.expected.msl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl.expected.spvasm Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_initializer_valid_count.wgsl.expected.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl.expected.dxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl.expected.fxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl.expected.glsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl.expected.msl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl.expected.spvasm Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_private_space_no_initializer_valid_count.wgsl.expected.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_storage_space.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_storage_space.wgsl.expected.dxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_storage_space.wgsl.expected.fxc.hlsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_storage_space.wgsl.expected.glsl Tint/transform: make AddBlockAttribute always do wrapping if possible 2022-11-02 02:25:38 +00:00
1367602_storage_space.wgsl.expected.msl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1367602_storage_space.wgsl.expected.spvasm Tint/transform: make AddBlockAttribute always do wrapping if possible 2022-11-02 02:25:38 +00:00
1367602_storage_space.wgsl.expected.wgsl Tint/E2E: Fix testcases for bug/chromium/1367602 2022-10-14 02:50:38 +00:00
1372963.wgsl tint: Fix C++ UB when shifting abstract 0 left by >= 64 2022-10-18 20:17:55 +00:00
1372963.wgsl.expected.dxc.hlsl tint: Fix C++ UB when shifting abstract 0 left by >= 64 2022-10-18 20:17:55 +00:00
1372963.wgsl.expected.fxc.hlsl tint: Fix C++ UB when shifting abstract 0 left by >= 64 2022-10-18 20:17:55 +00:00
1372963.wgsl.expected.glsl tint: Fix C++ UB when shifting abstract 0 left by >= 64 2022-10-18 20:17:55 +00:00
1372963.wgsl.expected.msl tint: Fix C++ UB when shifting abstract 0 left by >= 64 2022-10-18 20:17:55 +00:00
1372963.wgsl.expected.spvasm tint: Fix C++ UB when shifting abstract 0 left by >= 64 2022-10-18 20:17:55 +00:00
1372963.wgsl.expected.wgsl Update lexer to not include `-` in numbers. 2022-10-26 15:20:47 +00:00
1381883.wgsl tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1381883.wgsl.expected.dxc.hlsl tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1381883.wgsl.expected.fxc.hlsl tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1381883.wgsl.expected.glsl tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1381883.wgsl.expected.msl tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1381883.wgsl.expected.spvasm tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1381883.wgsl.expected.wgsl tint/resolver: Resolve dependencies of parameter attributes 2022-11-07 13:15:21 +00:00
1383755.wgsl tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1383755.wgsl.expected.dxc.hlsl tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1383755.wgsl.expected.fxc.hlsl tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1383755.wgsl.expected.glsl tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1383755.wgsl.expected.msl tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1383755.wgsl.expected.spvasm tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1383755.wgsl.expected.wgsl tint/resolver: Fix bad pointer deref (UAF) 2022-11-13 18:26:25 +00:00
1386647.wgsl tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1386647.wgsl.expected.dxc.hlsl tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1386647.wgsl.expected.fxc.hlsl tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1386647.wgsl.expected.glsl tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1386647.wgsl.expected.msl tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1386647.wgsl.expected.spvasm tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1386647.wgsl.expected.wgsl tint/transform: Fix ICE when combining polyfills 2022-11-21 17:11:05 +00:00
1395241.wgsl tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1395241.wgsl.expected.dxc.hlsl tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1395241.wgsl.expected.fxc.hlsl tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1395241.wgsl.expected.glsl tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1395241.wgsl.expected.msl tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1395241.wgsl.expected.spvasm tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1395241.wgsl.expected.wgsl tint: fix signed overflow in const eval modulo 2022-12-05 17:16:15 +00:00
1403752.wgsl tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1403752.wgsl.expected.dxc.hlsl tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1403752.wgsl.expected.fxc.hlsl tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1403752.wgsl.expected.glsl tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1403752.wgsl.expected.msl tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1403752.wgsl.expected.spvasm tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00
1403752.wgsl.expected.wgsl tint: fix const eval short-circuiting with mixed runtime and constant expressions 2023-01-04 12:30:47 +00:00