SPIRV-Tools/source/opt
Steven Perron fd3a22042b DCEInst kill the same instruction twice.
In DCEInst, it is possible that the same instruction ends up in the
queue multiple times, if the same id is used multiple times in the
same instruction.

The solution is to keep the ids in a set, to ensure no duplication in
the list.
2017-12-04 18:15:35 -05:00
..
aggressive_dead_code_elim_pass.cpp Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
aggressive_dead_code_elim_pass.h Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
basic_block.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
basic_block.h Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -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 Generic value propagation engine. 2017-11-27 23:32:06 -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 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 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 Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
def_use_manager.h Fixed typo that leaked to the binary 2017-12-03 20:42:14 -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
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 Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -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 Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
function.h Adding an unique id to Instruction generated by IRContext 2017-11-20 17:49:10 -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 Opt: Remove unused lambda captures 2017-12-01 09:54:37 -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 Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
instruction.cpp Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
instruction.h Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
ir_context.cpp Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -05:00
ir_context.h Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -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 Compute value number when the value table is constructed. 2017-12-04 11:02:04 -05:00
local_redundancy_elimination.h Create a local value numbering pass 2017-11-23 11:45:09 -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 Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -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 DCEInst kill the same instruction twice. 2017-12-04 18:15:35 -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 Adding an unique id to Instruction generated by IRContext 2017-11-20 17:49:10 -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 RegisterLegalizationPasses() into the interface 2017-11-23 17:26:44 -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 Convert the CFG to an on-demand analysis - NFC. 2017-11-28 13:25:41 -05:00
passes.h Re-format source tree - NFC. 2017-11-27 14:31:49 -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
reflect.h Optimizer: Line and NoLine are not debug1 or debug2 2017-10-24 10:54:23 -04: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
set_spec_constant_default_value_pass.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -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 Change IRContext::KillInst to delete instructions. 2017-12-04 11:07:45 -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 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 Compute value number when the value table is constructed. 2017-12-04 11:02:04 -05:00
value_number_table.h Compute value number when the value table is constructed. 2017-12-04 11:02:04 -05:00