SPIRV-Tools/test/fuzz
Stefano Milizia 767518e8e1
spirv-fuzz: Relax type checking for int contants (#3573)
Right now, TransformationRecordSynonymousConstants requires the type
ids of two candidate constants to be exactly the same.
This PR adds an exception for integer constants, which can be
considered equivalent even if their signedness is different.
This applies to both integers and vector constants.

The IsApplicable method of ReplaceIdWithSynonym is also updated so
that, in the case of two integer constants which don't have the same
type, they can only be swapped in particular instructions (those
that don't take the signedness into consideration).

Fixes #3536.
2020-07-27 13:34:44 +01:00
..
CMakeLists.txt spirv-fuzz: adds TransformationReplaceCopyMemoryWithLoadStore (#3575) 2020-07-23 15:14:20 +01:00
data_synonym_transformation_test.cpp spirv-fuzz: Make handling of synonym facts more efficient (#3301) 2020-04-20 19:02: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: Add IdIsIrrelevant fact (#3561) 2020-07-20 20:10:49 +01: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_construct_composites_test.cpp spirv-fuzz: Handle isomorphic types property in composite construction (#3262) 2020-04-02 18:33:19 +01:00
fuzzer_pass_donate_modules_test.cpp spirv-fuzz: Add a test (#3238) 2020-06-10 14:13:40 +01:00
fuzzer_replayer_test.cpp spirv-fuzz: Add replay range option (#3535) 2020-07-15 12:13:23 +01:00
fuzzer_shrinker_test.cpp spirv-fuzz: Set message consumer in replayer when shrinking (#3591) 2020-07-27 08:11:12 +01:00
instruction_descriptor_test.cpp spirv-fuzz: fuzzer pass to adjust memory access operands (#2968) 2019-10-22 18:05:35 +01:00
replayer_test.cpp spirv-fuzz: Add replay range option (#3535) 2020-07-15 12:13:23 +01:00
transformation_access_chain_test.cpp spirv-fuzz: Generalise transformation access chain (#3546) 2020-07-27 11:28:12 +01:00
transformation_add_constant_boolean_test.cpp spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 2020-07-23 17:19:13 +01:00
transformation_add_constant_composite_test.cpp spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 2020-07-23 17:19:13 +01:00
transformation_add_constant_null_test.cpp spirv-fuzz: Transformation to add OpConstantNull (#3273) 2020-04-02 19:25:30 +01:00
transformation_add_constant_scalar_test.cpp spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 2020-07-23 17:19:13 +01:00
transformation_add_copy_memory_test.cpp spirv-fuzz: Add FuzzerPassAddCopyMemoryInstructions (#3391) 2020-06-30 21:13:05 +01:00
transformation_add_dead_block_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_dead_break_test.cpp spirv-fuzz: Support adding dead break from back-edge block (#3519) 2020-07-14 12:32:16 +01:00
transformation_add_dead_continue_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_function_test.cpp spirv-fuzz: Clamp statically out-of-bounds accesses in code donation (#3315) 2020-04-27 14:24:54 +01:00
transformation_add_global_undef_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_global_variable_test.cpp spirv-fuzz: Improve support for compute shaders in donation (#3277) 2020-04-06 16:08:14 +01:00
transformation_add_image_sample_unused_components_test.cpp spirv-fuzz: Add image sample unused components transformation (#3439) 2020-07-08 17:07:04 +01:00
transformation_add_local_variable_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_no_contraction_decoration_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_parameter_test.cpp spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 2020-07-23 17:19:13 +01:00
transformation_add_relaxed_decoration_test.cpp spirv-fuzz: add TransformationAddRelaxedDecoration (#3545) 2020-07-20 13:13:07 +01:00
transformation_add_synonym_test.cpp spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 2020-07-23 17:19:13 +01:00
transformation_add_type_array_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_boolean_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_float_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_function_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_int_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_matrix_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_pointer_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_struct_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_add_type_vector_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_adjust_branch_weights_test.cpp Add adjust branch weights transformation (#3336) 2020-05-14 11:38:34 +01:00
transformation_composite_construct_test.cpp spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 2020-07-23 17:19:13 +01:00
transformation_composite_extract_test.cpp spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 2020-07-23 17:19:13 +01:00
transformation_compute_data_synonym_fact_closure_test.cpp spirv-fuzz: Make handling of synonym facts more efficient (#3301) 2020-04-20 19:02:49 +01:00
transformation_equation_instruction_test.cpp spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 2020-07-23 17:19:13 +01:00
transformation_function_call_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_invert_comparison_operator_test.cpp spirv-fuzz: TransformationInvertComparisonOperator (#3475) 2020-07-03 17:37:32 +01:00
transformation_load_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_merge_blocks_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_move_block_down_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_outline_function_test.cpp spirv-fuzz: Do not outline regions that end with a loop header (#3312) 2020-04-28 13:32:06 +01:00
transformation_permute_function_parameters_test.cpp spirv-fuzz: Create a helper in fuzzerutil to reuse function type (#3572) 2020-07-23 18:01:12 +01:00
transformation_permute_phi_operands_test.cpp spirv-fuzz: Permute OpPhi instruction operands (#3421) 2020-06-23 15:00:28 +01:00
transformation_push_id_through_variable_test.cpp spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 2020-07-23 17:19:13 +01:00
transformation_record_synonymous_constants_test.cpp spirv-fuzz: Relax type checking for int contants (#3573) 2020-07-27 13:34:44 +01:00
transformation_replace_boolean_constant_with_constant_binary_test.cpp Support OpPhi when replacing boolean constant operand (#3518) 2020-07-14 10:27:15 +01:00
transformation_replace_constant_with_uniform_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_replace_copy_memory_with_load_store_test.cpp spirv-fuzz: adds TransformationReplaceCopyMemoryWithLoadStore (#3575) 2020-07-23 15:14:20 +01:00
transformation_replace_copy_object_with_store_load_test.cpp spirv-fuzz: adds TransformationReplaceCopyObjectWithStoreLoad (#3567) 2020-07-23 08:17:45 +01:00
transformation_replace_id_with_synonym_test.cpp spirv-fuzz: Relax type checking for int contants (#3573) 2020-07-27 13:34:44 +01:00
transformation_replace_linear_algebra_instruction_test.cpp spirv-fuzz: Implement the OpMatrixTimesMatrix linear algebra case (#3527) 2020-07-14 17:20:09 +01:00
transformation_replace_parameter_with_global_test.cpp spirv-fuzz: Create a helper in fuzzerutil to reuse function type (#3572) 2020-07-23 18:01:12 +01:00
transformation_replace_params_with_struct_test.cpp spirv-fuzz: Create a helper in fuzzerutil to reuse function type (#3572) 2020-07-23 18:01:12 +01:00
transformation_set_function_control_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_set_loop_control_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_set_memory_operands_mask_test.cpp Fix operand access (#3427) 2020-06-13 00:03:25 +01:00
transformation_set_selection_control_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_split_block_test.cpp spirv-fuzz: Respect rules for OpSampledImage (#3287) 2020-04-14 20:17:42 +01:00
transformation_store_test.cpp spirv-fuzz: Do not allow adding stores to read-only pointers (#3316) 2020-05-01 02:50:44 +01:00
transformation_swap_commutable_operands_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_swap_conditional_branch_operands_test.cpp spirv-fuzz: Swap operands in OpBranchConditional (#3423) 2020-06-19 16:38:52 +01:00
transformation_toggle_access_chain_instruction_test.cpp spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
transformation_vector_shuffle_test.cpp spirv-fuzz: Test usages of IdIsIrrelevant fact (#3578) 2020-07-23 17:19:13 +01:00
uniform_buffer_element_descriptor_test.cpp Represent uniform facts via descriptor set and binding. (#2681) 2019-06-19 20:45:14 +01:00