SPIRV-Tools/test/opt
David Neto efff5fabfa Inline: Fix single-block loop caller cases
If the caller block is a single-block loop and inlining will
replace the caller block by several blocks, then:
- The original OpLoopMerge instruction will end up in the *last*
  such block.  That's the wrong place to put it.
- Move it back to the end of the first block.
- Update its Continue Target ID to point to the last block

We also have to take care of cases where the inlined code
begins with a structured header block.  In this case
we need to ensure the restored OpLoopMerge does not appear
in the same block as the merge instruction from the callee's
first block.

Fixes https://github.com/KhronosGroup/SPIRV-Tools/issues/787
2017-09-01 15:47:17 -04:00
..
aggressive_dead_code_elim_test.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
assembly_builder_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
assembly_builder.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
block_merge_test.cpp BlockMerge: Add BlockMergePass 2017-06-27 11:31:33 -04:00
CMakeLists.txt Opt: Create InlineOpaquePass 2017-08-18 18:04:30 -04:00
common_uniform_elim_test.cpp Add CommonUniformElim pass 2017-08-03 11:34:58 -04:00
compact_ids_test.cpp Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -04:00
dead_branch_elim_test.cpp DeadBranchElim: Fix dead block detection to ignore backedges 2017-08-30 13:37:46 -04:00
def_use_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
eliminate_dead_const_test.cpp Provide friendly names for true and false 2017-01-11 16:33:45 -05:00
flatten_decoration_test.cpp Add FlattenDecoration transform 2017-04-06 11:19:56 -04:00
fold_spec_const_op_composite_test.cpp Provide friendly names for true and false 2017-01-11 16:33:45 -05:00
freeze_spec_const_test.cpp Provide friendly names for true and false 2017-01-11 16:33:45 -05:00
inline_opaque_test.cpp Opt: Create InlineOpaquePass 2017-08-18 18:04:30 -04:00
inline_test.cpp Inline: Fix single-block loop caller cases 2017-09-01 15:47:17 -04:00
insert_extract_elim_test.cpp Opt: Add opaque tests 2017-08-15 15:54:41 -06:00
instruction_test.cpp Include memory and semantics IDs when iterating over inbound IDs 2017-07-05 10:36:57 -04:00
ir_loader_test.cpp Make friendly number-based names for OpConstant 2016-11-15 14:05:03 -05:00
iterator_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
line_debug_info_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
local_access_chain_convert_test.cpp Opt: Add opaque tests 2017-08-15 15:54:41 -06:00
local_single_block_elim.cpp Opt: Have "size" passes process full entry point call tree. 2017-08-18 10:16:01 -04:00
local_single_store_elim_test.cpp Opt: Delete names and decorations of dead instructions 2017-07-26 18:36:41 -04:00
local_ssa_elim_test.cpp Add LocalMultiStoreElim pass 2017-07-07 17:54:21 -04:00
module_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
module_utils.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
optimizer_test.cpp Fix optimizer on when to write the binary 2017-04-03 15:48:50 -04:00
pass_fixture.h Added --compact-ids to /tools/opt 2017-04-20 10:54:39 -04:00
pass_manager_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
pass_utils.cpp Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
pass_utils.h Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
set_spec_const_default_value_test.cpp Update set_spec_const_default_value_test.cpp 2017-05-08 10:41:48 -04:00
strip_debug_info_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
type_manager_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
types_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
unify_const_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
utils_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00