SPIRV-Tools/test
GregF 9de4e69856 Add AggressiveDCEPass
Create aggressive dead code elimination pass
This pass eliminates unused code from functions. In addition,
it detects and eliminates code which may have spurious uses but which do
not contribute to the output of the function. The most common cause of
such code sequences is summations in loops whose result is no longer used
due to dead code elimination. This optimization has additional compile
time cost over standard dead code elimination.

This pass only processes entry point functions. It also only processes
shaders with logical addressing. It currently will not process functions
with function calls. It currently only supports the GLSL.std.450 extended
instruction set. It currently does not support any extensions.

This pass will be made more effective by first running passes that remove
dead control flow and inlines function calls.

This pass can be especially useful after running Local Access Chain
Conversion, which tends to cause cycles of dead code to be left after
Store/Load elimination passes are completed. These cycles cannot be
eliminated with standard dead code elimination.

Additionally: This transform uses a whitelist of instructions that it
knows do have side effects, (a.k.a. combinators).  It assumes other
instructions have side effects: it will not remove them, and assumes
they have side effects via their ID operands.
2017-07-10 11:30:25 -04:00
..
comp MARK-V decoder supports extended instructions 2017-07-04 16:31:19 -04:00
opt Add AggressiveDCEPass 2017-07-10 11:30:25 -04:00
scripts Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -04:00
stats Stats analyzer aggregates OpConstant usage 2017-05-09 11:50:15 -04:00
val Add support for SPV AMD extensions 2017-06-21 15:08:07 -04:00
assembly_context_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
assembly_format_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
binary_destroy_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
binary_endianness_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
binary_header_get_test.cpp Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
binary_parse_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
binary_strnlen_s_test.cpp Support building under CYGWIN 2016-12-21 10:34:23 -05:00
binary_to_text_test.cpp Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
binary_to_text.literal_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
bit_stream.cpp Added fixed width encoding to bit_stream 2017-07-04 11:57:13 -04:00
c_interface_test.cpp Validation of OpEntryPoint usage. 2017-01-13 16:15:11 -05:00
CMakeLists.txt Added compression tool tools/spirv-markv. Work in progress. 2017-06-30 12:22:48 -04:00
comment_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
cpp_interface_test.cpp Add SpirvTools::Validate that takes an options object 2017-03-17 12:48:51 -04:00
diagnostic_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
enum_set_test.cpp Refactored enum_set 2017-03-10 13:38:32 -05:00
enum_string_mapping_test.cpp Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
ext_inst.glsl_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
ext_inst.opencl_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
fix_word_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
generator_magic_number_test.cpp Get vendor tool info from the SPIR-V registry file 2016-12-09 14:01:43 -05:00
hex_float_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
huffman_codec.cpp Added Huffman codec to utils 2017-06-29 14:51:01 -04:00
immediate_int_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
libspirv_macros_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
log_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
move_to_front_test.cpp Added log(n) move-to-front implementation 2017-06-29 16:16:18 -04:00
name_mapper_test.cpp Provide friendly names for true and false 2017-01-11 16:33:45 -05:00
named_id_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
opcode_make_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
opcode_require_capabilities_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
opcode_split_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
opcode_table_get_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
operand_capabilities_test.cpp Update cap tests for SPV_KHR_16bit_storage 2017-04-07 09:49:48 -04:00
operand_pattern_test.cpp Convert pattern stack from deque to vector, and share it 2017-07-04 12:02:26 -04:00
operand_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
operand-class-test-coverage.csv Fix operand class test coverage table. 2016-09-23 11:58:25 -04:00
parse_number_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
preserve_numeric_ids_test.cpp Added option --preserve-numeric-ids to tools/spirv-as 2017-04-13 14:13:33 -04:00
software_version_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
string_utils_test.cpp Validator checks if operands require extension 2017-03-14 13:39:43 -04:00
target_env_test.cpp Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
test_fixture.h Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_advance_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_destroy_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_literal_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_start_new_inst_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.annotation_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.barrier_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.constant_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.control_flow_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.debug_test.cpp Test source language HLSL 2017-04-07 09:54:38 -04:00
text_to_binary.device_side_enqueue_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.extension_test.cpp Add support for SPV AMD extensions 2017-06-21 15:08:07 -04:00
text_to_binary.function_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.group_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.image_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.literal_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.memory_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.misc_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.mode_setting_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.pipe_storage_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.subgroup_dispatch_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
text_to_binary.type_declaration_test.cpp Support SPV_KHR_storage_buffer_storage_class 2017-04-07 09:54:38 -04:00
text_word_get_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
unit_spirv.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
unit_spirv.h Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00