SPIRV-Tools/source
GregF e3a7209330 DeadBranchElim: Fix dead block elimination
The previous algorithm would leave invalid code in the case of unreachable
blocks pointing into a dead branch. It would leave the unreachable blocks
branching to labels that no longer exist. The previous algorithm also left
unreachable blocks in some cases (a loop following an orphaned merge block).
This fix also addresses that.

This code will soon be replaced with the coming CFG cleanup.
2017-10-23 22:04:17 -04:00
..
comp Refactored MARK-V API 2017-10-12 15:40:40 -04:00
link Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
opt DeadBranchElim: Fix dead block elimination 2017-10-23 22:04:17 -04:00
util Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
val Add validation pass for conversion instructions 2017-10-20 13:51:24 -04:00
assembly_grammar.cpp Convert pattern stack from deque to vector, and share it 2017-07-04 12:02:26 -04:00
assembly_grammar.h Convert pattern stack from deque to vector, and share it 2017-07-04 12:02:26 -04:00
binary.cpp Convert pattern stack from deque to vector, and share it 2017-07-04 12:02:26 -04:00
binary.h Support building under CYGWIN 2016-12-21 10:34:23 -05:00
cfa.h CFA: Move TraversalRoots and ComputeAugmentedCFG into CFA 2017-05-25 11:43:24 -06:00
CMakeLists.txt Add validation pass for conversion instructions 2017-10-20 13:51:24 -04:00
diagnostic.cpp DiagnosticStream move ctor moves output duties to new object 2017-10-03 11:23:54 -04:00
diagnostic.h DiagnosticStream move ctor moves output duties to new object 2017-10-03 11:23:54 -04:00
disassemble.cpp Extract EmitNumericLiteral from disassembler 2016-11-15 14:05:03 -05:00
enum_set.h Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
enum_string_mapping.cpp Autogenererating enum-string mappings from grammar 2017-03-16 15:29:17 -04:00
enum_string_mapping.h Autogenererating enum-string mappings from grammar 2017-03-16 15:29:17 -04:00
ext_inst.cpp Avoid using global static variables 2017-09-26 10:59:15 -04:00
ext_inst.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
extensions.cpp Autogenererating enum-string mappings from grammar 2017-03-16 15:29:17 -04:00
extensions.h Autogenererating enum-string mappings from grammar 2017-03-16 15:29:17 -04: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 Add id descriptor feature to SPIR-V 2017-08-10 18:44:52 -04:00
id_descriptor.h Add id descriptor feature to SPIR-V 2017-08-10 18:44:52 -04:00
instruction.h Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
libspirv.cpp Added option --preserve-numeric-ids to tools/spirv-as 2017-04-13 14:13:33 -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 Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
name_mapper.h Make friendly number-based names for OpConstant 2016-11-15 14:05:03 -05:00
opcode.cpp Avoid using global static variables 2017-09-26 10:59:15 -04:00
opcode.h Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
operand.cpp Avoid using global static variables 2017-09-26 10:59:15 -04:00
operand.h Update MARK-V to version 1.01 2017-09-06 16:03:16 -04:00
parsed_operand.cpp Extract EmitNumericLiteral from disassembler 2016-11-15 14:05:03 -05:00
parsed_operand.h Extract EmitNumericLiteral from disassembler 2016-11-15 14:05:03 -05:00
print.cpp Fix mingw build (source/print.cpp) 2017-09-01 16:07:18 -04:00
print.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
software_version.cpp Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
spirv_constant.h Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
spirv_definition.h Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04: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 Add id descriptor feature to SPIR-V 2017-08-10 18:44:52 -04:00
spirv_stats.h Add id descriptor feature to SPIR-V 2017-08-10 18:44:52 -04:00
spirv_target_env.cpp Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
spirv_target_env.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
spirv_validator_options.cpp Add command line options struct for the validator 2017-02-28 12:00:06 -05:00
spirv_validator_options.h Add command line options struct for the validator 2017-02-28 12:00:06 -05:00
table.cpp Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
table.h Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
text_handler.cpp Added option --preserve-numeric-ids to tools/spirv-as 2017-04-13 14:13:33 -04:00
text_handler.h Added option --preserve-numeric-ids to tools/spirv-as 2017-04-13 14:13:33 -04:00
text.cpp Convert pattern stack from deque to vector, and share it 2017-07-04 12:02:26 -04:00
text.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
validate_arithmetics.cpp Add remaining opcodes to arithmetics validation 2017-09-26 11:47:34 -04:00
validate_bitwise.cpp No use to check OpBitCount result width 2017-09-29 09:14:02 +03:00
validate_capability.cpp Validator dissallows unsupported Vulkan capability 2017-03-17 10:28:35 -04:00
validate_cfg.cpp Validator checks OpReturn called from void func 2017-10-12 15:32:32 -04:00
validate_conversion.cpp Add validation pass for conversion instructions 2017-10-20 13:51:24 -04:00
validate_datarules.cpp Validation of type decls for SPV_KHR_16bit_storage 2017-02-27 13:12:59 -05:00
validate_decorations.cpp Fixes issue #489. 2017-03-02 10:06:29 -05:00
validate_id.cpp Removed todos from validate_id.cpp 2017-10-19 19:51:31 -04:00
validate_instruction.cpp Validator support for Variable Pointer extension. 2017-04-07 09:49:48 -04:00
validate_layout.cpp validator: OpModuleProcessed allowed in layout section 7c 2017-09-07 17:45:51 -04:00
validate_logicals.cpp Validator: fix logicals pass for OpSelect pointers 2017-09-21 16:12:14 -04:00
validate_type_unique.cpp Reenable validate type unique pass 2017-10-12 15:46:06 -04:00
validate.cpp Add validation pass for conversion instructions 2017-10-20 13:51:24 -04:00
validate.h Add validation pass for conversion instructions 2017-10-20 13:51:24 -04:00