SPIRV-Tools/test/opt
Steven Perron 6c73b1fb70
Update the order when predicating blocks. (#1859)
When doing predicate blocks, we need to traverse every block in
structured order in order to keep track of which construct a block is
contained in.  The standard way of traversing code in structured order
is to create a list with all of the nodes in order.  However, when
predicating blocks, new blocks are created, and those blocks are missed.
This causes branches that go too far.

The solution is to update the order as new blocks are created.  Since
we are using an std::list, we do not have to worry about invalidation of
iterators when changing the list.
2018-08-23 12:59:31 -04:00
..
dominator_tree Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
loop_optimizations Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
aggressive_dead_code_elim_test.cpp Handle breaks from structured-ifs in DCE. (#1848) 2018-08-21 11:54:44 -04:00
assembly_builder_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
assembly_builder.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
block_merge_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
ccp_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
cfg_cleanup_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
CMakeLists.txt Transform to combine consecutive access chains 2018-07-31 13:42:47 -04:00
combine_access_chains_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
common_uniform_elim_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
compact_ids_test.cpp Validate the input to Optimizer::Run (#1799) 2018-08-08 11:16:19 -04:00
constant_manager_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
copy_prop_array_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
dead_branch_elim_test.cpp Have dead-branch-elim handle conditional exits from selections. (#1850) 2018-08-21 11:49:56 -04:00
dead_insert_elim_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
dead_variable_elim_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
decoration_manager_test.cpp Fixup readabilty/inheritance warnings (#1805) 2018-08-07 09:10:03 -04:00
def_use_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
eliminate_dead_const_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
eliminate_dead_functions_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
feature_manager_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
flatten_decoration_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
fold_spec_const_op_composite_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
fold_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
freeze_spec_const_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
function_utils.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
if_conversion_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
inline_opaque_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
inline_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
insert_extract_elim_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
instruction_list_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
instruction_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
ir_builder.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
ir_context_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
ir_loader_test.cpp Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
iterator_test.cpp Move make_unique to source/util. (#1836) 2018-08-14 12:44:54 -04:00
line_debug_info_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
local_access_chain_convert_test.cpp Keep decorations when replacing loads in access-chain-convert. (#1829) 2018-08-15 09:14:21 -04:00
local_redundancy_elimination_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
local_single_block_elim.cpp Keep decorations when replacing loads in access-chain-convert. (#1829) 2018-08-15 09:14:21 -04:00
local_single_store_elim_test.cpp Keep decorations when replacing loads in access-chain-convert. (#1829) 2018-08-15 09:14:21 -04:00
local_ssa_elim_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
module_test.cpp Remove source/message.h (#1838) 2018-08-14 15:41:21 -04:00
module_utils.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
optimizer_test.cpp Validate the input to Optimizer::Run (#1799) 2018-08-08 11:16:19 -04:00
pass_fixture.h Use MakeUnique. (#1837) 2018-08-14 15:01:50 -04:00
pass_manager_test.cpp Move make_unique to source/util. (#1836) 2018-08-14 12:44:54 -04:00
pass_merge_return_test.cpp Update the order when predicating blocks. (#1859) 2018-08-23 12:59:31 -04:00
pass_remove_duplicates_test.cpp Fixup readabilty/inheritance warnings (#1805) 2018-08-07 09:10:03 -04:00
pass_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
pass_utils.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
pass_utils.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
private_to_local_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
propagator_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
reduce_load_size_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
redundancy_elimination_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
register_liveness.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
replace_invalid_opc_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
scalar_analysis.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
scalar_replacement_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
set_spec_const_default_value_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
simplification_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
strength_reduction_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
strip_debug_info_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
strip_reflect_info_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
type_manager_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
types_test.cpp Use MakeUnique. (#1837) 2018-08-14 15:01:50 -04:00
unify_const_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
utils_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
value_table_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
vector_dce_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
workaround1209_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00