SPIRV-Tools/test/opt
Jaebaek Seo 6a3eb679bd
Preserve debug info in scalar replacement pass (#3461)
1. Set the debug scope and line information for the new replacement
   instructions.
2. Replace DebugDeclare and DebugValue if their OpVariable or value
   operands are replaced by scalars. It uses 'Indexes' operand of
   DebugValue. For example,

   struct S { int a; int b;}
   S foo; // before scalar replacement

   int foo_a; // after scalar replacement
   int foo_b;

   DebugDeclare %dbg_foo %foo %null_expr // before

   DebugValue %dbg_foo %foo_a %Deref_expr 0 // after
   DebugValue %dbg_foo %foo_b %Deref_expr 1 // means Value(foo.members[1]) == Deref(%foo_b)
2020-07-27 13:02:25 -04:00
..
dominator_tree spirv-opt: Add support for OpLabel to dominator analysis (#3516) 2020-07-15 12:59:35 +01:00
loop_optimizations Support SPV_KHR_terminate_invocation (#3568) 2020-07-22 11:45:02 -04:00
aggressive_dead_code_elim_test.cpp Preserve OpenCL.DebugInfo.100 through elim-dead-code-aggressive (#3542) 2020-07-21 16:10:09 -04:00
amd_ext_to_khr.cpp Handle TimeAMD in AmdExtensionToKhrPass. (#3168) 2020-02-03 12:13:32 -05: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 Support SPV_KHR_terminate_invocation (#3568) 2020-07-22 11:45:02 -04:00
ccp_test.cpp Debug info preservation in ccp pass (#3420) 2020-06-12 10:54:06 -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 Add debug information analysis (#3305) 2020-04-27 15:18:55 -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 Handle id overflow in the constant manager. (#2844) 2019-09-09 15:12:26 -04:00
constants_test.cpp Add pass to inject code for robust-buffer-access semantics (#2771) 2019-07-30 19:52:46 -04:00
convert_relaxed_to_half_test.cpp Fix convert-relax-to-half invalid code (#3099) (#3106) 2019-12-20 21:08:12 -05:00
copy_prop_array_test.cpp Debug info preservation in copy-prop-array pass (#3444) 2020-07-06 13:48:12 -04:00
dead_branch_elim_test.cpp Debug info preservation in dead branch elimination (#3425) 2020-06-18 14:55:45 -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
debug_info_manager_test.cpp Rewrite KillDebugDeclares() (#3513) 2020-07-14 14:47:16 -04:00
decompose_initialized_variables_test.cpp SPIRV-Tools support for SPIR-V 1.5 (#2865) 2019-09-13 14:59:02 -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 Support OpCompositeExtract pattern in desc_sroa (#3456) 2020-06-23 12:24:53 -05: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 Add debug information analysis (#3305) 2020-04-27 15:18:55 -04:00
eliminate_dead_member_test.cpp Handle more cases in dead member elim (#3289) 2020-04-09 15:44:20 -04: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 Support constant-folding UConvert and SConvert (#2960) 2019-10-16 16:29:55 -04:00
fold_test.cpp Reject folding comparisons with unfoldable types. (#3370) 2020-05-21 12:58:08 -04: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 SPIRV-Tools support for SPIR-V 1.5 (#2865) 2019-09-13 14:59:02 -04:00
graphics_robust_access_test.cpp graphics robust access: use signed clamp (#3073) 2019-12-03 11:18:56 -05:00
if_conversion_test.cpp Validate that selections are structured (#2962) 2019-10-11 17:01:30 -04:00
inline_opaque_test.cpp Revert "Revert "[spirv-opt] refactor inlining pass (#3328)" (#3342)" (#3345) 2020-05-14 10:55:47 -04:00
inline_test.cpp Support SPV_KHR_terminate_invocation (#3568) 2020-07-22 11:45:02 -04:00
insert_extract_elim_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
inst_bindless_check_test.cpp Make Instrumentation format version 2 the default (Step 1) (#3096) 2019-12-16 14:18:47 -05:00
inst_buff_addr_check_test.cpp Make Instrumentation format version 2 the default (Step 1) (#3096) 2019-12-16 14:18:47 -05:00
inst_debug_printf_test.cpp Instrument: Debug Printf support (#3215) 2020-03-12 09:19:52 -04:00
instruction_list_test.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
instruction_test.cpp Generalize IsReadOnlyVariable() to apply to pointers (#3325) 2020-04-30 22:47:20 +01:00
ir_builder.cpp Add support for KHR_ray_{query,tracing} extensions (#3235) 2020-03-17 15:30:19 -04:00
ir_context_test.cpp Preserve debug info in scalar replacement pass (#3461) 2020-07-27 13:02:25 -04:00
ir_loader_test.cpp Set DebugScope for termination instructions (#3323) 2020-04-28 09:30:44 -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 SPIRV-Tools support for SPIR-V 1.5 (#2865) 2019-09-13 14:59:02 -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 id overflow in convert local access chains (#2908) 2019-09-24 14:04:54 -04:00
local_redundancy_elimination_test.cpp Fix identification of Vulkan images and buffers (#3253) 2020-03-25 17:38:24 -04:00
local_single_block_elim.cpp Upgrade elim-local-single-block for OpenCL.DebugInfo.100 (#3451) 2020-07-09 17:21:39 -04:00
local_single_store_elim_test.cpp Preserve OpenCL.DebugInfo.100 through elim-local-single-store (#3498) 2020-07-10 15:17:14 -04:00
local_ssa_elim_test.cpp Clear debug information for kill and replacement (#3459) 2020-06-25 15:48:26 -04:00
module_test.cpp Record trailing line dbg instructions (#2926) 2019-09-27 16:03:45 -04:00
module_utils.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
optimizer_test.cpp Permit the debug instructions in WebGPU SPIR-V - remove from the optimizer (#3083) 2019-12-03 11:21:26 -05:00
pass_fixture.h Avoid pessimizing std::move (#3124) 2019-12-27 12:05:58 -05:00
pass_manager_test.cpp Fix memory leak in unrolling. (#2301) 2019-01-17 16:02:43 -05:00
pass_merge_return_test.cpp Sink pointer instructions in merge return (#3569) 2020-07-22 11:10:58 -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 Preserve OpenCL.DebugInfo.100 through private-to-local pass (#3571) 2020-07-27 09:27:47 -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 Preserve OpenCL.100.DebugInfo in reduce-load-size pass (#3492) 2020-07-08 16:34:00 -04:00
redundancy_elimination_test.cpp Make EFFCEE required (#1943) 2018-10-04 10:00:11 -04:00
register_liveness.cpp Handle unreachable block when computing register pressure (#3070) 2019-11-27 09:45:17 -05:00
relax_float_ops_test.cpp Add --relax-float-ops and --convert-relaxed-to-half (#2808) 2019-09-03 13:22:13 -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 Preserve debug info in scalar replacement pass (#3461) 2020-07-27 13:02:25 -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 Add two new simplifications. (#2984) 2019-10-28 08:19:38 -07:00
split_invalid_unreachable_test.cpp SPIRV-Tools support for SPIR-V 1.5 (#2865) 2019-09-13 14:59:02 -04:00
strength_reduction_test.cpp Make EFFCEE required (#1943) 2018-10-04 10:00:11 -04:00
strip_atomic_counter_memory_test.cpp SPIRV-Tools support for SPIR-V 1.5 (#2865) 2019-09-13 14:59:02 -04:00
strip_debug_info_test.cpp Add support for SPV_KHR_non_semantic_info (#3110) 2019-12-18 18:10:29 -05:00
strip_reflect_info_test.cpp Add test with explicit example of stripping reflection info (#3064) 2019-11-26 16:20:45 -05:00
struct_cfg_analysis_test.cpp Struct CFG analysus and single block loop (#3293) 2020-04-13 10:08:31 -04:00
type_manager_test.cpp Add support for KHR_ray_{query,tracing} extensions (#3235) 2020-03-17 15:30:19 -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 Fix operand access of composite in upgrade memory model (#3021) 2019-11-12 13:41:38 -05:00
utils_test.cpp Remove use of deprecated googletest macro (#2286) 2019-01-29 18:56:52 -05:00
value_table_test.cpp Sampled images as read-only storage (#3295) 2020-04-14 12:58:05 -04:00
vector_dce_test.cpp Preserve debug info in vector DCE pass (#3497) 2020-07-10 10:19:34 -04:00
workaround1209_test.cpp Make EFFCEE required (#1943) 2018-10-04 10:00:11 -04:00
wrap_opkill_test.cpp Support SPV_KHR_terminate_invocation (#3568) 2020-07-22 11:45:02 -04:00