SPIRV-Tools/source/opt
Steven Perron efe12ff5a1 Have all MemPasses preserve the def-use manager.
Originally the passes that extended from MemPass were those that are
of the def-use manager.  I am assuming they would be able to preserve
it because of that.

Added a check to verify consistency of the IRContext. The IRContext
relies on the pass to tell it if something is invalidated.
It is possible that the pass lied.  To help identify those situations,
we will check if the valid analyses are correct after each pass.

This will be enabled by default for the debug build, and disabled in the
production build.  It can be disabled in the debug build by adding
"-DSPIRV_CHECK_CONTEXT=OFF" to the cmake command.
2017-11-10 11:17:12 -05:00
..
aggressive_dead_code_elim_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
aggressive_dead_code_elim_pass.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
basic_block.cpp Add a new class opt::CFG to represent the CFG for the module. 2017-11-02 10:37:03 -04:00
basic_block.h Add a new class opt::CFG to represent the CFG for the module. 2017-11-02 10:37:03 -04:00
block_merge_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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 files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
build_module.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
cfg_cleanup_pass.cpp Add the IRContext (part 1) 2017-10-31 13:46:05 -04:00
cfg_cleanup_pass.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
cfg.cpp Move class CFG from namespace opt to namespace ir. 2017-11-02 11:51:07 -04:00
cfg.h Move class CFG from namespace opt to namespace ir. 2017-11-02 11:51:07 -04:00
CMakeLists.txt Add a new class opt::CFG to represent the CFG for the module. 2017-11-02 10:37:03 -04:00
common_uniform_elim_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
common_uniform_elim_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
compact_ids_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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.h Clean up header dependency. 2016-09-22 18:15:23 -04:00
dead_branch_elim_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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 files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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 Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05: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 Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
def_use_manager.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
eliminate_dead_constant_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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 Add the IRContext (part 2): Add def-use manager 2017-11-08 13:35:34 -05:00
eliminate_dead_functions_pass.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
flatten_decoration_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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 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.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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 Implement Linker (module combiner) 2017-10-06 18:33:53 -04:00
function.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
inline_exhaustive_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03: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 Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
inline_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
insert_extract_elim.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
insert_extract_elim.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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 Change the sections in the module to use the InstructionList class. 2017-10-25 15:52:06 -04:00
instruction.cpp Change BasicBlock to use InstructionList to hold instructions. 2017-10-20 12:37:44 -04:00
instruction.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
ir_context.cpp Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
ir_context.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05: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 Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
local_access_chain_convert_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
local_access_chain_convert_pass.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
local_single_block_elim_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
local_single_block_elim_pass.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
local_single_store_elim_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
local_single_store_elim_pass.h Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
local_ssa_elim_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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 Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
mem_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
module.cpp Change the sections in the module to use the InstructionList class. 2017-10-25 15:52:06 -04:00
module.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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 Add the IRContext (part 2): Add def-use manager 2017-11-08 13:35:34 -05:00
pass_manager.cpp Add the IRContext (part 2): Add def-use manager 2017-11-08 13:35:34 -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 Have all MemPasses preserve the def-use manager. 2017-11-10 11:17:12 -05:00
pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
passes.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
reflect.h Optimizer: Line and NoLine are not debug1 or debug2 2017-10-24 10:54:23 -04:00
remove_duplicates_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
remove_duplicates_pass.h Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
set_spec_constant_default_value_pass.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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 Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
strength_reduction_pass.h 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.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
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 Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05: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 Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -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