SPIRV-Tools/test/opt
Steven Perron 60043edfa1
Replace OpKill With function call. (#2790)
We are no able to inline OpKill instructions into a continue construct.
See #2433.  However, we have to be able to inline to correctly do
legalization.  This commit creates a pass that will wrap OpKill
instructions into a function of its own.  That way we are able to inline
the rest of the code.

The follow up to this will be to not inline any function that contains
an OpKill.

Fixes #2726
2019-08-14 09:27:12 -04:00
..
dominator_tree Enable precompiled headers for spirv-tools(-shared) and some unit tests (#2026) 2018-11-06 09:26:23 -05:00
loop_optimizations In LICM don't place code between merge instruction and branch. (#2252) 2018-12-20 18:33:52 -05:00
aggressive_dead_code_elim_test.cpp Add SPV_EXT_physical_storage_buffer to opt whitelists (#2779) 2019-08-08 09:45:59 -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 Validate that OpUnreacahble is not statically reachable (#2473) 2019-03-29 10:49:37 -04:00
ccp_test.cpp Removing decorations when doing constant propagation. (#2444) 2019-03-13 10:40:49 -04:00
cfg_cleanup_test.cpp Add validation for execution modes 2018-10-02 10:22:23 -04:00
cfg_test.cpp Change implementation of post order CFG traversal (#2543) 2019-04-29 17:09:20 -04:00
CMakeLists.txt Replace OpKill With function call. (#2790) 2019-08-14 09:27:12 -04:00
code_sink_test.cpp Handle instructions not in blocks in code sinking. (#2308) 2019-01-21 12:09:56 -05:00
combine_access_chains_test.cpp Make EFFCEE required (#1943) 2018-10-04 10:00:11 -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
constants_test.cpp Add pass to inject code for robust-buffer-access semantics (#2771) 2019-07-30 19:52:46 -04:00
copy_prop_array_test.cpp Add a nullptr check to array copy propagation. (#1987) 2018-10-19 12:53:40 -04:00
dead_branch_elim_test.cpp Change the order branches are simplified in dead branch elim (#2728) 2019-07-10 14:59:44 -04:00
dead_insert_elim_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
dead_variable_elim_test.cpp Validate variable initializer type (#2668) 2019-06-15 00:34:18 -04:00
decompose_initialized_variables_test.cpp Add support for Private & Output to initializer decompose flag (#2537) 2019-04-25 16:24:32 -04:00
decoration_manager_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
def_use_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
desc_sroa_test.cpp Add descriptor array scalar replacement (#2742) 2019-08-08 10:53:19 -04:00
eliminate_dead_const_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
eliminate_dead_functions_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
eliminate_dead_member_test.cpp Don't change type of input and output var in dead member elim (#2412) 2019-02-20 18:59:41 -05:00
feature_manager_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
fix_storage_class_test.cpp Fix up type mismatches. (#2545) 2019-05-02 09:31:46 -04:00
flatten_decoration_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
fold_spec_const_op_composite_test.cpp Add folding rules for OpQuantizeToF16 (#2614) 2019-05-21 23:15:01 -07:00
fold_test.cpp Protect against out-of-bounds references when folding OpCompositeExtract (#2774) 2019-07-29 13:27:40 -07:00
freeze_spec_const_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
function_test.cpp Don't inline recursive functions. (#2130) 2018-11-29 14:24:58 -05:00
function_utils.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
generate_webgpu_initializers_test.cpp Implement WebGPU->Vulkan initializer conversion for 'Function' variables (#2513) 2019-04-16 14:31:36 -04:00
graphics_robust_access_test.cpp Add pass to inject code for robust-buffer-access semantics (#2771) 2019-07-30 19:52:46 -04:00
if_conversion_test.cpp Fix restrictions in if conversion (#1998) 2018-10-19 15:16:46 -04:00
inline_opaque_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
inline_test.cpp Revert "Do not inline OpKill Instructions (#2713)" (#2749) 2019-07-17 14:59:05 -04:00
insert_extract_elim_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
inst_bindless_check_test.cpp Instrument: Fix version 2 output record write for tess eval shaders. (#2782) 2019-08-09 08:22:41 -04:00
instruction_list_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
instruction_test.cpp Instruction::GetBaseAddress to handle OpPtrAccessChain (#2050) 2018-11-14 12:42:25 -05:00
ir_builder.cpp Recognize OpTypeAccelerationStructureNV as a type instruction (#2190) 2018-12-11 19:03:55 -05:00
ir_context_test.cpp Document in the context what happens with id overflow. (#2159) 2018-12-06 09:07:00 -05: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
legalize_vector_shuffle_test.cpp Implement WebGPU->Vulkan initializer conversion for 'Function' variables (#2513) 2019-04-16 14:31:36 -04:00
line_debug_info_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
local_access_chain_convert_test.cpp Handle variable pointer in some optimizations (#2490) 2019-04-03 12:47:51 -04:00
local_redundancy_elimination_test.cpp Make EFFCEE required (#1943) 2018-10-04 10:00:11 -04:00
local_single_block_elim.cpp Handle variable pointer in some optimizations (#2490) 2019-04-03 12:47:51 -04:00
local_single_store_elim_test.cpp Handle variable pointer in some optimizations (#2490) 2019-04-03 12:47:51 -04:00
local_ssa_elim_test.cpp SSA rewriter: Don't use trivial phis (#2757) 2019-07-23 17:59:30 -04:00
module_test.cpp Add option for the max id bound. (#1870) 2018-09-10 11:49:41 -04:00
module_utils.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
optimizer_test.cpp Remove Common Uniform Elimination Pass (#2731) 2019-07-12 11:02:10 -04:00
pass_fixture.h Add opt test fixture method SinglePassRunAndFail (#2770) 2019-07-30 10:38:46 -04:00
pass_manager_test.cpp Fix memory leak in unrolling. (#2301) 2019-01-17 16:02:43 -05:00
pass_merge_return_test.cpp Fix check for unreachable blocks in merge-return (#2762) 2019-07-25 09:34:18 -04:00
pass_remove_duplicates_test.cpp Fixup readabilty/inheritance warnings (#1805) 2018-08-07 09:10:03 -04:00
pass_utils.cpp Check for unreachable blocks in merge-return. (#1966) 2018-10-10 15:18:15 -04:00
pass_utils.h Fix gtest.h include in test/opt/pass_utils.h 2018-10-12 10:22:25 -04:00
pch_test_opt.cpp Rename PCH macro to spvtools_pch to avoid conflicts with other projects. Also add pch to test/opt. (#2034) 2018-11-07 09:15:04 -05:00
pch_test_opt.h Rename PCH macro to spvtools_pch to avoid conflicts with other projects. Also add pch to test/opt. (#2034) 2018-11-07 09:15:04 -05:00
private_to_local_test.cpp Update priv-to-local for SPIR-V 1.4 (#2567) 2019-05-08 12:38:49 -04:00
process_lines_test.cpp Add passes to propagate and eliminate redundant line instructions (#2027). (#2039) 2018-11-15 14:06:17 -05:00
propagator_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
reduce_load_size_test.cpp Have replace load size handle extact with no index. (#2261) 2019-01-03 13:02:10 -05:00
redundancy_elimination_test.cpp Make EFFCEE required (#1943) 2018-10-04 10:00:11 -04:00
register_liveness.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
replace_invalid_opc_test.cpp Check for unreachable blocks in merge-return. (#1966) 2018-10-10 15:18:15 -04:00
scalar_analysis.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
scalar_replacement_test.cpp Handle RelaxedPrecision in SROA (#2788) 2019-08-07 12:17:26 -04:00
set_spec_const_default_value_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
simplification_test.cpp Don't move debug or decorations when folding (#2772) 2019-07-29 16:20:43 -04:00
split_invalid_unreachable_test.cpp Add pass to fix some invalid unreachable blocks for WebGPU (#2563) 2019-05-09 12:56:10 -04:00
strength_reduction_test.cpp Make EFFCEE required (#1943) 2018-10-04 10:00:11 -04:00
strip_atomic_counter_memory_test.cpp Implement WebGPU->Vulkan initializer conversion for 'Function' variables (#2513) 2019-04-16 14:31:36 -04:00
strip_debug_info_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
strip_reflect_info_test.cpp Remove MemberDecorateStringGOOGLE during stript-refect. (#2021) 2018-10-30 16:17:35 -04:00
struct_cfg_analysis_test.cpp Handle nested breaks from switches. (#2624) 2019-05-27 16:28:14 -04:00
type_manager_test.cpp Optimizer: Handle array type with OpSpecConstantOp length (#2652) 2019-06-05 16:35:50 -04:00
types_test.cpp Remove useless semi-colons (#2789) 2019-08-12 08:52:39 -04:00
unify_const_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
upgrade_memory_model_test.cpp Handle volatile memory semantics in upgrade (#2674) 2019-06-17 16:01:37 -04:00
utils_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
value_table_test.cpp Handle decorations better in some optimizations (#2716) 2019-07-10 11:37:16 -04:00
vector_dce_test.cpp Handle extract with no index in VDCE. (#2305) 2019-01-18 15:43:36 -05:00
workaround1209_test.cpp Make EFFCEE required (#1943) 2018-10-04 10:00:11 -04:00
wrap_opkill_test.cpp Replace OpKill With function call. (#2790) 2019-08-14 09:27:12 -04:00