SPIRV-Tools/source
Steven Perron 45c235d41f
Have dead-branch-elim handle conditional exits from selections. (#1850)
When dead-branch-elim folds a conditional branch, it also deletes the
OpSelectionMerge instruction.  If that construct contains a
conditional branch to the merge node, it will not have its own
OpSelectionMerge.  When the headers merge instruction is deleted, the
the inner conditional branch will no longer be legal.  It will be a
selection to a node that is not a merge node.

We fix this up by moving the OpSelectionMerge to a new location if it is
still needed.
2018-08-21 11:49:56 -04:00
..
comp Use MakeUnique. (#1837) 2018-08-14 15:01:50 -04:00
link Move make_unique to source/util. (#1836) 2018-08-14 12:44:54 -04:00
opt Have dead-branch-elim handle conditional exits from selections. (#1850) 2018-08-21 11:49:56 -04:00
util Use MakeUnique. (#1837) 2018-08-14 15:01:50 -04:00
val Change when instruction is registered in validator. (#1840) 2018-08-15 13:18:47 -04:00
assembly_grammar.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
assembly_grammar.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -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 Remove source/message.h (#1838) 2018-08-14 15:41:21 -04: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 Use MakeUnique. (#1837) 2018-08-14 15:01:50 -04:00
disassemble.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
enum_set.h Use MakeUnique. (#1837) 2018-08-14 15:01:50 -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 Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
ext_inst.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04: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.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 Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
id_descriptor.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -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 Validate the input to Optimizer::Run (#1799) 2018-08-08 11:16:19 -04:00
macro.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
name_mapper.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
name_mapper.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
operand.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
operand.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04: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
print.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04: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_target_env.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
spirv_target_env.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
spirv_validator_options.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
spirv_validator_options.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
table.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
table.h Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
text_handler.cpp Fix readbility/braces warnings (#1804) 2018-08-07 09:09:47 -04:00
text_handler.h Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
text.cpp Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
text.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00