SPIRV-Tools/test/fuzz
Alastair Donaldson 3d4a0dd48f
spirv-fuzz: Ensure that donated variables are always initialized (#3181)
This change ensures that global and local variables donated from other
modules are always initialized at their declaration in the module
being transformed.  This is to help limit issues related to undefined
behaviour that might arise due to accessing uninitialized memory.

The change also introduces some helper functions in fuzzer_util to
make it easier to find the pointee types of pointer types.
2020-02-10 20:10:41 +00:00
..
CMakeLists.txt spirv-fuzz: Add fuzzer passes to add loads/stores (#3176) 2020-02-06 16:54:34 +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: Ensure that donated variables are always initialized (#3181) 2020-02-10 20:10:41 +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: Add fuzzer passes to add loads/stores (#3176) 2020-02-06 16:54:34 +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: Ensure that donated variables are always initialized (#3181) 2020-02-10 20:10:41 +00:00
transformation_add_local_variable_test.cpp spirv-fuzz: Add fuzzer passes to add loads/stores (#3176) 2020-02-06 16:54:34 +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 spirv-fuzz: Add fuzzer passes to add loads/stores (#3176) 2020-02-06 16:54:34 +00:00
transformation_load_test.cpp spirv-fuzz: Add fuzzer passes to add loads/stores (#3176) 2020-02-06 16:54:34 +00: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: Add fuzzer passes to add loads/stores (#3176) 2020-02-06 16:54:34 +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_store_test.cpp spirv-fuzz: Add fuzzer passes to add loads/stores (#3176) 2020-02-06 16:54:34 +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