SPIRV-Tools/source/opt
Steven Perron 5834719fc1 Add pass to remove dead variables at the module level.
There does not seem to be any pass that remove global variables.  I
think we could use one.  This pass will look specifically for global
variables that are not referenced and are not exported.  Any decoration
associated with the variable will also be removed.  However, this could
cause types or constants to become unreferenced.  They will not be
removed.  Another pass will have to be called to remove those.
2017-10-23 13:57:05 -04:00
..
aggressive_dead_code_elim_pass.cpp ADCE: Treat privates like locals in entry point with no calls 2017-10-13 15:39:14 -04:00
aggressive_dead_code_elim_pass.h ADCE: Treat privates like locals in entry point with no calls 2017-10-13 15:39:14 -04:00
basic_block.cpp Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
basic_block.h Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
block_merge_pass.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
block_merge_pass.h Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
build_module.cpp Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -04:00
build_module.h Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -04:00
cfg_cleanup_pass.cpp Fix cfg_cleanup.cpp. My bad. 2017-10-20 16:51:20 -04:00
cfg_cleanup_pass.h The reviewed cfg_cleanup optimize pass 2017-10-19 15:28:09 -04:00
CMakeLists.txt Add pass to remove dead variables at the module level. 2017-10-23 13:57:05 -04:00
common_uniform_elim_pass.cpp Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
common_uniform_elim_pass.h Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
compact_ids_pass.cpp Compact-ids pass should update the header ID bound 2017-10-03 11:24:28 -04:00
compact_ids_pass.h Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -04:00
constants.h Clean up header dependency. 2016-09-22 18:15:23 -04:00
dead_branch_elim_pass.cpp DeadBranchElim: Slightly more defensive coding 2017-10-19 19:28:45 -04:00
dead_branch_elim_pass.h Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
dead_variable_elimination.cpp Add pass to remove dead variables at the module level. 2017-10-23 13:57:05 -04:00
dead_variable_elimination.h Add pass to remove dead variables at the module level. 2017-10-23 13:57:05 -04:00
decoration_manager.cpp Add pass to remove dead variables at the module level. 2017-10-23 13:57:05 -04:00
decoration_manager.h Add pass to remove dead variables at the module level. 2017-10-23 13:57:05 -04:00
def_use_manager.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
def_use_manager.h Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
eliminate_dead_constant_pass.cpp Optimizer: OpModuleProcessed is in its own layout section 2017-10-23 10:46:37 -04:00
eliminate_dead_constant_pass.h Add a C++ interface to the optimization functionalities. 2016-09-20 16:52:05 -04:00
eliminate_dead_functions_pass.cpp Create the dead function elimination pass 2017-09-26 11:18:06 -04:00
eliminate_dead_functions_pass.h Create the dead function elimination pass 2017-09-26 11:18:06 -04:00
flatten_decoration_pass.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
flatten_decoration_pass.h Add FlattenDecoration transform 2017-04-06 11:19:56 -04:00
fold_spec_constant_op_and_composite_pass.cpp The reviewed cfg_cleanup optimize pass 2017-10-19 15:28:09 -04:00
fold_spec_constant_op_and_composite_pass.h Clean up header dependency. 2016-09-22 18:15:23 -04:00
fold.cpp Re-factor generic constant folding code out of FoldSpecConstantOpAndCompositePass 2017-10-17 19:41:37 -04:00
fold.h Re-factor generic constant folding code out of FoldSpecConstantOpAndCompositePass 2017-10-17 19:41:37 -04:00
freeze_spec_constant_value_pass.cpp Change interface of Pass::Process() to return possible failures. 2016-09-20 16:40:17 -04:00
freeze_spec_constant_value_pass.h Add a C++ interface to the optimization functionalities. 2016-09-20 16:52:05 -04:00
function.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
function.h CFG cleanup pass - Remove unreachable blocks. 2017-10-19 15:16:29 -04:00
inline_exhaustive_pass.cpp Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
inline_exhaustive_pass.h Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
inline_opaque_pass.cpp Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
inline_opaque_pass.h Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
inline_pass.cpp Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
inline_pass.h Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
insert_extract_elim.cpp ExtractInsert: Handle rudimentary CompositeConstruct and ConstantComposite 2017-09-15 20:33:53 -04:00
insert_extract_elim.h Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
instruction_list.cpp Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
instruction_list.h Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
instruction.cpp Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
instruction.h Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
ir_loader.cpp Optimizer: OpModuleProcessed is in its own layout section 2017-10-23 10:46:37 -04:00
ir_loader.h Clean up header dependency. 2016-09-22 18:15:23 -04:00
iterator.h Add exhaustive function call inlining to spirv-opt 2017-03-29 18:02:40 -04:00
local_access_chain_convert_pass.cpp Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
local_access_chain_convert_pass.h Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_single_block_elim_pass.cpp Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_single_block_elim_pass.h Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_single_store_elim_pass.cpp Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_single_store_elim_pass.h Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_ssa_elim_pass.cpp Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
local_ssa_elim_pass.h Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
log.h Avoid snprintf warning in GCC 7.1 2017-05-08 15:58:24 -04:00
make_unique.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
mem_pass.cpp Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
mem_pass.h Opt: Move *NextId functionality into MemPass 2017-10-13 15:22:19 -04:00
module.cpp Optimizer: OpModuleProcessed is in its own layout section 2017-10-23 10:46:37 -04:00
module.h Optimizer: OpModuleProcessed is in its own layout section 2017-10-23 10:46:37 -04:00
null_pass.h Add a C++ interface to the optimization functionalities. 2016-09-20 16:52:05 -04:00
optimizer.cpp Add pass to remove dead variables at the module level. 2017-10-23 13:57:05 -04:00
pass_manager.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
pass_manager.h Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
pass.cpp Create the dead function elimination pass 2017-09-26 11:18:06 -04:00
pass.h Add -O, -Os and -Oconfig flags. 2017-10-10 12:14:09 -04:00
passes.h Add pass to remove dead variables at the module level. 2017-10-23 13:57:05 -04:00
reflect.h Optimizer: OpModuleProcessed is in its own layout section 2017-10-23 10:46:37 -04:00
remove_duplicates_pass.cpp Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
remove_duplicates_pass.h Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
set_spec_constant_default_value_pass.cpp Add bit pattern interface for setting default value for spec constants 2017-04-21 11:22:47 -04:00
set_spec_constant_default_value_pass.h Add bit pattern interface for setting default value for spec constants 2017-04-21 11:22:47 -04:00
strength_reduction_pass.cpp Add strength reduction; for now replace multiply by power of 2 2017-09-18 17:01:36 -04:00
strength_reduction_pass.h Add strength reduction; for now replace multiply by power of 2 2017-09-18 17:01:36 -04:00
strip_debug_info_pass.cpp Optimizer: OpModuleProcessed is in its own layout section 2017-10-23 10:46:37 -04:00
strip_debug_info_pass.h Add a C++ interface to the optimization functionalities. 2016-09-20 16:52:05 -04:00
type_manager.cpp Fix typo in method name Struct::AddMemberName 2017-04-01 11:19:40 -04:00
type_manager.h Add begin() and end() for TypeManager. 2016-09-30 16:56:42 -04:00
types.cpp Fix typo in method name Struct::AddMemberName 2017-04-01 11:19:40 -04:00
types.h Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -04:00
unify_const_pass.cpp Change interface of Pass::Process() to return possible failures. 2016-09-20 16:40:17 -04:00
unify_const_pass.h Add a C++ interface to the optimization functionalities. 2016-09-20 16:52:05 -04:00