SPIRV-Tools/source/opt
GregF 7c3de19ce7 DeadBranchElim: Fix dead block detection to ignore backedges
- DeadBranchElim: Make sure to mark orphan'd merge blocks and continue
targets as live.
- Add test with loop in dead branch
- Add test that orphan'd merge block is handled.

Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/776
2017-08-30 13:37:46 -04:00
..
aggressive_dead_code_elim_pass.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
aggressive_dead_code_elim_pass.h Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
basic_block.cpp DeadBranchElim: Fix dead block detection to ignore backedges 2017-08-30 13:37:46 -04:00
basic_block.h DeadBranchElim: Fix dead block detection to ignore backedges 2017-08-30 13:37:46 -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 Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -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
CMakeLists.txt Opt: Create InlineOpaquePass 2017-08-18 18:04:30 -04:00
common_uniform_elim_pass.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
common_uniform_elim_pass.h Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
compact_ids_pass.cpp Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -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: Fix dead block detection to ignore backedges 2017-08-30 13:37:46 -04:00
dead_branch_elim_pass.h Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
def_use_manager.cpp Add LocalMultiStoreElim pass 2017-07-07 17:54:21 -04:00
def_use_manager.h Add LocalMultiStoreElim pass 2017-07-07 17:54:21 -04:00
eliminate_dead_constant_pass.cpp Change interface of Pass::Process() to return possible failures. 2016-09-20 16:40:17 -04:00
eliminate_dead_constant_pass.h Add a C++ interface to the optimization functionalities. 2016-09-20 16:52:05 -04:00
flatten_decoration_pass.cpp Add FlattenDecoration transform 2017-04-06 11:19:56 -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 Clean up header dependency. 2016-09-22 18:15:23 -04:00
fold_spec_constant_op_and_composite_pass.h Clean up header dependency. 2016-09-22 18:15:23 -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 Add exhaustive function call inlining to spirv-opt 2017-03-29 18:02:40 -04:00
function.h Inline: Inline early return function if no returns in loop. 2017-05-12 17:18:00 -04:00
inline_exhaustive_pass.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
inline_exhaustive_pass.h Inline: Split out InlineExhaustivePass from InlinePass 2017-08-04 17:56:46 -04:00
inline_opaque_pass.cpp Opt: Create InlineOpaquePass 2017-08-18 18:04:30 -04:00
inline_opaque_pass.h Opt: Create InlineOpaquePass 2017-08-18 18:04:30 -04:00
inline_pass.cpp Inline: Fix remapping of non-label forward references in callee phi 2017-08-29 18:35:05 -06:00
inline_pass.h Opt: Create InlineOpaquePass 2017-08-18 18:04:30 -04:00
insert_extract_elim.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
insert_extract_elim.h Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
instruction.cpp Clean up header dependency. 2016-09-22 18:15:23 -04:00
instruction.h Include memory and semantics IDs when iterating over inbound IDs 2017-07-05 10:36:57 -04:00
ir_loader.cpp Change some asserts to normal errors in IrLoader. 2016-09-21 17:22:00 -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 Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
local_access_chain_convert_pass.h Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
local_single_block_elim_pass.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
local_single_block_elim_pass.h Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
local_single_store_elim_pass.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
local_single_store_elim_pass.h Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
local_ssa_elim_pass.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
local_ssa_elim_pass.h Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -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: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
mem_pass.h Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
module.cpp Add AggressiveDCEPass 2017-07-10 11:30:25 -04:00
module.h Add AggressiveDCEPass 2017-07-10 11:30:25 -04:00
null_pass.h Add a C++ interface to the optimization functionalities. 2016-09-20 16:52:05 -04:00
optimizer.cpp Opt: Create InlineOpaquePass 2017-08-18 18:04:30 -04:00
pass_manager.cpp Change interface of Pass::Process() to return possible failures. 2016-09-20 16:40:17 -04:00
pass_manager.h Clean up header dependency. 2016-09-22 18:15:23 -04:00
pass.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
pass.h Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
passes.h Opt: Create InlineOpaquePass 2017-08-18 18:04:30 -04:00
reflect.h Add SPIR-V 1.2 support, for OpenCL 2.2 2017-05-15 17:10:07 -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
strip_debug_info_pass.cpp Change interface of Pass::Process() to return possible failures. 2016-09-20 16:40:17 -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