SPIRV-Tools/source/fuzz
Alastair Donaldson 125b642419
spirv-fuzz: Refactor fuzzer, replayer and shrinker (#3818)
In preparation for some upcoming work on the shrinker, this PR changes
the interfaces of Fuzzer, Replayer and Shrinker so that all data
relevant to each class is provided on construction, meaning that the
"Run" method can become a zero-argument method that returns a status,
transformed binary and sequence of applied transformations via a
struct.

This makes greater use of fields, so that -- especially in Fuzzer --
there is a lot less parameter passing.
2020-09-22 10:07:58 +01:00
..
fact_manager spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
pass_management spirv-fuzz: Add pass recommendations (#3757) 2020-09-18 15:51:35 +01:00
protobufs spirv-fuzz: Add bit instruction synonym transformation (#3775) 2020-09-15 23:36:23 +01:00
call_graph.cpp spirv-fuzz: Compute interprocedural loop nesting depth of blocks (#3753) 2020-09-01 12:23:58 +01:00
call_graph.h spirv-fuzz: Compute interprocedural loop nesting depth of blocks (#3753) 2020-09-01 12:23:58 +01:00
CMakeLists.txt spirv-fuzz: Add pass recommendations (#3757) 2020-09-18 15:51:35 +01:00
comparator_deep_blocks_first.h spirv-fuzz: Transformation to flatten conditional branch (#3667) 2020-09-15 10:31:01 +01:00
counter_overflow_id_source.cpp spirv-fuzz: Overflow ids (#3734) 2020-08-26 07:49:42 +01:00
counter_overflow_id_source.h spirv-fuzz: Overflow ids (#3734) 2020-08-26 07:49:42 +01: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: Improve the handling of equation facts (#3281) 2020-04-07 17:38:27 +01:00
force_render_red.cpp spirv-fuzz: Split the fact manager into multiple files (#3699) 2020-08-25 18:11:37 +01:00
force_render_red.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_context.cpp spirv-fuzz: Add pass recommendations (#3757) 2020-09-18 15:51:35 +01:00
fuzzer_context.h spirv-fuzz: Add pass recommendations (#3757) 2020-09-18 15:51:35 +01:00
fuzzer_pass_add_access_chains.cpp spirv-fuzz: Generalise transformation access chain (#3546) 2020-07-27 11:28:12 +01:00
fuzzer_pass_add_access_chains.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_add_bit_instruction_synonyms.cpp spirv-fuzz: Add bit instruction synonym transformation (#3775) 2020-09-15 23:36:23 +01:00
fuzzer_pass_add_bit_instruction_synonyms.h spirv-fuzz: Add bit instruction synonym transformation (#3775) 2020-09-15 23:36:23 +01:00
fuzzer_pass_add_composite_inserts.cpp spirv-fuzz: Add pass recommendations (#3757) 2020-09-18 15:51:35 +01:00
fuzzer_pass_add_composite_inserts.h spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784) 2020-09-10 11:07:20 +01:00
fuzzer_pass_add_composite_types.cpp spirv-fuzz: Add support for BuiltIn decoration (#3736) 2020-09-02 14:14:58 +01:00
fuzzer_pass_add_composite_types.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_add_copy_memory.cpp spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
fuzzer_pass_add_copy_memory.h spirv-fuzz: Add FuzzerPassAddCopyMemoryInstructions (#3391) 2020-06-30 21:13:05 +01:00
fuzzer_pass_add_dead_blocks.cpp spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
fuzzer_pass_add_dead_blocks.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_add_dead_breaks.cpp spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
fuzzer_pass_add_dead_breaks.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_add_dead_continues.cpp spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
fuzzer_pass_add_dead_continues.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_add_equation_instructions.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
fuzzer_pass_add_equation_instructions.h spirv-fuzz: Fix width in FuzzerPassAddEquationInstructions (#3685) 2020-08-12 16:39:23 +01:00
fuzzer_pass_add_function_calls.cpp spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
fuzzer_pass_add_function_calls.h spirv-fuzz: Use irrelevant constants (#3565) 2020-07-21 13:30:28 +01:00
fuzzer_pass_add_global_variables.cpp spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
fuzzer_pass_add_global_variables.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_add_image_sample_unused_components.cpp spirv-fuzz: Use an irrelevant id for the unused components (#3810) 2020-09-16 21:23:32 +01:00
fuzzer_pass_add_image_sample_unused_components.h spirv-fuzz: Add image sample unused components transformation (#3439) 2020-07-08 17:07:04 +01:00
fuzzer_pass_add_loads.cpp Fix function use (#3372) 2020-05-26 12:28:02 +01:00
fuzzer_pass_add_loads.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_add_local_variables.cpp spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
fuzzer_pass_add_local_variables.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_add_loop_preheaders.cpp spirv-fuzz: Fuzzer pass to randomly apply loop preheaders (#3668) 2020-08-14 12:44:28 +01:00
fuzzer_pass_add_loop_preheaders.h spirv-fuzz: Fuzzer pass to randomly apply loop preheaders (#3668) 2020-08-14 12:44:28 +01:00
fuzzer_pass_add_no_contraction_decorations.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_add_no_contraction_decorations.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_add_opphi_synonyms.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
fuzzer_pass_add_opphi_synonyms.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_add_parameters.cpp spirv-fuzz: Support pointer types in FuzzerPassAddParameters (#3627) 2020-08-19 11:18:47 +01:00
fuzzer_pass_add_parameters.h spirv-fuzz: Minor refactoring (#3507) 2020-07-11 07:43:06 +01:00
fuzzer_pass_add_relaxed_decorations.cpp spirv-fuzz: add TransformationAddRelaxedDecoration (#3545) 2020-07-20 13:13:07 +01:00
fuzzer_pass_add_relaxed_decorations.h spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784) 2020-09-10 11:07:20 +01:00
fuzzer_pass_add_stores.cpp Fix function use (#3372) 2020-05-26 12:28:02 +01:00
fuzzer_pass_add_stores.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_add_synonyms.cpp spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
fuzzer_pass_add_synonyms.h spirv-fuzz: TransformationAddSynonyms (#3447) 2020-07-12 09:59:08 +01:00
fuzzer_pass_add_vector_shuffle_instructions.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
fuzzer_pass_add_vector_shuffle_instructions.h spirv-fuzz: Implement vector shuffle fuzzer pass (#3412) 2020-06-16 11:21:31 +01:00
fuzzer_pass_adjust_branch_weights.cpp Add adjust branch weights transformation (#3336) 2020-05-14 11:38:34 +01:00
fuzzer_pass_adjust_branch_weights.h Add adjust branch weights transformation (#3336) 2020-05-14 11:38:34 +01:00
fuzzer_pass_adjust_function_controls.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_adjust_function_controls.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_adjust_loop_controls.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_adjust_loop_controls.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_adjust_memory_operands_masks.cpp Fix instruction function use (#3390) 2020-06-05 12:29:23 +01:00
fuzzer_pass_adjust_memory_operands_masks.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_adjust_selection_controls.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_adjust_selection_controls.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_apply_id_synonyms.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
fuzzer_pass_apply_id_synonyms.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_construct_composites.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
fuzzer_pass_construct_composites.h spirv-fuzz: Handle isomorphic types property in composite construction (#3262) 2020-04-02 18:33:19 +01:00
fuzzer_pass_copy_objects.cpp spirv-fuzz: Fix FuzzerPassCopyObjects (#3638) 2020-08-05 11:54:11 +01:00
fuzzer_pass_copy_objects.h spirv-fuzz: Remove TransformationCopyObject (#3531) 2020-07-15 17:37:19 +01:00
fuzzer_pass_donate_modules.cpp spirv-fuzz: Compute interprocedural loop nesting depth of blocks (#3753) 2020-09-01 12:23:58 +01:00
fuzzer_pass_donate_modules.h spirv-fuzz: Compute interprocedural loop nesting depth of blocks (#3753) 2020-09-01 12:23:58 +01:00
fuzzer_pass_duplicate_regions_with_selections.cpp spirv-fuzz: Add TransformationDuplicateRegionWithSelection (#3773) 2020-09-11 11:48:19 +01:00
fuzzer_pass_duplicate_regions_with_selections.h spirv-fuzz: Add TransformationDuplicateRegionWithSelection (#3773) 2020-09-11 11:48:19 +01:00
fuzzer_pass_flatten_conditional_branches.cpp spirv-fuzz: Remove CanFindOrCreateZeroConstant (#3807) 2020-09-16 14:22:22 +01:00
fuzzer_pass_flatten_conditional_branches.h spirv-fuzz: Transformation to flatten conditional branch (#3667) 2020-09-15 10:31:01 +01:00
fuzzer_pass_inline_functions.cpp spirv-fuzz: Add inline function transformation (#3517) 2020-08-25 17:28:23 +01:00
fuzzer_pass_inline_functions.h spirv-fuzz: Add inline function transformation (#3517) 2020-08-25 17:28:23 +01:00
fuzzer_pass_interchange_signedness_of_integer_operands.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
fuzzer_pass_interchange_signedness_of_integer_operands.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_interchange_zero_like_constants.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
fuzzer_pass_interchange_zero_like_constants.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_invert_comparison_operators.cpp spirv-fuzz: TransformationInvertComparisonOperator (#3475) 2020-07-03 17:37:32 +01:00
fuzzer_pass_invert_comparison_operators.h spirv-fuzz: TransformationInvertComparisonOperator (#3475) 2020-07-03 17:37:32 +01:00
fuzzer_pass_make_vector_operations_dynamic.cpp spirv-fuzz: Add TransformationMakeVectorOperationDynamic (#3597) 2020-08-06 15:50:18 +01:00
fuzzer_pass_make_vector_operations_dynamic.h spirv-fuzz: Add TransformationMakeVectorOperationDynamic (#3597) 2020-08-06 15:50:18 +01:00
fuzzer_pass_merge_blocks.cpp spirv-fuzz: refactor to use RemoveAtRandomIndex (#3560) 2020-07-20 16:10:38 +01:00
fuzzer_pass_merge_blocks.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_mutate_pointers.cpp spirv-fuzz: TransformationMutatePointer (#3737) 2020-09-01 12:45:13 +01:00
fuzzer_pass_mutate_pointers.h spirv-fuzz: TransformationMutatePointer (#3737) 2020-09-01 12:45:13 +01:00
fuzzer_pass_obfuscate_constants.cpp spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
fuzzer_pass_obfuscate_constants.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_outline_functions.cpp spirv-fuzz: make outliner pass use additional transformations (#3604) 2020-08-06 12:29:26 +01:00
fuzzer_pass_outline_functions.h spirv-fuzz: make outliner pass use additional transformations (#3604) 2020-08-06 12:29:26 +01:00
fuzzer_pass_permute_blocks.cpp Change MaybeApplyTransformation to return a boolean (#3555) 2020-07-17 16:01:25 +01:00
fuzzer_pass_permute_blocks.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_permute_function_parameters.cpp spirv-fuzz: Add one parameter at a time (#3469) 2020-06-30 15:20:27 +01:00
fuzzer_pass_permute_function_parameters.h spirv-fuzz: Implement FuzzerPassAddParameters (#3399) 2020-06-23 17:40:44 +01:00
fuzzer_pass_permute_instructions.cpp spirv-fuzz: TransformationMoveInstructionDown (#3477) 2020-08-03 16:45:24 +01:00
fuzzer_pass_permute_instructions.h spirv-fuzz: TransformationMoveInstructionDown (#3477) 2020-08-03 16:45:24 +01:00
fuzzer_pass_permute_phi_operands.cpp spirv-fuzz: Permute OpPhi instruction operands (#3421) 2020-06-23 15:00:28 +01:00
fuzzer_pass_permute_phi_operands.h spirv-fuzz: Permute OpPhi instruction operands (#3421) 2020-06-23 15:00:28 +01:00
fuzzer_pass_propagate_instructions_up.cpp spirv-fuzz: Support identical predecessors in TransformationPropagateInstructionUp (#3689) 2020-08-14 12:29:36 +01:00
fuzzer_pass_propagate_instructions_up.h spirv-fuzz: FuzzerPassPropagateInstructionsUp (#3478) 2020-08-11 10:24:32 +01:00
fuzzer_pass_push_ids_through_variables.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
fuzzer_pass_push_ids_through_variables.h spirv-fuzz: Refactor variable creation (#3414) 2020-06-19 16:40:18 +01:00
fuzzer_pass_replace_adds_subs_muls_with_carrying_extended.cpp spirv-fuzz: add FuzzerPassAddCompositeInserts (#3606) 2020-08-19 13:56:03 +01:00
fuzzer_pass_replace_adds_subs_muls_with_carrying_extended.h spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784) 2020-09-10 11:07:20 +01:00
fuzzer_pass_replace_copy_memories_with_loads_stores.cpp spirv-fuzz: adds TransformationReplaceCopyMemoryWithLoadStore (#3575) 2020-07-23 15:14:20 +01:00
fuzzer_pass_replace_copy_memories_with_loads_stores.h spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784) 2020-09-10 11:07:20 +01:00
fuzzer_pass_replace_copy_objects_with_stores_loads.cpp spirv-fuzz: TransformationMutatePointer (#3737) 2020-09-01 12:45:13 +01:00
fuzzer_pass_replace_copy_objects_with_stores_loads.h spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784) 2020-09-10 11:07:20 +01:00
fuzzer_pass_replace_irrelevant_ids.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
fuzzer_pass_replace_irrelevant_ids.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_replace_linear_algebra_instructions.cpp spirv-fuzz: iterate over blocks in replace linear algebra pass (#3654) 2020-08-06 13:00:17 +01:00
fuzzer_pass_replace_linear_algebra_instructions.h spirv-fuzz: Add replace linear algebra instruction transformation (#3402) 2020-06-16 11:20:51 +01:00
fuzzer_pass_replace_loads_stores_with_copy_memories.cpp spirv-fuzz: adds TransformationReplaceLoadStoreWithCopyMemory (#3586) 2020-07-27 15:17:04 +01:00
fuzzer_pass_replace_loads_stores_with_copy_memories.h spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784) 2020-09-10 11:07:20 +01:00
fuzzer_pass_replace_opphi_ids_from_dead_predecessors.cpp spirv-fuzz: Replace id in OpPhi coming from a dead predecessor (#3744) 2020-09-02 01:06:38 +01:00
fuzzer_pass_replace_opphi_ids_from_dead_predecessors.h spirv-fuzz: Replace id in OpPhi coming from a dead predecessor (#3744) 2020-09-02 01:06:38 +01:00
fuzzer_pass_replace_opselects_with_conditional_branches.cpp spirv-fuzz: Transformation to convert OpSelect to conditional branch (#3681) 2020-09-03 10:19:02 +01:00
fuzzer_pass_replace_opselects_with_conditional_branches.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_replace_parameter_with_global.cpp spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
fuzzer_pass_replace_parameter_with_global.h spirv-fuzz: TransformationReplaceParameterWithGlobal (#3434) 2020-07-09 11:03:49 +01:00
fuzzer_pass_replace_params_with_struct.cpp spirv-fuzz: Remove non-deterministic behaviour (#3608) 2020-07-29 17:47:12 +01:00
fuzzer_pass_replace_params_with_struct.h spirv-fuzz: TransformationReplaceParamsWithStruct (#3455) 2020-07-21 21:02:32 +01:00
fuzzer_pass_split_blocks.cpp spirv-fuzz: Implement MaybeApplyTransformation helper function (#3540) 2020-07-17 13:01:35 +01:00
fuzzer_pass_split_blocks.h Fix header guard macros (#3811) 2020-09-18 05:37:30 +01:00
fuzzer_pass_swap_commutable_operands.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_swap_commutable_operands.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_swap_conditional_branch_operands.cpp spirv-fuzz: Swap operands in OpBranchConditional (#3423) 2020-06-19 16:38:52 +01:00
fuzzer_pass_swap_conditional_branch_operands.h spirv-fuzz: Swap operands in OpBranchConditional (#3423) 2020-06-19 16:38:52 +01:00
fuzzer_pass_toggle_access_chain_instruction.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass_toggle_access_chain_instruction.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
fuzzer_pass.cpp spirv-fuzz: Remove CanFindOrCreateZeroConstant (#3807) 2020-09-16 14:22:22 +01:00
fuzzer_pass.h spirv-fuzz: Remove CanFindOrCreateZeroConstant (#3807) 2020-09-16 14:22:22 +01:00
fuzzer_util.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
fuzzer_util.h spirv-fuzz: Skip unreachable blocks (#3729) 2020-09-15 23:35:42 +01:00
fuzzer.cpp spirv-fuzz: Refactor fuzzer, replayer and shrinker (#3818) 2020-09-22 10:07:58 +01:00
fuzzer.h spirv-fuzz: Refactor fuzzer, replayer and shrinker (#3818) 2020-09-22 10:07:58 +01:00
id_use_descriptor.cpp spirv-fuzz: Fix in operand type assertion (#3666) 2020-08-11 18:37:01 +01: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
instruction_message.cpp spirv-fuzz: Add fuzzer pass to perform module donation (#3117) 2020-01-07 08:39:55 +00:00
instruction_message.h spirv-fuzz: Add fuzzer pass to perform module donation (#3117) 2020-01-07 08:39:55 +00:00
overflow_id_source.cpp spirv-fuzz: Overflow ids (#3734) 2020-08-26 07:49:42 +01:00
overflow_id_source.h spirv-fuzz: Overflow ids (#3734) 2020-08-26 07:49:42 +01:00
pseudo_random_generator.cpp spirv-fuzz: Improvements to random number generation (#3809) 2020-09-16 15:45:05 +01:00
pseudo_random_generator.h spirv-fuzz: Improvements to random number generation (#3809) 2020-09-16 15:45:05 +01:00
random_generator.cpp Add library for spirv-fuzz (#2618) 2019-05-27 14:34:55 +01:00
random_generator.h spirv-fuzz: Improvements to random number generation (#3809) 2020-09-16 15:45:05 +01:00
replayer.cpp spirv-fuzz: Refactor fuzzer, replayer and shrinker (#3818) 2020-09-22 10:07:58 +01:00
replayer.h spirv-fuzz: Refactor fuzzer, replayer and shrinker (#3818) 2020-09-22 10:07:58 +01:00
shrinker.cpp spirv-fuzz: Refactor fuzzer, replayer and shrinker (#3818) 2020-09-22 10:07:58 +01:00
shrinker.h spirv-fuzz: Refactor fuzzer, replayer and shrinker (#3818) 2020-09-22 10:07:58 +01:00
transformation_access_chain.cpp spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796) 2020-09-15 13:27:14 +01:00
transformation_access_chain.h spirv-fuzz: Generalise transformation access chain (#3546) 2020-07-27 11:28:12 +01:00
transformation_add_bit_instruction_synonym.cpp spirv-fuzz: Add bit instruction synonym transformation (#3775) 2020-09-15 23:36:23 +01:00
transformation_add_bit_instruction_synonym.h spirv-fuzz: Add bit instruction synonym transformation (#3775) 2020-09-15 23:36:23 +01:00
transformation_add_constant_boolean.cpp spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796) 2020-09-15 13:27:14 +01:00
transformation_add_constant_boolean.h spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
transformation_add_constant_composite.cpp spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796) 2020-09-15 13:27:14 +01:00
transformation_add_constant_composite.h spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
transformation_add_constant_null.cpp spirv-fuzz: Transformation to add OpConstantNull (#3273) 2020-04-02 19:25:30 +01:00
transformation_add_constant_null.h spirv-fuzz: Transformation to add OpConstantNull (#3273) 2020-04-02 19:25:30 +01:00
transformation_add_constant_scalar.cpp spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796) 2020-09-15 13:27:14 +01:00
transformation_add_constant_scalar.h spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
transformation_add_copy_memory.cpp spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796) 2020-09-15 13:27:14 +01:00
transformation_add_copy_memory.h spirv-fuzz: Add FuzzerPassAddCopyMemoryInstructions (#3391) 2020-06-30 21:13:05 +01:00
transformation_add_dead_block.cpp spirv-fuzz: Check header dominance when adding dead block (#3694) 2020-08-17 17:47:13 +01:00
transformation_add_dead_block.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_dead_break.cpp spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
transformation_add_dead_break.h spirv-fuzz: Add is_irrelevant parameter (#3563) 2020-07-21 08:59:13 +01:00
transformation_add_dead_continue.cpp spirv-fuzz: Don't use default parameters (#3583) 2020-07-24 07:57:49 +01:00
transformation_add_dead_continue.h spirv-fuzz: Add is_irrelevant parameter (#3563) 2020-07-21 08:59:13 +01:00
transformation_add_function.cpp spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796) 2020-09-15 13:27:14 +01:00
transformation_add_function.h spirv-fuzz: Handle OpPhis in livesafe functions (#3642) 2020-08-05 19:21:37 +01:00
transformation_add_global_undef.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_global_undef.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_global_variable.cpp spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796) 2020-09-15 13:27:14 +01:00
transformation_add_global_variable.h spirv-fuzz: Fix regression (#3396) 2020-06-05 12:28:07 +01:00
transformation_add_image_sample_unused_components.cpp spirv-fuzz: Add image sample unused components transformation (#3439) 2020-07-08 17:07:04 +01:00
transformation_add_image_sample_unused_components.h spirv-fuzz: Add image sample unused components transformation (#3439) 2020-07-08 17:07:04 +01:00
transformation_add_local_variable.cpp spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796) 2020-09-15 13:27:14 +01:00
transformation_add_local_variable.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_loop_preheader.cpp spirv-fuzz: Transformation to add loop preheader (#3599) 2020-07-30 20:18:19 +01:00
transformation_add_loop_preheader.h spirv-fuzz: Transformation to add loop preheader (#3599) 2020-07-30 20:18:19 +01:00
transformation_add_no_contraction_decoration.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_no_contraction_decoration.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_opphi_synonym.cpp spirv-fuzz: Skip unreachable blocks (#3729) 2020-09-15 23:35:42 +01:00
transformation_add_opphi_synonym.h spirv-fuzz: Create synonym via OpPhi and existing synonyms (#3701) 2020-08-27 15:59:54 +01:00
transformation_add_parameter.cpp spirv-fuzz: Skip unreachable blocks (#3729) 2020-09-15 23:35:42 +01:00
transformation_add_parameter.h spirv-fuzz: Support pointer types in FuzzerPassAddParameters (#3627) 2020-08-19 11:18:47 +01:00
transformation_add_relaxed_decoration.cpp spirv-fuzz: add TransformationAddRelaxedDecoration (#3545) 2020-07-20 13:13:07 +01:00
transformation_add_relaxed_decoration.h spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784) 2020-09-10 11:07:20 +01:00
transformation_add_spec_constant_op.cpp spirv-fuzz: Add support for OpSpecConstant* (#3373) 2020-06-10 01:01:15 +01:00
transformation_add_spec_constant_op.h spirv-fuzz: Add support for OpSpecConstant* (#3373) 2020-06-10 01:01:15 +01:00
transformation_add_synonym.cpp spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796) 2020-09-15 13:27:14 +01:00
transformation_add_synonym.h spirv-fuzz: Fix usages of irrelevant constants (#3566) 2020-07-22 19:03:58 +01:00
transformation_add_type_array.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_array.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_boolean.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_boolean.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_float.cpp spirv-fuzz: Check integer and float width capabilities (#3670) 2020-08-12 22:05:36 +01:00
transformation_add_type_float.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_function.cpp spirv-fuzz: Add one parameter at a time (#3469) 2020-06-30 15:20:27 +01:00
transformation_add_type_function.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_int.cpp spirv-fuzz: Check integer and float width capabilities (#3670) 2020-08-12 22:05:36 +01:00
transformation_add_type_int.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_matrix.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_matrix.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_pointer.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_pointer.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_struct.cpp spirv-fuzz: Add support for BuiltIn decoration (#3736) 2020-09-02 14:14:58 +01:00
transformation_add_type_struct.h spirv-fuzz: Add support for BuiltIn decoration (#3736) 2020-09-02 14:14:58 +01:00
transformation_add_type_vector.cpp spirv-fuzz: Add fuzzerutil::FindOrCreate* (#3479) 2020-07-02 10:46:49 +01:00
transformation_add_type_vector.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_adjust_branch_weights.cpp Add adjust branch weights transformation (#3336) 2020-05-14 11:38:34 +01:00
transformation_adjust_branch_weights.h Add adjust branch weights transformation (#3336) 2020-05-14 11:38:34 +01:00
transformation_composite_construct.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
transformation_composite_construct.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_composite_extract.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
transformation_composite_extract.h spirv-fuzz: Fix usages of irrelevant constants (#3566) 2020-07-22 19:03:58 +01:00
transformation_composite_insert.cpp spirv-fuzz: Add pass recommendations (#3757) 2020-09-18 15:51:35 +01:00
transformation_composite_insert.h spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784) 2020-09-10 11:07:20 +01:00
transformation_compute_data_synonym_fact_closure.cpp spirv-fuzz: Make handling of synonym facts more efficient (#3301) 2020-04-20 19:02:49 +01:00
transformation_compute_data_synonym_fact_closure.h spirv-fuzz: Make handling of synonym facts more efficient (#3301) 2020-04-20 19:02:49 +01:00
transformation_context.cpp spirv-fuzz: Overflow ids (#3734) 2020-08-26 07:49:42 +01:00
transformation_context.h spirv-fuzz: Overflow ids (#3734) 2020-08-26 07:49:42 +01:00
transformation_duplicate_region_with_selection.cpp spirv-fuzz: Add pass recommendations (#3757) 2020-09-18 15:51:35 +01:00
transformation_duplicate_region_with_selection.h spirv-fuzz: Add TransformationDuplicateRegionWithSelection (#3773) 2020-09-11 11:48:19 +01:00
transformation_equation_instruction.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
transformation_equation_instruction.h spirv-fuzz: Add support for OpConvert to TransformationEquationInstruction (#3472) 2020-07-16 11:59:05 +01:00
transformation_flatten_conditional_branch.cpp Fix build errors (#3804) 2020-09-15 21:02:20 +01:00
transformation_flatten_conditional_branch.h Fix build errors (#3804) 2020-09-15 21:02:20 +01:00
transformation_function_call.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_function_call.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_inline_function.cpp spirv-fuzz: Add inline function transformation (#3517) 2020-08-25 17:28:23 +01:00
transformation_inline_function.h spirv-fuzz: Add inline function transformation (#3517) 2020-08-25 17:28:23 +01:00
transformation_invert_comparison_operator.cpp spirv-fuzz: support floating-point in TransformationInvertComparisonOperator (#3551) 2020-07-17 16:55:26 +01:00
transformation_invert_comparison_operator.h spirv-fuzz: TransformationInvertComparisonOperator (#3475) 2020-07-03 17:37:32 +01:00
transformation_load.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_load.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_make_vector_operation_dynamic.cpp spirv-fuzz: Add TransformationMakeVectorOperationDynamic (#3597) 2020-08-06 15:50:18 +01:00
transformation_make_vector_operation_dynamic.h spirv-fuzz: Add TransformationMakeVectorOperationDynamic (#3597) 2020-08-06 15:50:18 +01:00
transformation_merge_blocks.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_merge_blocks.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_move_block_down.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_move_block_down.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_move_instruction_down.cpp Fix build errors (#3804) 2020-09-15 21:02:20 +01:00
transformation_move_instruction_down.h spirv-fuzz: Support memory instructions MoveInstructionDown (#3700) 2020-09-15 15:04:39 +01:00
transformation_mutate_pointer.cpp spirv-fuzz: TransformationMutatePointer (#3737) 2020-09-01 12:45:13 +01:00
transformation_mutate_pointer.h spirv-fuzz: TransformationMutatePointer (#3737) 2020-09-01 12:45:13 +01:00
transformation_outline_function.cpp spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796) 2020-09-15 13:27:14 +01:00
transformation_outline_function.h Update some language usage. (#3611) 2020-07-29 13:50:58 -04:00
transformation_permute_function_parameters.cpp spirv-fuzz: Create a helper in fuzzerutil to reuse function type (#3572) 2020-07-23 18:01:12 +01:00
transformation_permute_function_parameters.h spirv-fuzz: Add one parameter at a time (#3469) 2020-06-30 15:20:27 +01:00
transformation_permute_phi_operands.cpp spirv-fuzz: Permute OpPhi instruction operands (#3421) 2020-06-23 15:00:28 +01:00
transformation_permute_phi_operands.h spirv-fuzz: Permute OpPhi instruction operands (#3421) 2020-06-23 15:00:28 +01:00
transformation_propagate_instruction_up.cpp spirv-fuzz: Support identical predecessors in TransformationPropagateInstructionUp (#3689) 2020-08-14 12:29:36 +01:00
transformation_propagate_instruction_up.h spirv-fuzz: FuzzerPassPropagateInstructionsUp (#3478) 2020-08-11 10:24:32 +01:00
transformation_push_id_through_variable.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
transformation_push_id_through_variable.h spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 2020-07-23 17:19:13 +01:00
transformation_record_synonymous_constants.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
transformation_record_synonymous_constants.h spirv-fuzz: Relax type checking for int contants (#3573) 2020-07-27 13:34:44 +01:00
transformation_replace_add_sub_mul_with_carrying_extended.cpp spirv-fuzz: TransformationReplaceAddSubMulWithCarryingExtended (#3598) 2020-08-06 17:30:34 +01:00
transformation_replace_add_sub_mul_with_carrying_extended.h spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784) 2020-09-10 11:07:20 +01:00
transformation_replace_boolean_constant_with_constant_binary.cpp Support OpPhi when replacing boolean constant operand (#3518) 2020-07-14 10:27:15 +01:00
transformation_replace_boolean_constant_with_constant_binary.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_replace_constant_with_uniform.cpp spirv-fuzz: Handle OpPhi during constant obfuscation (#3640) 2020-08-05 19:17:27 +01:00
transformation_replace_constant_with_uniform.h spirv-fuzz: Split the fact manager into multiple files (#3699) 2020-08-25 18:11:37 +01:00
transformation_replace_copy_memory_with_load_store.cpp Favour 'integrity' over 'coherence' as a replacement for 'sanity'. (#3619) 2020-09-10 09:52:21 -04:00
transformation_replace_copy_memory_with_load_store.h spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784) 2020-09-10 11:07:20 +01:00
transformation_replace_copy_object_with_store_load.cpp spirv-fuzz: Improve code coverage of tests (#3686) 2020-08-14 12:47:21 +01:00
transformation_replace_copy_object_with_store_load.h spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784) 2020-09-10 11:07:20 +01:00
transformation_replace_id_with_synonym.cpp spirv-fuzz: Transformation to replace the use of an irrelevant id (#3697) 2020-09-01 16:28:04 +01:00
transformation_replace_id_with_synonym.h spirv-fuzz: Transformation to replace the use of an irrelevant id (#3697) 2020-09-01 16:28:04 +01:00
transformation_replace_irrelevant_id.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
transformation_replace_irrelevant_id.h spirv-fuzz: Transformation to replace the use of an irrelevant id (#3697) 2020-09-01 16:28:04 +01:00
transformation_replace_linear_algebra_instruction.cpp spirv-fuzz: Implement the OpOuterProduct linear algebra case (#3617) 2020-07-29 23:46:56 +01:00
transformation_replace_linear_algebra_instruction.h spirv-fuzz: Implement the OpOuterProduct linear algebra case (#3617) 2020-07-29 23:46:56 +01:00
transformation_replace_load_store_with_copy_memory.cpp spirv-fuzz: Improve code coverage of tests (#3686) 2020-08-14 12:47:21 +01:00
transformation_replace_load_store_with_copy_memory.h spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784) 2020-09-10 11:07:20 +01:00
transformation_replace_opphi_id_from_dead_predecessor.cpp spirv-fuzz: Replace id in OpPhi coming from a dead predecessor (#3744) 2020-09-02 01:06:38 +01:00
transformation_replace_opphi_id_from_dead_predecessor.h spirv-fuzz: Replace id in OpPhi coming from a dead predecessor (#3744) 2020-09-02 01:06:38 +01:00
transformation_replace_opselect_with_conditional_branch.cpp spirv-fuzz: Transformation to convert OpSelect to conditional branch (#3681) 2020-09-03 10:19:02 +01:00
transformation_replace_opselect_with_conditional_branch.h spirv-fuzz: Transformation to convert OpSelect to conditional branch (#3681) 2020-09-03 10:19:02 +01:00
transformation_replace_parameter_with_global.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
transformation_replace_parameter_with_global.h spirv-fuzz: Minor refactoring (#3507) 2020-07-11 07:43:06 +01:00
transformation_replace_params_with_struct.cpp spirv-fuzz: TransformationMutatePointer (#3737) 2020-09-01 12:45:13 +01:00
transformation_replace_params_with_struct.h spirv-fuzz: Remove OpFunctionCall operands in correct order (#3630) 2020-08-04 19:10:21 +01:00
transformation_set_function_control.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_set_function_control.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_set_loop_control.cpp Avoid use of 'sanity' and 'sanity check' in the code base (#3585) 2020-07-28 23:55:02 -04:00
transformation_set_loop_control.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_set_memory_operands_mask.cpp Fix operand access (#3427) 2020-06-13 00:03:25 +01:00
transformation_set_memory_operands_mask.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_set_selection_control.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_set_selection_control.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_split_block.cpp spirv-fuzz: Transformation to convert OpSelect to conditional branch (#3681) 2020-09-03 10:19:02 +01:00
transformation_split_block.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_store.cpp spirv-fuzz: Do not allow adding stores to read-only pointers (#3316) 2020-05-01 02:50:44 +01:00
transformation_store.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_swap_commutable_operands.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_swap_commutable_operands.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_swap_conditional_branch_operands.cpp spirv-fuzz: Swap operands in OpBranchConditional (#3423) 2020-06-19 16:38:52 +01:00
transformation_swap_conditional_branch_operands.h spirv-fuzz: Swap operands in OpBranchConditional (#3423) 2020-06-19 16:38:52 +01:00
transformation_toggle_access_chain_instruction.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_toggle_access_chain_instruction.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_vector_shuffle.cpp spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795) 2020-09-18 11:45:02 +01:00
transformation_vector_shuffle.h spirv-fuzz: Fix usages of irrelevant constants (#3566) 2020-07-22 19:03:58 +01:00
transformation.cpp spirv-fuzz: Add bit instruction synonym transformation (#3775) 2020-09-15 23:36:23 +01:00
transformation.h spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54: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