SPIRV-Tools/source/fuzz
Alastair Donaldson 2e41d5ece7
spirv-fuzz: Avoid passing access chains as parameters (#3112)
This change prevents the spirv-fuzz function outliner from outlining a
region that uses the result of an OpAccessChain not defined inside the
region.  Such accesses were turning into parameters to the outlined
function, and the result of an OpAccessChain cannot be passed as a
function parameter according to the SPIR-V specification.
2019-12-19 17:34:36 +00:00
..
protobufs spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
CMakeLists.txt spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
data_descriptor.cpp spirv-fuzz: improvements to representation of data synonym facts (#3006) 2019-11-01 17:50:01 +00:00
data_descriptor.h spirv-fuzz: improvements to representation of data synonym facts (#3006) 2019-11-01 17:50:01 +00:00
equivalence_relation.h spirv-fuzz: make equivalence classes deterministic (#3011) 2019-11-05 15:34:05 +00:00
fact_manager.cpp Remove semicolon (#3022) 2019-11-07 13:20:49 +00:00
fact_manager.h spirv-fuzz: better computation of data synonym facts (#3010) 2019-11-05 16:45:14 +00:00
force_render_red.cpp spirv-fuzz: Rework id descriptors (#2959) 2019-10-11 10:13:06 +01:00
force_render_red.h spirv-fuzz: option to convert shader into a form that renders red (#2934) 2019-10-03 19:10:50 +01:00
fuzzer_context.cpp spirv-fuzz: Fuzzer pass to merge blocks (#3097) 2019-12-12 15:27:40 +00:00
fuzzer_context.h spirv-fuzz: Fuzzer pass to merge blocks (#3097) 2019-12-12 15:27:40 +00:00
fuzzer_pass_add_dead_breaks.cpp Add fuzzer pass to replace ids with synonyms (#2857) 2019-09-18 20:47:08 +01:00
fuzzer_pass_add_dead_breaks.h Fix end comments in header files (#2829) 2019-09-02 17:31:27 -04:00
fuzzer_pass_add_dead_continues.cpp Add fuzzer pass to replace ids with synonyms (#2857) 2019-09-18 20:47:08 +01:00
fuzzer_pass_add_dead_continues.h Fix end comments in header files (#2829) 2019-09-02 17:31:27 -04:00
fuzzer_pass_add_no_contraction_decorations.cpp spirv-fuzz: Eliminate spurious semicolons (#3025) 2019-11-08 17:58:59 +00:00
fuzzer_pass_add_no_contraction_decorations.h spirv-fuzz: Add fuzzer pass to add NoContraction decorations (#2950) 2019-10-11 09:15:47 +01:00
fuzzer_pass_add_useful_constructs.cpp spirv-fuzz: Eliminate spurious semicolons (#3025) 2019-11-08 17:58:59 +00:00
fuzzer_pass_add_useful_constructs.h Fix end comments in header files (#2829) 2019-09-02 17:31:27 -04:00
fuzzer_pass_adjust_function_controls.cpp spirv-fuzz: Eliminate spurious semicolons (#3025) 2019-11-08 17:58:59 +00:00
fuzzer_pass_adjust_function_controls.h spirv-fuzz: Add fuzzer pass to change function controls (#2951) 2019-10-11 07:10:47 +01:00
fuzzer_pass_adjust_loop_controls.cpp spirv-fuzz: Eliminate spurious semicolons (#3025) 2019-11-08 17:58:59 +00:00
fuzzer_pass_adjust_loop_controls.h spirv-fuzz: Add fuzzer pass to change loop controls (#2949) 2019-10-10 13:34:38 +01:00
fuzzer_pass_adjust_memory_operands_masks.cpp spirv-fuzz: fuzzer pass to adjust memory access operands (#2968) 2019-10-22 18:05:35 +01:00
fuzzer_pass_adjust_memory_operands_masks.h spirv-fuzz: fuzzer pass to adjust memory access operands (#2968) 2019-10-22 18:05:35 +01:00
fuzzer_pass_adjust_selection_controls.cpp spirv-fuzz: Eliminate spurious semicolons (#3025) 2019-11-08 17:58:59 +00:00
fuzzer_pass_adjust_selection_controls.h spirv-fuzz: Add fuzzer pass to change selection controls (#2944) 2019-10-08 11:25:34 +01:00
fuzzer_pass_apply_id_synonyms.cpp spirv-fuzz: simplify transformation for replacing an id with a synonym (#3020) 2019-11-07 16:19:06 +00:00
fuzzer_pass_apply_id_synonyms.h Add fuzzer pass to replace ids with synonyms (#2857) 2019-09-18 20:47:08 +01:00
fuzzer_pass_construct_composites.cpp spirv-fuzz: function outlining fuzzer pass (#3078) 2019-12-10 14:47:42 +00:00
fuzzer_pass_construct_composites.h spirv-fuzz: add transformation and pass to construct composites (#2941) 2019-10-08 14:04:10 +01:00
fuzzer_pass_copy_objects.cpp spirv-fuzz: Refactor 'copy object' and 'construct composite' transformations (#2966) 2019-10-15 20:00:17 +01:00
fuzzer_pass_copy_objects.h Add fuzzer pass to copy objects (#2853) 2019-09-11 23:45:20 +01:00
fuzzer_pass_merge_blocks.cpp spirv-fuzz: Fuzzer pass to merge blocks (#3097) 2019-12-12 15:27:40 +00:00
fuzzer_pass_merge_blocks.h spirv-fuzz: Fuzzer pass to merge blocks (#3097) 2019-12-12 15:27:40 +00:00
fuzzer_pass_obfuscate_constants.cpp spirv-fuzz: Rework id descriptors (#2959) 2019-10-11 10:13:06 +01:00
fuzzer_pass_obfuscate_constants.h Fix end comments in header files (#2829) 2019-09-02 17:31:27 -04:00
fuzzer_pass_outline_functions.cpp spirv-fuzz: function outlining fuzzer pass (#3078) 2019-12-10 14:47:42 +00:00
fuzzer_pass_outline_functions.h spirv-fuzz: function outlining fuzzer pass (#3078) 2019-12-10 14:47:42 +00:00
fuzzer_pass_permute_blocks.cpp Rework management of probabilities in spirv-fuzz (#2839) 2019-09-10 15:02:25 +01:00
fuzzer_pass_permute_blocks.h Fix end comments in header files (#2829) 2019-09-02 17:31:27 -04:00
fuzzer_pass_split_blocks.cpp spirv-fuzz: Refactor 'split blocks' to identify instructions differently (#2961) 2019-10-14 17:00:46 +01:00
fuzzer_pass_split_blocks.h Fix end comments in header files (#2829) 2019-09-02 17:31:27 -04:00
fuzzer_pass.cpp spirv-fuzz: Refactor 'copy object' and 'construct composite' transformations (#2966) 2019-10-15 20:00:17 +01:00
fuzzer_pass.h spirv-fuzz: Refactor 'copy object' and 'construct composite' transformations (#2966) 2019-10-15 20:00:17 +01:00
fuzzer_util.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
fuzzer_util.h spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
fuzzer.cpp spirv-fuzz: Fuzzer pass to merge blocks (#3097) 2019-12-12 15:27:40 +00:00
fuzzer.h spirv-fuzz: Improve debugging facilities (#3074) 2019-11-27 18:05:56 +00:00
id_use_descriptor.cpp Avoid uninit warning in GCC (#3044) 2019-11-13 17:15:11 -05:00
id_use_descriptor.h spirv-fuzz: Rework id descriptors (#2959) 2019-10-11 10:13:06 +01:00
instruction_descriptor.cpp spirv-fuzz: simplify transformation for replacing an id with a synonym (#3020) 2019-11-07 16:19:06 +00:00
instruction_descriptor.h spirv-fuzz: simplify transformation for replacing an id with a synonym (#3020) 2019-11-07 16:19:06 +00:00
pseudo_random_generator.cpp Add "split block" transformation. (#2633) 2019-05-29 16:42:46 +01:00
pseudo_random_generator.h Add library for spirv-fuzz (#2618) 2019-05-27 14:34:55 +01:00
random_generator.cpp Add library for spirv-fuzz (#2618) 2019-05-27 14:34:55 +01:00
random_generator.h Add library for spirv-fuzz (#2618) 2019-05-27 14:34:55 +01:00
replayer.cpp Allow validation during spirv-fuzz replay (#2873) 2019-09-20 10:54:09 +01:00
replayer.h Allow validation during spirv-fuzz replay (#2873) 2019-09-20 10:54:09 +01:00
shrinker.cpp Allow validation during spirv-fuzz replay (#2873) 2019-09-20 10:54:09 +01:00
shrinker.h Allow validation during spirv-fuzz replay (#2873) 2019-09-20 10:54:09 +01:00
transformation_add_constant_boolean.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_constant_boolean.h Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_constant_composite.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_constant_composite.h spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_constant_scalar.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_constant_scalar.h Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_dead_break.cpp spirv-fuzz: Use validator to check break/continue dominance conditions (#3089) 2019-12-06 16:38:17 +00:00
transformation_add_dead_break.h spirv-fuzz: Use validator to check break/continue dominance conditions (#3089) 2019-12-06 16:38:17 +00:00
transformation_add_dead_continue.cpp spirv-fuzz: Use validator to check break/continue dominance conditions (#3089) 2019-12-06 16:38:17 +00:00
transformation_add_dead_continue.h spirv-fuzz: Use validator to check break/continue dominance conditions (#3089) 2019-12-06 16:38:17 +00:00
transformation_add_global_undef.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_global_undef.h spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_global_variable.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_global_variable.h spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_no_contraction_decoration.cpp spirv-fuzz: Add fuzzer pass to add NoContraction decorations (#2950) 2019-10-11 09:15:47 +01:00
transformation_add_no_contraction_decoration.h spirv-fuzz: Add fuzzer pass to add NoContraction decorations (#2950) 2019-10-11 09:15:47 +01:00
transformation_add_type_array.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_array.h spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_boolean.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_type_boolean.h Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_type_float.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_type_float.h Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_type_function.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_function.h spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_int.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_type_int.h Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_type_matrix.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_matrix.h spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_pointer.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_type_pointer.h Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_add_type_struct.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_struct.h spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_vector.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_add_type_vector.h spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation_composite_construct.cpp spirv-fuzz: improvements to representation of data synonym facts (#3006) 2019-11-01 17:50:01 +00:00
transformation_composite_construct.h spirv-fuzz: rename class, and fix bug related to dominance (#2990) 2019-10-27 18:11:07 +00:00
transformation_composite_extract.cpp spirv-fuzz: better computation of data synonym facts (#3010) 2019-11-05 16:45:14 +00:00
transformation_composite_extract.h spirv-fuzz: Transformation to extract from a composite object (#2991) 2019-10-28 09:33:08 +00:00
transformation_copy_object.cpp spirv-fuzz: improvements to representation of data synonym facts (#3006) 2019-11-01 17:50:01 +00:00
transformation_copy_object.h spirv-fuzz: Refactor 'copy object' and 'construct composite' transformations (#2966) 2019-10-15 20:00:17 +01:00
transformation_merge_blocks.cpp spirv-fuzz: Fuzzer pass to merge blocks (#3097) 2019-12-12 15:27:40 +00:00
transformation_merge_blocks.h spirv-fuzz: Fuzzer pass to merge blocks (#3097) 2019-12-12 15:27:40 +00:00
transformation_move_block_down.cpp spirv-fuzz: preserve some analyses when permuting blocks (#2918) 2019-09-26 10:56:43 +01:00
transformation_move_block_down.h Disallow movement of unreachable blocks. (#2700) 2019-06-26 15:32:25 +01:00
transformation_outline_function.cpp spirv-fuzz: Avoid passing access chains as parameters (#3112) 2019-12-19 17:34:36 +00:00
transformation_outline_function.h spirv-fuzz: function outlining fuzzer pass (#3078) 2019-12-10 14:47:42 +00:00
transformation_replace_boolean_constant_with_constant_binary.cpp spirv-fuzz: Rework id descriptors (#2959) 2019-10-11 10:13:06 +01:00
transformation_replace_boolean_constant_with_constant_binary.h spirv-fuzz: do not replace boolean constant argument to OpPhi instruction (#2903) 2019-09-25 12:16:25 +01:00
transformation_replace_constant_with_uniform.cpp spirv-fuzz: Rework id descriptors (#2959) 2019-10-11 10:13:06 +01:00
transformation_replace_constant_with_uniform.h Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_replace_id_with_synonym.cpp spirv-fuzz: simplify transformation for replacing an id with a synonym (#3020) 2019-11-07 16:19:06 +00:00
transformation_replace_id_with_synonym.h spirv-fuzz: simplify transformation for replacing an id with a synonym (#3020) 2019-11-07 16:19:06 +00:00
transformation_set_function_control.cpp spirv-fuzz: Add fuzzer pass to change function controls (#2951) 2019-10-11 07:10:47 +01:00
transformation_set_function_control.h spirv-fuzz: Add fuzzer pass to change function controls (#2951) 2019-10-11 07:10:47 +01:00
transformation_set_loop_control.cpp spirv-fuzz: Add fuzzer pass to change loop controls (#2949) 2019-10-10 13:34:38 +01:00
transformation_set_loop_control.h spirv-fuzz: Add fuzzer pass to change loop controls (#2949) 2019-10-10 13:34:38 +01:00
transformation_set_memory_operands_mask.cpp spirv-fuzz: fuzzer pass to adjust memory access operands (#2968) 2019-10-22 18:05:35 +01:00
transformation_set_memory_operands_mask.h spirv-fuzz: fuzzer pass to adjust memory access operands (#2968) 2019-10-22 18:05:35 +01:00
transformation_set_selection_control.cpp spirv-fuzz: Add fuzzer pass to change selection controls (#2944) 2019-10-08 11:25:34 +01:00
transformation_set_selection_control.h spirv-fuzz: Add fuzzer pass to change selection controls (#2944) 2019-10-08 11:25:34 +01:00
transformation_split_block.cpp spirv-fuzz: Refactor 'split blocks' to identify instructions differently (#2961) 2019-10-14 17:00:46 +01:00
transformation_split_block.h spirv-fuzz: Refactor 'split blocks' to identify instructions differently (#2961) 2019-10-14 17:00:46 +01:00
transformation_vector_shuffle.cpp spirv-fuzz: vector shuffle transformation (#3015) 2019-11-06 17:11:54 +00:00
transformation_vector_shuffle.h spirv-fuzz: vector shuffle transformation (#3015) 2019-11-06 17:11:54 +00:00
transformation.cpp spirv-fuzz: Transformations to add types, constants and variables (#3101) 2019-12-16 23:54:13 +00:00
transformation.h Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
uniform_buffer_element_descriptor.cpp Add 'copy object' transformation (#2766) 2019-08-05 18:00:13 +01:00
uniform_buffer_element_descriptor.h Fix end comments in header files (#2829) 2019-09-02 17:31:27 -04:00