SPIRV-Tools/source
Alan Baker b49f76fd62 Handle undef literal value in vector shuffle
Fixes #1731

* Updated folding rules related to vector shuffle to account for the
undef literal value:
 * FoldVectorShuffleFeedingShuffle
 * FoldVectorShuffleFeedingExtract
 * FoldVectorShuffleWithConstants
* These rules would commit memory violations due to treating the undef
literal value as an accessible composite component
2018-07-20 11:32:43 -04:00
..
comp Move validation files to val/ directory (#1692) 2018-07-11 10:27:34 -04:00
link Remove the module from opt::Function. (#1717) 2018-07-12 14:42:05 -04:00
opt Handle undef literal value in vector shuffle 2018-07-20 11:32:43 -04:00
util Move utils/ to spvtools::utils 2018-07-06 16:47:46 -04:00
val Fixup line number for OpVectorShuffle ID error. 2018-07-16 14:18:53 -04:00
assembly_grammar.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
assembly_grammar.h Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
binary.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
binary.h Support building under CYGWIN 2016-12-21 10:34:23 -05:00
cfa.h Fix block ordering in dead branch elim 2018-07-19 11:17:57 -04:00
CMakeLists.txt Move validation files to val/ directory (#1692) 2018-07-11 10:27:34 -04:00
diagnostic.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
diagnostic.h Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
disassemble.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
disassemble.h Adding ostream operators for IR structures 2018-01-12 11:19:58 -05:00
enum_set.h Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
enum_string_mapping.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
enum_string_mapping.h Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
ext_inst.cpp Add a WIP WebGPU environment. It disallows OpUndef 2018-06-21 15:53:15 -04:00
ext_inst.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
extensions.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
extensions.h Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
extinst.debuginfo.grammar.json Add asm, dis support for DebugInfo extended instruction set 2017-12-22 09:39:36 -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
id_descriptor.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
id_descriptor.h Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
instruction.h Refactor include of latest spir-v header versions 2017-12-14 11:18:20 -05:00
latest_version_glsl_std_450_header.h Use SPIR-V headers from "unified1" directory 2018-01-31 15:36:50 -05:00
latest_version_opencl_std_header.h Use SPIR-V headers from "unified1" directory 2018-01-31 15:36:50 -05:00
latest_version_spirv_header.h Use SPIR-V headers from "unified1" directory 2018-01-31 15:36:50 -05:00
libspirv.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
macro.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
message.cpp spirv-val prints warnings 2017-03-17 12:48:51 -04:00
message.h Clean up header dependency. 2016-09-22 18:15:23 -04:00
name_mapper.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
name_mapper.h Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
opcode.cpp Instruction lookup succeeds if it's enabled by a capability 2018-06-20 10:44:03 -04:00
opcode.h Add Dead insert elmination back in. 2018-04-24 10:10:30 -04:00
operand.cpp Cleanup whitespace lint warnings. (#1690) 2018-07-10 13:09:46 -04:00
operand.h Migrate to use unified grammar tables 2018-03-17 15:25:26 -04:00
parsed_operand.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
parsed_operand.h Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
print.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
print.h Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
software_version.cpp Add missing function parameters in libspirv.h 2018-04-03 10:10:43 -04:00
spirv_constant.h Fixes #1433. Validate binary version 2018-04-06 22:41:50 -04:00
spirv_definition.h Refactor include of latest spir-v header versions 2017-12-14 11:18:20 -05:00
spirv_endian.cpp Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
spirv_endian.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
spirv_stats.cpp Move validation files to val/ directory (#1692) 2018-07-11 10:27:34 -04:00
spirv_stats.h Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
spirv_target_env.cpp Add a WIP WebGPU environment. It disallows OpUndef 2018-06-21 15:53:15 -04:00
spirv_target_env.h Fixes #1433. Validate binary version 2018-04-06 22:41:50 -04:00
spirv_validator_options.cpp Add option to skip verifying block layout 2018-07-11 18:00:54 -04:00
spirv_validator_options.h Add option to skip verifying block layout 2018-07-11 18:00:54 -04:00
table.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
table.h Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
text_handler.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
text_handler.h Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
text.cpp Change libspirv to spvtools namespace (#1678) 2018-07-07 09:38:00 -04:00
text.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00