SPIRV-Tools/test/opt
GregF cc8bad3a5b Add LocalMultiStoreElim pass
A SSA local variable load/store elimination pass.
For every entry point function, eliminate all loads and stores of function
scope variables only referenced with non-access-chain loads and stores.
Eliminate the variables as well.

The presence of access chain references and function calls can inhibit
the above optimization.

Only shader modules with logical addressing are currently processed.
Currently modules with any extensions enabled are not processed. This
is left for future work.

This pass is most effective if preceeded by Inlining and
LocalAccessChainConvert. LocalSingleStoreElim and LocalSingleBlockElim
will reduce the work that this pass has to do.
2017-07-07 17:54:21 -04:00
..
assembly_builder_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
assembly_builder.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
block_merge_test.cpp BlockMerge: Add BlockMergePass 2017-06-27 11:31:33 -04:00
CMakeLists.txt Add LocalMultiStoreElim pass 2017-07-07 17:54:21 -04:00
compact_ids_test.cpp Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -04:00
dead_branch_elim_test.cpp DeadBranchElim: Add DeadBranchElimPass 2017-07-07 15:16:25 -04:00
def_use_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
eliminate_dead_const_test.cpp Provide friendly names for true and false 2017-01-11 16:33:45 -05:00
flatten_decoration_test.cpp Add FlattenDecoration transform 2017-04-06 11:19:56 -04:00
fold_spec_const_op_composite_test.cpp Provide friendly names for true and false 2017-01-11 16:33:45 -05:00
freeze_spec_const_test.cpp Provide friendly names for true and false 2017-01-11 16:33:45 -05:00
inline_test.cpp Inline: Inline early return function if no returns in loop. 2017-05-12 17:18:00 -04:00
insert_extract_elim_test.cpp mem2reg: Add InsertExtractElimPass 2017-06-21 08:13:15 -04:00
instruction_test.cpp Include memory and semantics IDs when iterating over inbound IDs 2017-07-05 10:36:57 -04:00
ir_loader_test.cpp Make friendly number-based names for OpConstant 2016-11-15 14:05:03 -05:00
iterator_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
line_debug_info_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
local_access_chain_convert_test.cpp Mem2Reg: Add Local Access Chain Convert pass 2017-06-04 12:49:27 -04:00
local_single_block_elim.cpp mem2reg: Add pass to eliminate local loads and stores in single block. 2017-06-12 17:03:47 -04:00
local_single_store_elim_test.cpp mem2reg: Add LocalSingleStoreElimPass 2017-06-19 10:43:02 -04:00
local_ssa_elim_test.cpp Add LocalMultiStoreElim pass 2017-07-07 17:54:21 -04:00
module_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
module_utils.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
optimizer_test.cpp Fix optimizer on when to write the binary 2017-04-03 15:48:50 -04:00
pass_fixture.h Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -04:00
pass_manager_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
pass_utils.cpp Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
pass_utils.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
set_spec_const_default_value_test.cpp Update set_spec_const_default_value_test.cpp 2017-05-08 10:41:48 -04:00
strip_debug_info_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
type_manager_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
types_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
unify_const_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
utils_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00