SPIRV-Tools/source
Stefano Milizia f12c40f5a6
spirv-fuzz: Fuzzer pass to interchange zero-like constants (#3524)
This fuzzer pass:

For each zero-like constant, either finds the existing definition of
the corresponding toggled one (OpConstantNull becomes zero-valued
scalar OpConstant or vice versa) or creates a new one if it doesn't
exist and records that the two are synonyms

For each use of these constants, probabilistically decides whether to
change it with the corresponding toggled constant id (as described in
#3486 )

Only uses inside blocks of instructions are considered and not, for
example, in instructions declaring other constants.
2020-07-15 12:58:29 +01:00
..
fuzz spirv-fuzz: Fuzzer pass to interchange zero-like constants (#3524) 2020-07-15 12:58:29 +01:00
link Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
opt Rewrite KillDebugDeclares() (#3513) 2020-07-14 14:47:16 -04:00
reduce spirv-reduce: Remove unused struct members (#3329) 2020-05-14 15:36:38 +01:00
util Support constant-folding UConvert and SConvert (#2960) 2019-10-16 16:29:55 -04:00
val Validate location assignments (#3308) 2020-06-25 13:22:45 -04:00
assembly_grammar.cpp Add validation for SPV_NV_cooperative_matrix (#2404) 2019-02-25 17:43:11 -05:00
assembly_grammar.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary.cpp Add support for KHR_ray_{query,tracing} extensions (#3235) 2020-03-17 15:30:19 -04:00
binary.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
cfa.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
CMakeLists.txt Combine extinst-name and extinst-output-base into one arg. (#3200) 2020-02-25 00:46:52 -05:00
diagnostic.cpp Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
diagnostic.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
disassemble.cpp Add support for KHR_ray_{query,tracing} extensions (#3235) 2020-03-17 15:30:19 -04:00
disassemble.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
enum_set.h Instrument: Debug Printf support (#3215) 2020-03-12 09:19:52 -04:00
enum_string_mapping.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
enum_string_mapping.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
ext_inst.cpp Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
ext_inst.h Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
extensions.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
extensions.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
extinst.debuginfo.grammar.json Add asm, dis support for DebugInfo extended instruction set 2017-12-22 09:39:36 -05:00
extinst.opencl.debuginfo.100.grammar.json Support OpenCL.DebugInfo.100 extended instruction set (#3080) 2019-12-19 17:16:26 -05:00
extinst.spv-amd-gcn-shader.grammar.json Fix spelling in SPV_AMD_gcn_shader support 2017-04-03 14:59:18 -04:00
extinst.spv-amd-shader-ballot.grammar.json Add support for SPV AMD extensions 2017-06-21 15:08:07 -04:00
extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json Add support for SPV AMD extensions 2017-06-21 15:08:07 -04:00
extinst.spv-amd-shader-trinary-minmax.grammar.json Add support for SPV AMD extensions 2017-06-21 15:08:07 -04:00
instruction.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
latest_version_glsl_std_450_header.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
latest_version_opencl_std_header.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
latest_version_spirv_header.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
libspirv.cpp Add SpirvTools::IsValid(). (#2326) 2019-01-24 09:45:09 -05:00
macro.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
name_mapper.cpp Add gl_BaseInstance to the name mapper. (#3462) 2020-06-26 11:54:35 -05:00
name_mapper.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode.cpp spirv-fuzz: Add image sample unused components transformation (#3439) 2020-07-08 17:07:04 +01:00
opcode.h spirv-fuzz: Add image sample unused components transformation (#3439) 2020-07-08 17:07:04 +01:00
operand.cpp Update access control lists. (#3433) 2020-06-15 13:20:40 -04:00
operand.h Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
parsed_operand.cpp Replace asserts with returns 2018-08-08 15:13:04 -04:00
parsed_operand.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
pch_source.cpp Enable precompiled headers for spirv-tools(-shared) and some unit tests (#2026) 2018-11-06 09:26:23 -05:00
pch_source.h Enable precompiled headers for spirv-tools(-shared) and some unit tests (#2026) 2018-11-06 09:26:23 -05:00
print.cpp build: cmake: Add support for Fuchsia. (#3062) 2019-11-26 16:22:59 -05:00
print.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
software_version.cpp Add missing function parameters in libspirv.h 2018-04-03 10:10:43 -04:00
spirv_constant.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
spirv_definition.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
spirv_endian.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
spirv_endian.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
spirv_fuzzer_options.cpp spirv-fuzz: Add replay range option (#3535) 2020-07-15 12:13:23 +01:00
spirv_fuzzer_options.h spirv-fuzz: Add replay range option (#3535) 2020-07-15 12:13:23 +01:00
spirv_optimizer_options.cpp Add —preserve-bindings and —preserve-spec-constants (#2693) 2019-07-10 14:12:19 -04:00
spirv_optimizer_options.h Add —preserve-bindings and —preserve-spec-constants (#2693) 2019-07-10 14:12:19 -04:00
spirv_reducer_options.cpp reduce: increase default step limit (#3327) 2020-04-30 22:48:21 +01:00
spirv_reducer_options.h Refactor reducer options (#2709) 2019-07-04 11:11:42 +01:00
spirv_target_env.cpp Add spvParseVulkanEnv (#3142) 2020-01-23 17:20:32 -05:00
spirv_target_env.h Validate that in OpenGL env block variables have Binding (#2685) 2019-07-02 08:11:20 -04:00
spirv_validator_options.cpp Make pointers to isomorphic type interchangeable with option. (#2570) 2019-05-13 13:48:17 -04:00
spirv_validator_options.h Make pointers to isomorphic type interchangeable with option. (#2570) 2019-05-13 13:48:17 -04:00
table.cpp Add basic support for Vulkan 1.2: SPV_ENV_VULKAN_1_2 2020-01-14 20:06:19 -05:00
table.h Use last version (#2578) 2019-05-10 11:02:01 -04:00
text_handler.cpp Avoid GCC8 warning in text_handler.cpp. (#2197) 2018-12-13 15:03:28 -05:00
text_handler.h Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
text.cpp Support OpenCL.DebugInfo.100 extended instruction set (#3080) 2019-12-19 17:16:26 -05:00
text.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00