SPIRV-Tools/source/fuzz
Alastair Donaldson e2e95172df
Rework management of probabilities in spirv-fuzz (#2839)
Before this change there was quite a lot of duplication in the code
being used to choose random percentages, and some of it was incorrect
so that a percentage chance of (100-N)% instead of N% was being used.
Also there was a lot of duplicate code to choose a random index into a
vector.  This change eliminates that duplication (fixing up the
percentage problem), and gets rid of direct access to the random
number generator being used for fuzzing, so that all randomization
requests must go through the FuzzerContext class, discouraging future
ad-hoc uses of the random number generator.
2019-09-10 15:02:25 +01:00
..
protobufs Add 'copy object' transformation (#2766) 2019-08-05 18:00:13 +01:00
CMakeLists.txt Export SPIRV-Tools targets on installation (#2785) 2019-09-04 12:45:26 -04:00
data_descriptor.cpp Add 'copy object' transformation (#2766) 2019-08-05 18:00:13 +01:00
data_descriptor.h Fix end comments in header files (#2829) 2019-09-02 17:31:27 -04:00
fact_manager.cpp Add 'copy object' transformation (#2766) 2019-08-05 18:00:13 +01:00
fact_manager.h Fix end comments in header files (#2829) 2019-09-02 17:31:27 -04:00
fuzzer_context.cpp Rework management of probabilities in spirv-fuzz (#2839) 2019-09-10 15:02:25 +01:00
fuzzer_context.h Rework management of probabilities in spirv-fuzz (#2839) 2019-09-10 15:02:25 +01:00
fuzzer_pass_add_dead_breaks.cpp Rework management of probabilities in spirv-fuzz (#2839) 2019-09-10 15:02:25 +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 Rework management of probabilities in spirv-fuzz (#2839) 2019-09-10 15:02:25 +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_useful_constructs.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
fuzzer_pass_add_useful_constructs.h Fix end comments in header files (#2829) 2019-09-02 17:31:27 -04:00
fuzzer_pass_obfuscate_constants.cpp Rework management of probabilities in spirv-fuzz (#2839) 2019-09-10 15:02:25 +01:00
fuzzer_pass_obfuscate_constants.h Fix end comments in header files (#2829) 2019-09-02 17:31:27 -04: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 Rework management of probabilities in spirv-fuzz (#2839) 2019-09-10 15:02:25 +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 Add library for spirv-fuzz (#2618) 2019-05-27 14:34:55 +01:00
fuzzer_pass.h Fix end comments in header files (#2829) 2019-09-02 17:31:27 -04:00
fuzzer_util.cpp Fix add-dead-break and add-dead-continue passes to respect dominance (#2838) 2019-09-10 14:48:27 +01:00
fuzzer_util.h Fix add-dead-break and add-dead-continue passes to respect dominance (#2838) 2019-09-10 14:48:27 +01:00
fuzzer.cpp Transformation and fuzzer pass to add dead continues (#2758) 2019-07-25 13:50:33 +01:00
fuzzer.h Shrinker for spirv-fuzz (#2708) 2019-07-07 08:55:30 +01:00
id_use_descriptor.cpp Add transformation to replace a boolean constant with a numeric comparison (#2659) 2019-06-06 22:22:35 +01:00
id_use_descriptor.h Add transformation to replace a boolean constant with a numeric comparison (#2659) 2019-06-06 22:22:35 +01: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 Warn when input facts are invalid. (#2699) 2019-06-26 16:40:19 +01:00
replayer.h Warn when input facts are invalid. (#2699) 2019-06-26 16:40:19 +01:00
shrinker.cpp Shrinker for spirv-fuzz (#2708) 2019-07-07 08:55:30 +01:00
shrinker.h Shrinker for spirv-fuzz (#2708) 2019-07-07 08:55:30 +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_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 Fix add-dead-break and add-dead-continue passes to respect dominance (#2838) 2019-09-10 14:48:27 +01:00
transformation_add_dead_break.h Fix add-dead-break and add-dead-continue passes to respect dominance (#2838) 2019-09-10 14:48:27 +01:00
transformation_add_dead_continue.cpp Fix add-dead-break and add-dead-continue passes to respect dominance (#2838) 2019-09-10 14:48:27 +01:00
transformation_add_dead_continue.h Fix add-dead-break and add-dead-continue passes to respect dominance (#2838) 2019-09-10 14:48:27 +01: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_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_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_copy_object.cpp Add 'copy object' transformation (#2766) 2019-08-05 18:00:13 +01:00
transformation_copy_object.h Add 'copy object' transformation (#2766) 2019-08-05 18:00:13 +01:00
transformation_move_block_down.cpp Disallow movement of unreachable blocks. (#2700) 2019-06-26 15:32:25 +01:00
transformation_move_block_down.h Disallow movement of unreachable blocks. (#2700) 2019-06-26 15:32:25 +01:00
transformation_replace_boolean_constant_with_constant_binary.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_replace_boolean_constant_with_constant_binary.h Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_replace_constant_with_uniform.cpp Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_replace_constant_with_uniform.h Refactor fuzzer transformations (#2694) 2019-06-25 20:49:46 +01:00
transformation_split_block.cpp Add 'copy object' transformation (#2766) 2019-08-05 18:00:13 +01:00
transformation_split_block.h Add 'copy object' transformation (#2766) 2019-08-05 18:00:13 +01:00
transformation.cpp Transformation and fuzzer pass to add dead continues (#2758) 2019-07-25 13:50:33 +01: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