SPIRV-Tools/test/fuzz
Antoni Karpiński 4b07d50cd9
spirv-fuzz: Fix bug in TransformationDuplicateRegionWithSelection (#3819)
The following changes are introduced:

1. Entry block might have more than one predecessor, even if it is not
   a selection/loop merge block. However Apply method asserts that
   there is only one predecessor. Now, IsApplicable method ensures
   that there is only one predecessor.

2. In fuzzer pass we exclude both loop headers and selection headers
as potential exit blocks.

Fixes #3827.
2020-09-26 19:18:41 +01:00
..
call_graph_test.cpp spirv-fuzz: Compute interprocedural loop nesting depth of blocks (#3753) 2020-09-01 12:23:58 +01:00
CMakeLists.txt spirv-fuzz: Create synonym of int constant using a loop (#3790) 2020-09-23 14:10:02 +01:00
comparator_deep_blocks_first_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
data_synonym_transformation_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
equivalence_relation_test.cpp spirv-fuzz: Improve the handling of equation facts (#3281) 2020-04-07 17:38:27 +01:00
fact_manager_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
fuzz_test_util.cpp spirv-fuzz: Return IR and transformation context after replay (#3846) 2020-09-25 09:58:10 +01:00
fuzz_test_util.h spirv-fuzz: Return IR and transformation context after replay (#3846) 2020-09-25 09:58:10 +01:00
fuzzer_pass_add_opphi_synonyms_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
fuzzer_pass_construct_composites_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
fuzzer_pass_donate_modules_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
fuzzer_pass_outline_functions_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
fuzzer_pass_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
fuzzer_replayer_test.cpp spirv-fuzz: Return IR and transformation context after replay (#3846) 2020-09-25 09:58:10 +01:00
fuzzer_shrinker_test.cpp spirv-fuzz: Refactor fuzzer, replayer and shrinker (#3818) 2020-09-22 10:07:58 +01:00
instruction_descriptor_test.cpp spirv-fuzz: Move IRContext parameter into constructor (#3837) 2020-09-24 12:27:59 +01:00
replayer_test.cpp spirv-fuzz: Return IR and transformation context after replay (#3846) 2020-09-25 09:58:10 +01:00
transformation_access_chain_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_bit_instruction_synonym_test.cpp spirv-fuzz: Support OpNot bit instruction case (#3841) 2020-09-26 10:42:46 +01:00
transformation_add_constant_boolean_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_constant_composite_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_constant_null_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_constant_scalar_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_copy_memory_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_dead_block_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_dead_break_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_dead_continue_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_function_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_global_undef_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_global_variable_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_image_sample_unused_components_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_local_variable_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_loop_preheader_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_loop_to_create_int_constant_synonym_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_no_contraction_decoration_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_opphi_synonym_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_parameter_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_relaxed_decoration_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_synonym_test.cpp spirv-fuzz: fix test (#3845) 2020-09-24 19:38:50 +01:00
transformation_add_type_array_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_type_boolean_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_type_float_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_type_function_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_type_int_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_type_matrix_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_type_pointer_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_type_struct_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_add_type_vector_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_adjust_branch_weights_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_composite_construct_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_composite_extract_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_composite_insert_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_compute_data_synonym_fact_closure_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_duplicate_region_with_selection_test.cpp spirv-fuzz: Fix bug in TransformationDuplicateRegionWithSelection (#3819) 2020-09-26 19:18:41 +01:00
transformation_equation_instruction_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_flatten_conditional_branch_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_function_call_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_inline_function_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_invert_comparison_operator_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_load_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_make_vector_operation_dynamic_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_merge_blocks_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_move_block_down_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_move_instruction_down_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_mutate_pointer_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_outline_function_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_permute_function_parameters_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_permute_phi_operands_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_propagate_instruction_up_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_push_id_through_variable_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_record_synonymous_constants_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_add_sub_mul_with_carrying_extended_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_boolean_constant_with_constant_binary_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_constant_with_uniform_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_copy_memory_with_load_store_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_copy_object_with_store_load_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_id_with_synonym_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_irrelevant_id_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_linear_algebra_instruction_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_load_store_with_copy_memory_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_opphi_id_from_dead_predecessor_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_opselect_with_conditional_branch_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_parameter_with_global_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_replace_params_with_struct_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_set_function_control_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_set_loop_control_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_set_memory_operands_mask_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_set_selection_control_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_split_block_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_store_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_swap_commutable_operands_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_swap_conditional_branch_operands_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_toggle_access_chain_instruction_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
transformation_vector_shuffle_test.cpp spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844) 2020-09-24 17:28:49 +01:00
uniform_buffer_element_descriptor_test.cpp spirv-fuzz: Move IRContext parameter into constructor (#3837) 2020-09-24 12:27:59 +01:00