SPIRV-Tools/source/opt
Alan Baker 616908503d Improving the usability of the type manager. The type manager hashes
types. This allows the lookup of type declaration ids from arbitrarily
constructed types. Users should be cautious when dealing with non-unique
types (structs and potentially pointers) to get the exact id if
necessary.

* Changed the spec composite constant folder to handle ambiguous composites
* Added functionality to create necessary instructions for a type
* Added ability to remove ids from the type manager
2017-12-18 08:20:56 -05:00
..
aggressive_dead_code_elim_pass.cpp ADCE: Only mark true breaks and continues of live loops 2017-12-15 11:53:57 -05:00
aggressive_dead_code_elim_pass.h ADCE: Only mark true breaks and continues of live loops 2017-12-15 11:53:57 -05:00
basic_block.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
basic_block.h Dominator Tree Analysis (#3) 2017-12-05 22:59:43 -05:00
block_merge_pass.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
block_merge_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
build_module.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
build_module.h Re-format source tree - NFC. 2017-11-27 14:31:49 -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 Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
cfg.h Convert the CFG to an on-demand analysis - NFC. 2017-11-28 13:25:41 -05:00
CMakeLists.txt Add scalar replacement 2017-12-11 10:51:13 -05:00
common_uniform_elim_pass.cpp Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -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
constants.cpp Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
constants.h Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
dead_branch_elim_pass.cpp Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
dead_branch_elim_pass.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -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 Erase decorations removed from internal collections 2017-11-30 11:35:02 -05:00
decoration_manager.h Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
def_use_manager.cpp Add scalar replacement 2017-12-11 10:51:13 -05:00
def_use_manager.h Add scalar replacement 2017-12-11 10:51:13 -05:00
dominator_analysis.h Dominator Tree Analysis (#3) 2017-12-05 22:59:43 -05:00
dominator_tree.cpp Add depth first iterator for trees 2017-12-07 10:07:56 -05:00
dominator_tree.h Add depth first iterator for trees 2017-12-07 10:07:56 -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 Add scalar replacement 2017-12-11 10:51:13 -05:00
feature_manager.h Add scalar replacement 2017-12-11 10:51:13 -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 Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -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 Re-factor generic constant folding code out of FoldSpecConstantOpAndCompositePass 2017-10-17 19:41:37 -04:00
fold.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
freeze_spec_constant_value_pass.cpp Add the IRContext (part 1) 2017-10-31 13:46:05 -04: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 Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
function.h Dominator Tree Analysis (#3) 2017-12-05 22:59: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 Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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 Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
inline_pass.h Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
insert_extract_elim.cpp Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
insert_extract_elim.h Re-format source tree - NFC. 2017-11-27 14:31:49 -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 Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
instruction.h Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
ir_context.cpp Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
ir_context.h Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -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 Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -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 Add global redundancy elimination 2017-12-07 18:35:38 -05:00
local_redundancy_elimination.h Add global redundancy elimination 2017-12-07 18:35:38 -05:00
local_single_block_elim_pass.cpp Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -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 Refactor include of latest spir-v header versions 2017-12-14 11:18:20 -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 Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
local_ssa_elim_pass.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05: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 MultiStore: Support OpVariable Initialization 2017-12-11 10:37:14 -05:00
mem_pass.h Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
merge_return_pass.cpp Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
merge_return_pass.h Initial implementation of merge return pass. 2017-11-15 10:27:04 -05:00
module.cpp Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
module.h Add a new constant manager class. 2017-12-08 14:14:55 -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 Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
pass_manager.cpp Add a new constant manager class. 2017-12-08 14:14:55 -05:00
pass_manager.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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 Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
propagator.cpp Remove cfg_ field from SSAPropagator class - NFC. 2017-12-04 15:28:21 -05:00
propagator.h Remove cfg_ field from SSAPropagator class - NFC. 2017-12-04 15:28:21 -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 Refactor include of latest spir-v header versions 2017-12-14 11:18:20 -05:00
remove_duplicates_pass.cpp Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
remove_duplicates_pass.h Add the decoration manager to the IRContext. 2017-11-15 12:48:03 -05:00
scalar_replacement_pass.cpp Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
scalar_replacement_pass.h Add scalar replacement 2017-12-11 10:51:13 -05:00
set_spec_constant_default_value_pass.cpp Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -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 depth first iterator for trees 2017-12-07 10:07:56 -05:00
type_manager.cpp Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -05:00
type_manager.h Improving the usability of the type manager. The type manager hashes 2017-12-18 08:20:56 -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