SPIRV-Tools/test/val
Steven Perron ae1826154e
Validate uses of ids defined in unreachable blocks. (#2146)
* Validate uses of ids defined in unreachable blocks.

For some reason we do not make sure the uses of ids that are defined
in unreachable blocks are dominated by their def.  This is causing
invalid code to pass the validator.

Fixes #2143

* Add test for unreachable code after a return.

We want to allow code like:

```
void foo() {
  a = ...;
  ...
    return; // for debugging
  <use of a>;
  ...
}
```

I added a test to make sure that something like this is still accepted
by the validator.

* Add test for unreachable def used in phi.
2018-12-03 12:49:27 -05:00
..
CMakeLists.txt Validate variable types for UniformConstant storage in Vulkan (#2008) (#2044) 2018-11-14 15:00:03 -05:00
pch_test_val.cpp Enable precompiled headers for spirv-tools(-shared) and some unit tests (#2026) 2018-11-06 09:26:23 -05:00
pch_test_val.h Enable precompiled headers for spirv-tools(-shared) and some unit tests (#2026) 2018-11-06 09:26:23 -05:00
val_adjacency_test.cpp Validator: function scope variable at start of entry block #1923 2018-10-04 15:05:47 -04:00
val_arithmetics_test.cpp Strict validation of where type ids are acceptable (#2142) 2018-12-03 11:03:52 -05:00
val_atomics_test.cpp Strict validation of where type ids are acceptable (#2142) 2018-12-03 11:03:52 -05:00
val_barriers_test.cpp Strict validation of where type ids are acceptable (#2142) 2018-12-03 11:03:52 -05:00
val_bitwise_test.cpp Add validation for execution modes 2018-10-02 10:22:23 -04:00
val_builtins_test.cpp Add precise check for allowing use of gl_InstanceID for specific vulkan raytracing stages . (#2096) 2018-11-27 08:35:29 -05:00
val_capability_test.cpp Restrict capabilities to WebGPU spec (#2113) 2018-11-27 09:39:37 -05:00
val_cfg_test.cpp Checks for variable pointers (#1976) 2018-10-16 14:57:55 -04:00
val_composites_test.cpp Strict validation of where type ids are acceptable (#2142) 2018-12-03 11:03:52 -05:00
val_conversion_test.cpp Strict validation of where type ids are acceptable (#2142) 2018-12-03 11:03:52 -05:00
val_data_test.cpp Validator: FPRoundingMode decoration (#1482) 2018-10-05 13:33:03 -04:00
val_decoration_test.cpp Validate PushConstants annotation and type (#2140) 2018-11-30 13:12:05 -05:00
val_derivatives_test.cpp Strict validation of where type ids are acceptable (#2142) 2018-12-03 11:03:52 -05:00
val_explicit_reserved_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
val_ext_inst_test.cpp Strict validation of where type ids are acceptable (#2142) 2018-12-03 11:03:52 -05:00
val_extensions_test.cpp Change handling of unknown extentions in validtor. (#1951) 2018-10-03 15:59:40 -04:00
val_fixtures.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
val_id_test.cpp Validate uses of ids defined in unreachable blocks. (#2146) 2018-12-03 12:49:27 -05:00
val_image_test.cpp Strict validation of where type ids are acceptable (#2142) 2018-12-03 11:03:52 -05:00
val_interfaces_test.cpp Add validation for execution modes 2018-10-02 10:22:23 -04:00
val_layout_test.cpp Add validation for execution modes 2018-10-02 10:22:23 -04:00
val_limits_test.cpp Remove long running cfg limit test. 2018-11-19 21:46:07 -05:00
val_literals_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
val_logicals_test.cpp Add validation for execution modes 2018-10-02 10:22:23 -04:00
val_memory_test.cpp Strict validation of where type ids are acceptable (#2142) 2018-12-03 11:03:52 -05:00
val_modes_test.cpp Validator: TaskNV can use LocalSize or LocalSizeId (#1970) 2018-10-12 08:54:52 -04:00
val_non_uniform_test.cpp Add validation for execution modes 2018-10-02 10:22:23 -04:00
val_primitives_test.cpp Add validation for execution modes 2018-10-02 10:22:23 -04:00
val_ssa_test.cpp Ensure for OpVariable that result type and storage class operand agree (#2052) 2018-11-16 11:22:11 -05:00
val_state_test.cpp Change handling of unknown extentions in validtor. (#1951) 2018-10-03 15:59:40 -04:00
val_storage_test.cpp Ensure for OpVariable that result type and storage class operand agree (#2052) 2018-11-16 11:22:11 -05:00
val_type_unique_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
val_validation_state_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
val_version_test.cpp Ensure correct Addressing and Memory model set for WebGPU (#2093) 2018-11-21 16:41:59 -05:00
val_webgpu_test.cpp Ensure that only whitelisted extensions are used in WebGPU (#2127) 2018-11-28 10:49:05 -05:00