SPIRV-Tools/test/fuzz
Alastair Donaldson 521223b70a
spirv-fuzz: Make functions "livesafe" during donation (#3146)
This change allows the generator to (optionally and at random) make
the functions of a module "livesafe" during donation. This involves
introducing a loop limiter variable to each function and gating the
number of total loop iterations for the function using that variable.
It also involves eliminating OpKill and OpUnreachable instructions
(changing them to OpReturn/OpReturnValue), and clamping access chain
indices so that they are always in-bounds.
2020-01-29 15:52:31 +00:00
..
CMakeLists.txt spirv-fuzz: add dead blocks (#3135) 2020-01-13 22:04:01 +00:00
data_synonym_transformation_test.cpp spirv-fuzz: simplify transformation for replacing an id with a synonym (#3020) 2019-11-07 16:19:06 +00:00
equivalence_relation_test.cpp spirv-fuzz: make equivalence classes deterministic (#3011) 2019-11-05 15:34:05 +00:00
fact_manager_test.cpp spirv-fuzz: better computation of data synonym facts (#3010) 2019-11-05 16:45:14 +00:00
fuzz_test_util.cpp spirv-fuzz: add dead blocks (#3135) 2020-01-13 22:04:01 +00:00
fuzz_test_util.h spirv-fuzz: Improve debugging facilities (#3074) 2019-11-27 18:05:56 +00:00
fuzzer_pass_add_useful_constructs_test.cpp Represent uniform facts via descriptor set and binding. (#2681) 2019-06-19 20:45:14 +01:00
fuzzer_pass_donate_modules_test.cpp spirv-fuzz: Make functions "livesafe" during donation (#3146) 2020-01-29 15:52:31 +00:00
fuzzer_replayer_test.cpp spirv-fuzz: Add fuzzer pass to perform module donation (#3117) 2020-01-07 08:39:55 +00:00
fuzzer_shrinker_test.cpp spirv-fuzz: Add fuzzer pass to perform module donation (#3117) 2020-01-07 08:39:55 +00:00
instruction_descriptor_test.cpp spirv-fuzz: fuzzer pass to adjust memory access operands (#2968) 2019-10-22 18:05:35 +01:00
transformation_add_constant_boolean_test.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_constant_composite_test.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_constant_scalar_test.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_dead_block_test.cpp spirv-fuzz: add dead blocks (#3135) 2020-01-13 22:04:01 +00:00
transformation_add_dead_break_test.cpp spirv-fuzz: Make functions "livesafe" during donation (#3146) 2020-01-29 15:52:31 +00:00
transformation_add_dead_continue_test.cpp spirv-fuzz: Use validator to check break/continue dominance conditions (#3089) 2019-12-06 16:38:17 +00:00
transformation_add_function_test.cpp spirv-fuzz: Make functions "livesafe" during donation (#3146) 2020-01-29 15:52:31 +00:00
transformation_add_global_undef_test.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_global_variable_test.cpp spirv-fuzz: Always add new globals to entry point interfaces (#3113) 2019-12-19 21:16:09 +00:00
transformation_add_no_contraction_decoration_test.cpp spirv-fuzz: Add fuzzer pass to add NoContraction decorations (#2950) 2019-10-11 09:15:47 +01:00
transformation_add_type_array_test.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_boolean_test.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_type_float_test.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_type_function_test.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_int_test.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_type_matrix_test.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_pointer_test.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_type_struct_test.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_vector_test.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_composite_construct_test.cpp spirv-fuzz: better computation of data synonym facts (#3010) 2019-11-05 16:45:14 +00:00
transformation_composite_extract_test.cpp spirv-fuzz: better computation of data synonym facts (#3010) 2019-11-05 16:45:14 +00:00
transformation_copy_object_test.cpp Validate nested constructs (#3068) 2019-11-27 16:45:57 -05:00
transformation_merge_blocks_test.cpp spirv-fuzz: Fuzzer pass to merge blocks (#3097) 2019-12-12 15:27:40 +00:00
transformation_move_block_down_test.cpp Disallow movement of unreachable blocks. (#2700) 2019-06-26 15:32:25 +01:00
transformation_outline_function_test.cpp spirv-fuzz: Make functions "livesafe" during donation (#3146) 2020-01-29 15:52:31 +00:00
transformation_replace_boolean_constant_with_constant_binary_test.cpp spirv-fuzz: Rework id descriptors (#2959) 2019-10-11 10:13:06 +01:00
transformation_replace_constant_with_uniform_test.cpp spirv-fuzz: Rework id descriptors (#2959) 2019-10-11 10:13:06 +01:00
transformation_replace_id_with_synonym_test.cpp Validate nested constructs (#3068) 2019-11-27 16:45:57 -05:00
transformation_set_function_control_test.cpp spirv-fuzz: Add fuzzer pass to change function controls (#2951) 2019-10-11 07:10:47 +01:00
transformation_set_loop_control_test.cpp spirv-fuzz: Add fuzzer pass to change loop controls (#2949) 2019-10-10 13:34:38 +01:00
transformation_set_memory_operands_mask_test.cpp spirv-fuzz: fuzzer pass to adjust memory access operands (#2968) 2019-10-22 18:05:35 +01:00
transformation_set_selection_control_test.cpp spirv-fuzz: Add fuzzer pass to change selection controls (#2944) 2019-10-08 11:25:34 +01:00
transformation_split_block_test.cpp spirv-fuzz: add dead blocks (#3135) 2020-01-13 22:04:01 +00:00
transformation_vector_shuffle_test.cpp spirv-fuzz: vector shuffle transformation (#3015) 2019-11-06 17:11:54 +00:00
uniform_buffer_element_descriptor_test.cpp Represent uniform facts via descriptor set and binding. (#2681) 2019-06-19 20:45:14 +01:00