SPIRV-Tools/test
Alastair Donaldson 983b5b4fcc
spirv-fuzz: Use validator to check break/continue dominance conditions (#3089)
The passes that add dead breaks and continues suffer from the
challenge that a new control flow graph edge can change dominance
information, leading to the potenital for definitions to no longer
dominate their uses.  The attempt at guarding against this was known
to be incomplete.  This change calls on the SPIR-V validator to do the
necessary checking: in deciding whether adding such an edge would be
legitimate, we clone the module, add the edge, and use the validator
to check whether the transformed clone is valid.

This strategy is heavy-weight, and should be used sparingly, but seems
like a good option when the validity of transformations is intricate,
to avoid reimplementing swathes of validation logic in the fuzzer.

Fixes #2919.
2019-12-06 16:38:17 +00:00
..
fuzz spirv-fuzz: Use validator to check break/continue dominance conditions (#3089) 2019-12-06 16:38:17 +00:00
fuzzers Add missing dealloc (#3061) 2019-11-20 10:38:35 -05:00
link Remove useless semi-colons (#2789) 2019-08-12 08:52:39 -04:00
opt Permit the debug instructions in WebGPU SPIR-V - remove from the optimizer (#3083) 2019-12-03 11:21:26 -05:00
reduce Validate nested constructs (#3068) 2019-11-27 16:45:57 -05:00
scripts Remove unneeded future imports (#2739) 2019-07-24 15:29:38 -04:00
tools Improve RegisterSizePasses (#3059) 2019-11-27 09:41:50 -05:00
util Support constant-folding UConvert and SConvert (#2960) 2019-10-16 16:29:55 -04:00
val WebGPU: Array size at most max signed int + 1 (#3077) 2019-12-03 11:55:28 -05:00
assembly_context_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
assembly_format_test.cpp Assembler: Can't set an ID in instruction without result ID (#2852) 2019-09-11 13:15:25 -04:00
binary_destroy_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary_endianness_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary_header_get_test.cpp Update SPIR-V binary header test for SPIR-V 1.5 (#2967) 2019-10-15 18:29:10 +01:00
binary_parse_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
binary_strnlen_s_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary_to_text_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
binary_to_text.literal_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
c_interface_test.cpp Assembler: Can't set an ID in instruction without result ID (#2852) 2019-09-11 13:15:25 -04:00
CMakeLists.txt Add "split block" transformation. (#2633) 2019-05-29 16:42:46 +01:00
comment_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
cpp_interface_test.cpp [val] Fixup id name output (#2158) 2018-12-03 17:01:30 -05:00
diagnostic_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
enum_set_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
enum_string_mapping_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
ext_inst.debuginfo_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
ext_inst.glsl_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
ext_inst.opencl_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
fix_word_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
generator_magic_number_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
hex_float_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
immediate_int_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
libspirv_macros_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
log_test.cpp Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
name_mapper_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
named_id_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
opcode_make_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode_require_capabilities_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
opcode_split_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode_table_get_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
operand_capabilities_test.cpp SPIRV-Tools support for SPIR-V 1.5 (#2865) 2019-09-13 14:59:02 -04:00
operand_pattern_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
operand_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
operand-class-test-coverage.csv Fix operand class test coverage table. 2016-09-23 11:58:25 -04:00
parse_number_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
pch_test.cpp Enable precompiled headers for spirv-tools(-shared) and some unit tests (#2026) 2018-11-06 09:26:23 -05:00
pch_test.h Enable precompiled headers for spirv-tools(-shared) and some unit tests (#2026) 2018-11-06 09:26:23 -05:00
preserve_numeric_ids_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
software_version_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
string_utils_test.cpp Move utils/ to spvtools::utils 2018-07-06 16:47:46 -04:00
target_env_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
test_fixture.h Fix leaks in tests (#2295) 2019-01-16 16:53:10 -05:00
text_advance_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_destroy_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_literal_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_start_new_inst_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_to_binary.annotation_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
text_to_binary.barrier_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.composite_test.cpp Support SPIR-V 1.4 (#2550) 2019-05-07 12:27:18 -04:00
text_to_binary.constant_test.cpp Assembler: Can't set an ID in instruction without result ID (#2852) 2019-09-11 13:15:25 -04:00
text_to_binary.control_flow_test.cpp Assembler: Can't set an ID in instruction without result ID (#2852) 2019-09-11 13:15:25 -04:00
text_to_binary.debug_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
text_to_binary.device_side_enqueue_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_to_binary.extension_test.cpp SPIRV-Tools support for SPIR-V 1.5 (#2865) 2019-09-13 14:59:02 -04:00
text_to_binary.function_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_to_binary.group_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_to_binary.image_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_to_binary.literal_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.memory_test.cpp SPIRV-Tools support for SPIR-V 1.5 (#2865) 2019-09-13 14:59:02 -04:00
text_to_binary.misc_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.mode_setting_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
text_to_binary.pipe_storage_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.reserved_sampling_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.subgroup_dispatch_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.type_declaration_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
text_word_get_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
timer_test.cpp Remove extra semis (#2717) 2019-07-08 15:07:36 -04:00
unit_spirv.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
unit_spirv.h Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00