SPIRV-Tools/source
Steven Perron 95b4d47e34 Fix infinite loop while folding OpVectorShuffle (#1722)
When folding an OpVectorShuffle where the first operand is defined by
an OpVectorShuffle, is unused, and is equal to the second, we end up
with an infinite loop.  This is because we think we change the
instruction, but it does not actually change.  So we keep trying to
folding the same instruction.

This commit fixes up that specific issue.  When the operand is unused,
we replace it with Null.
2018-07-13 12:43:00 -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 Fix infinite loop while folding OpVectorShuffle (#1722) 2018-07-13 12:43:00 -04:00
util Move utils/ to spvtools::utils 2018-07-06 16:47:46 -04:00
val Fix size error when folding vector shuffle. (#1721) 2018-07-13 11:20:02 -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 Fixes compile errors generated with -Wpedantic 2018-03-22 09:40:11 -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