SPIRV-Tools/test
Steven Perron 82663f34c9
Check for unreachable blocks in merge-return. (#1966)
Merge return assumes that the only unreachable blocks are those needed
to keep the structured cfg valid.  Even those must be essentially empty
blocks.

If this is not the case, we get unpredictable behaviour.  This commit
add a check in merge return, and emits an error if it is not the case.

Added a pass of dead branch elimination before merge return in both the
performance and size passes.  It is a precondition of merge return.

Fixes #1962.
2018-10-10 15:18:15 -04:00
..
comp Remove SetContextMessageConsumer from markv_codec_test (#1926) 2018-09-26 10:33:16 -07:00
fuzzers BUILD.gn: Make a better interface with dependents. (#1877) 2018-09-06 10:50:27 -04:00
link Fixup readabilty/inheritance warnings (#1805) 2018-08-07 09:10:03 -04:00
opt Check for unreachable blocks in merge-return. (#1966) 2018-10-10 15:18:15 -04:00
scripts Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -04:00
stats Remove stats use of internal API (#1924) 2018-09-26 10:32:05 -07:00
tools Check for unreachable blocks in merge-return. (#1966) 2018-10-10 15:18:15 -04:00
util Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
val Fix calculation of case fall through (#1965) 2018-10-10 13:25:48 -04:00
assembly_context_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
assembly_format_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary_destroy_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary_endianness_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary_header_get_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary_parse_test.cpp Remove use of SetContextMessageConsumer from binary_parse_test (#1925) 2018-09-26 13:17:36 -07:00
binary_strnlen_s_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary_to_text_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
binary_to_text.literal_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
bit_stream.cpp Move bit_stream, move_to_front and huffman_codec. (#1833) 2018-08-14 09:52:05 -04:00
c_interface_test.cpp Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
CMakeLists.txt Add testing framework for tools. 2018-08-17 15:03:14 -04:00
comment_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
cpp_interface_test.cpp Validate the input to Optimizer::Run (#1799) 2018-08-08 11:16:19 -04:00
diagnostic_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
enum_set_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
enum_string_mapping_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
ext_inst.debuginfo_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
ext_inst.glsl_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
ext_inst.opencl_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
fix_word_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
generator_magic_number_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
hex_float_test.cpp Fix sign mismatch warning 2018-08-31 17:51:43 -04:00
huffman_codec.cpp Move bit_stream, move_to_front and huffman_codec. (#1833) 2018-08-14 09:52:05 -04:00
immediate_int_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
libspirv_macros_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
log_test.cpp Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
move_to_front_test.cpp Move bit_stream, move_to_front and huffman_codec. (#1833) 2018-08-14 09:52:05 -04:00
name_mapper_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
named_id_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode_make_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode_require_capabilities_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode_split_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
opcode_table_get_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
operand_capabilities_test.cpp Add support for Nvidia Turing extensions 2018-09-19 20:46:14 -04:00
operand_pattern_test.cpp Update Dim capabilities 2018-09-06 13:41:31 -04:00
operand_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
operand-class-test-coverage.csv Fix operand class test coverage table. 2016-09-23 11:58:25 -04:00
parse_number_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
preserve_numeric_ids_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
software_version_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
string_utils_test.cpp Move utils/ to spvtools::utils 2018-07-06 16:47:46 -04:00
target_env_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
test_fixture.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_advance_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_destroy_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_literal_test.cpp Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
text_start_new_inst_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.annotation_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.barrier_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.constant_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.control_flow_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.debug_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.device_side_enqueue_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.extension_test.cpp Update Dim capabilities 2018-09-06 13:41:31 -04:00
text_to_binary.function_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.group_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.image_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.literal_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.memory_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.misc_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.mode_setting_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.pipe_storage_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.reserved_sampling_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.subgroup_dispatch_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_to_binary.type_declaration_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
text_word_get_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
timer_test.cpp Move utils/ to spvtools::utils 2018-07-06 16:47:46 -04:00
unit_spirv.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
unit_spirv.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00