SPIRV-Tools/source/opt
Alan Baker abe113219e Reordering performance passes ordering to produce better opts
* Moved initial insert/extract passes later to cover more opportunities
* Added an extra set of passes to clean up opportunities exposed later
in the pipeline
2018-02-01 18:01:10 -05:00
..
aggressive_dead_code_elim_pass.cpp Fixes infinite loop in ADCE 2018-01-19 11:08:46 -05:00
aggressive_dead_code_elim_pass.h Fixes infinite loop in ADCE 2018-01-19 11:08:46 -05:00
basic_block.cpp Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
basic_block.h Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
block_merge_pass.cpp Enhancements to block merging 2018-01-30 16:05:51 -05:00
block_merge_pass.h Enhancements to block merging 2018-01-30 16:05:51 -05:00
build_module.cpp Store all enabled capabilities in the feature manger. 2017-12-21 11:14:53 -05:00
build_module.h Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
ccp_pass.cpp Fixes in CCP for #1228 2018-01-29 15:12:05 -05:00
ccp_pass.h Fix constant propagation of induction variables. 2018-01-08 15:34:35 -05:00
cfg_cleanup_pass.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
cfg_cleanup_pass.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
cfg.cpp Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
cfg.h Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
CMakeLists.txt Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
common_uniform_elim_pass.cpp Fixes missing increment in common uniform elim 2018-01-16 14:47:35 -05:00
common_uniform_elim_pass.h Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
compact_ids_pass.cpp Add a new constant manager class. 2017-12-08 14:14:55 -05:00
compact_ids_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
composite.cpp InsertExtractElim: Split out DeadInsertElim as separate pass 2018-01-30 08:52:14 -05:00
composite.h InsertExtractElim: Split out DeadInsertElim as separate pass 2018-01-30 08:52:14 -05:00
constants.cpp Add MatrixConstant 2018-01-12 18:49:36 -05:00
constants.h Add generic folding function and use in CCP 2018-01-22 14:26:49 -05:00
dead_branch_elim_pass.cpp Prevent unnecessary changes to the IR in dead branch elim 2018-01-30 16:51:58 -05:00
dead_branch_elim_pass.h Rewriting dead branch elimination. 2018-01-09 12:21:39 -05:00
dead_insert_elim_pass.cpp InsertExtractElim: Split out DeadInsertElim as separate pass 2018-01-30 08:52:14 -05:00
dead_insert_elim_pass.h InsertExtractElim: Split out DeadInsertElim as separate pass 2018-01-30 08:52:14 -05:00
dead_variable_elimination.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
dead_variable_elimination.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
decoration_manager.cpp Adding early exit versions of several ForEach* methods 2018-01-12 17:05:09 -05:00
decoration_manager.h Adding early exit versions of several ForEach* methods 2018-01-12 17:05:09 -05:00
def_use_manager.cpp Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
def_use_manager.h Adding early exit versions of several ForEach* methods 2018-01-12 17:05:09 -05:00
dominator_analysis.cpp Initial implementation of if conversion 2018-01-25 09:42:00 -08:00
dominator_analysis.h Initial implementation of if conversion 2018-01-25 09:42:00 -08:00
dominator_tree.cpp Add loop descriptors and some required dominator tree extensions. 2018-01-08 09:31:13 -05:00
dominator_tree.h Add loop descriptors and some required dominator tree extensions. 2018-01-08 09:31:13 -05:00
eliminate_dead_constant_pass.cpp Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
eliminate_dead_constant_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
eliminate_dead_functions_pass.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
eliminate_dead_functions_pass.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
feature_manager.cpp Store all enabled capabilities in the feature manger. 2017-12-21 11:14:53 -05:00
feature_manager.h Store all enabled capabilities in the feature manger. 2017-12-21 11:14:53 -05:00
flatten_decoration_pass.cpp Adding an unique id to Instruction generated by IRContext 2017-11-20 17:49:10 -05:00
flatten_decoration_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
fold_spec_constant_op_and_composite_pass.cpp Implement SSA CCP (SSA Conditional Constant Propagation). 2017-12-21 14:29:45 -05:00
fold_spec_constant_op_and_composite_pass.h Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
fold.cpp Use id_map in Fold*ToConstant 2018-01-22 16:27:31 -05:00
fold.h Add generic folding function and use in CCP 2018-01-22 14:26:49 -05:00
freeze_spec_constant_value_pass.cpp Replace calls to ToNop by KillInst. 2018-01-04 11:03:04 -05:00
freeze_spec_constant_value_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
function.cpp Adding ostream operators for IR structures 2018-01-12 11:19:58 -05:00
function.h Adding ostream operators for IR structures 2018-01-12 11:19:58 -05:00
if_conversion.cpp Remove constexpr from Analysis operators 2018-01-31 14:44:43 -05:00
if_conversion.h Remove constexpr from Analysis operators 2018-01-31 14:44:43 -05:00
inline_exhaustive_pass.cpp Set the parent for basic blocks during inlining. 2017-12-12 13:39:08 -05:00
inline_exhaustive_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
inline_opaque_pass.cpp Adding early exit versions of several ForEach* methods 2018-01-12 17:05:09 -05:00
inline_opaque_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
inline_pass.cpp Store all enabled capabilities in the feature manger. 2017-12-21 11:14:53 -05:00
inline_pass.h Convert private variables to function scope. 2017-12-19 14:21:04 -05:00
insert_extract_elim.cpp Use SPIR-V headers from "unified1" directory 2018-01-31 15:36:50 -05:00
insert_extract_elim.h InsertExtractElim: Split out DeadInsertElim as separate pass 2018-01-30 08:52:14 -05:00
instruction_list.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
instruction_list.h Refactor include of latest spir-v header versions 2017-12-14 11:18:20 -05:00
instruction.cpp Adding ostream operators for IR structures 2018-01-12 11:19:58 -05:00
instruction.h Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
ir_builder.h Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
ir_context.cpp Use SPIR-V headers from "unified1" directory 2018-01-31 15:36:50 -05:00
ir_context.h Remove constexpr from Analysis operators 2018-01-31 14:44:43 -05:00
ir_loader.cpp Fixed typo that leaked to the binary 2017-12-03 20:42:14 -05:00
ir_loader.h Adding an unique id to Instruction generated by IRContext 2017-11-20 17:49:10 -05:00
iterator.h Fix move semantics in iterator make_range 2017-11-21 17:36:15 -05:00
local_access_chain_convert_pass.cpp Adding early exit versions of several ForEach* methods 2018-01-12 17:05:09 -05:00
local_access_chain_convert_pass.h Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
local_redundancy_elimination.cpp Capturing value table by reference in local redundancy elim 2018-01-17 09:58:32 -05:00
local_redundancy_elimination.h Add global redundancy elimination 2017-12-07 18:35:38 -05:00
local_single_block_elim_pass.cpp Adding early exit versions of several ForEach* methods 2018-01-12 17:05:09 -05:00
local_single_block_elim_pass.h Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
local_single_store_elim_pass.cpp Adding early exit versions of several ForEach* methods 2018-01-12 17:05:09 -05:00
local_single_store_elim_pass.h Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
local_ssa_elim_pass.cpp Store all enabled capabilities in the feature manger. 2017-12-21 11:14:53 -05:00
local_ssa_elim_pass.h Maintain instruction to block mapping in phi insertion 2018-01-12 10:16:53 -05:00
log.h Avoid snprintf warning in GCC 7.1 2017-05-08 15:58:24 -04:00
loop_descriptor.cpp Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
loop_descriptor.h Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
loop_utils.cpp Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
loop_utils.h Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
make_unique.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
mem_pass.cpp Adding early exit versions of several ForEach* methods 2018-01-12 17:05:09 -05:00
mem_pass.h Rewriting dead branch elimination. 2018-01-09 12:21:39 -05:00
merge_return_pass.cpp Store all enabled capabilities in the feature manger. 2017-12-21 11:14:53 -05:00
merge_return_pass.h Initial implementation of merge return pass. 2017-11-15 10:27:04 -05:00
module.cpp Adding ostream operators for IR structures 2018-01-12 11:19:58 -05:00
module.h Adding ostream operators for IR structures 2018-01-12 11:19:58 -05:00
null_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
optimizer.cpp Reordering performance passes ordering to produce better opts 2018-02-01 18:01:10 -05:00
pass_manager.cpp Add --print-all optimizer option 2018-01-04 18:34:18 -05:00
pass_manager.h Add --print-all optimizer option 2018-01-04 18:34:18 -05:00
pass.cpp Add a new constant manager class. 2017-12-08 14:14:55 -05:00
pass.h Add a new constant manager class. 2017-12-08 14:14:55 -05:00
passes.h Add pass to reaplce invalid opcodes 2018-02-01 15:25:09 -05:00
private_to_local_pass.cpp Adding early exit versions of several ForEach* methods 2018-01-12 17:05:09 -05:00
private_to_local_pass.h Convert private variables to function scope. 2017-12-19 14:21:04 -05:00
propagator.cpp Fixes in CCP for #1228 2018-01-29 15:12:05 -05:00
propagator.h Fixes in CCP for #1228 2018-01-29 15:12:05 -05:00
redundancy_elimination.cpp Add global redundancy elimination 2017-12-07 18:35:38 -05:00
redundancy_elimination.h Add global redundancy elimination 2017-12-07 18:35:38 -05:00
reflect.h Opt: Make DecorationManager::HaveTheSameDecorations symmetric 2018-01-04 14:07:25 -05:00
remove_duplicates_pass.cpp Linker code cleanups 2018-01-05 13:28:44 -05:00
remove_duplicates_pass.h Linker code cleanups 2018-01-05 13:28:44 -05:00
replace_invalid_opc.cpp Add pass to reaplce invalid opcodes 2018-02-01 15:25:09 -05:00
replace_invalid_opc.h Add pass to reaplce invalid opcodes 2018-02-01 15:25:09 -05:00
scalar_replacement_pass.cpp Adding early exit versions of several ForEach* methods 2018-01-12 17:05:09 -05:00
scalar_replacement_pass.h Add scalar replacement 2017-12-11 10:51:13 -05:00
set_spec_constant_default_value_pass.cpp Adding early exit versions of several ForEach* methods 2018-01-12 17:05:09 -05:00
set_spec_constant_default_value_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
strength_reduction_pass.cpp Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
strength_reduction_pass.h Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
strip_debug_info_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
strip_debug_info_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
tree_iterator.h Add loop descriptors and some required dominator tree extensions. 2018-01-08 09:31:13 -05:00
type_manager.cpp Fixing bugs in type manager memory management 2017-12-21 08:59:06 -05:00
type_manager.h Fixing bugs in type manager memory management 2017-12-21 08:59:06 -05:00
types.cpp Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
types.h Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
unify_const_pass.cpp Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
unify_const_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
value_number_table.cpp Add global redundancy elimination 2017-12-07 18:35:38 -05:00
value_number_table.h Add global redundancy elimination 2017-12-07 18:35:38 -05:00
workaround1209.cpp Create a pass to work around a driver bug related to OpUnreachable. 2018-01-18 20:31:46 -05:00
workaround1209.h Create a pass to work around a driver bug related to OpUnreachable. 2018-01-18 20:31:46 -05:00