mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-11-27 05:40:06 +00:00
cc8bad3a5b
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. |
||
---|---|---|
.. | ||
assembly_builder_test.cpp | ||
assembly_builder.h | ||
block_merge_test.cpp | ||
CMakeLists.txt | ||
compact_ids_test.cpp | ||
dead_branch_elim_test.cpp | ||
def_use_test.cpp | ||
eliminate_dead_const_test.cpp | ||
flatten_decoration_test.cpp | ||
fold_spec_const_op_composite_test.cpp | ||
freeze_spec_const_test.cpp | ||
inline_test.cpp | ||
insert_extract_elim_test.cpp | ||
instruction_test.cpp | ||
ir_loader_test.cpp | ||
iterator_test.cpp | ||
line_debug_info_test.cpp | ||
local_access_chain_convert_test.cpp | ||
local_single_block_elim.cpp | ||
local_single_store_elim_test.cpp | ||
local_ssa_elim_test.cpp | ||
module_test.cpp | ||
module_utils.h | ||
optimizer_test.cpp | ||
pass_fixture.h | ||
pass_manager_test.cpp | ||
pass_utils.cpp | ||
pass_utils.h | ||
set_spec_const_default_value_test.cpp | ||
strip_debug_info_test.cpp | ||
type_manager_test.cpp | ||
types_test.cpp | ||
unify_const_test.cpp | ||
utils_test.cpp |