SPIRV-Tools/source/opt
Jaebaek Seo 56d0f50357
Propagate OpLine to all applied instructions in spirv-opt (#3951)
Based on the OpLine spec, an OpLine instruction must be applied to
the instructions physically following it up to the first occurrence
of the next end of block, the next OpLine instruction, or the next
OpNoLine instruction.

```
OpLine %file 0 0
OpNoLine
OpLine %file 1 1
OpStore %foo %int_1
%value = OpLoad %int %foo
OpLine %file 2 2
```

For the above code, the current spirv-opt keeps three line
instructions `OpLine %file 0 0`, `OpNoLine`, and `OpLine %file 1 1`
in `std::vector<Instruction> dbg_line_insts_` of Instruction class
for `OpStore %foo %int_1`. It does not put any line instruction to
`std::vector<Instruction> dbg_line_insts_` of
`%value = OpLoad %int %foo` even though `OpLine %file 1 1` must be
applied to `%value = OpLoad %int %foo` based on the spec.

This results in the missing line information for
`%value = OpLoad %int %foo` while each spirv-opt pass optimizes the
code. We have to put `OpLine %file 1 1` to
`std::vector<Instruction> dbg_line_insts_` of
both `%value = OpLoad %int %foo` and `OpStore %foo %int_1`.

This commit conducts the line instruction propagation and skips
emitting the eliminated line instructions at the end, which are the same
with PropagateLineInfoPass and RedundantLineInfoElimPass. This
commit removes PropagateLineInfoPass and RedundantLineInfoElimPass.

KhronosGroup/glslang#2440 is a related PR that stop using
PropagateLineInfoPass and RedundantLineInfoElimPass from glslang.
When the code in this PR applied, the glslang tests will pass.
2020-10-29 13:06:30 -04:00
..
aggressive_dead_code_elim_pass.cpp Allow SPV_KHR_8bit_storage extension. (#3780) 2020-09-08 14:13:01 -04:00
aggressive_dead_code_elim_pass.h Improve non-semantic instruction handling in the optimizer (#3693) 2020-08-13 14:54:14 -04:00
amd_ext_to_khr.cpp Handle TimeAMD in AmdExtensionToKhrPass. (#3168) 2020-02-03 12:13:32 -05:00
amd_ext_to_khr.h Amd ext to khr (#2811) 2019-08-29 12:48:17 -04:00
basic_block.cpp Change implementation of post order CFG traversal (#2543) 2019-04-29 17:09:20 -04:00
basic_block.h Fix typo in comment. (#3163) 2020-01-30 15:01:05 -05:00
block_merge_pass.cpp Extracted block merging functionality into its own utility file (#2325) 2019-01-25 10:57:13 +00:00
block_merge_pass.h Extracted block merging functionality into its own utility file (#2325) 2019-01-25 10:57:13 +00:00
block_merge_util.cpp Fix OpLine bug of merge-blocks pass (#3130) 2020-01-14 14:35:21 -05:00
block_merge_util.h Extracted block merging functionality into its own utility file (#2325) 2019-01-25 10:57:13 +00:00
build_module.cpp Move make_unique to source/util. (#1836) 2018-08-14 12:44:54 -04:00
build_module.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
ccp_pass.cpp Simplify logic to decide whether CCP modified the IR (#3997) 2020-10-28 10:18:34 -04:00
ccp_pass.h Simplify logic to decide whether CCP modified the IR (#3997) 2020-10-28 10:18:34 -04:00
cfg_cleanup_pass.cpp Don't inline recursive functions. (#2130) 2018-11-29 14:24:58 -05:00
cfg_cleanup_pass.h Make the constant and type manager analyses. (#2250) 2018-12-20 18:00:05 +00:00
cfg.cpp Handle id overflow in the ssa rewriter. (#2845) 2019-09-10 09:38:23 -04:00
cfg.h Add continue construct analysis to struct cfg analysis (#2922) 2019-10-01 10:27:09 -04:00
CMakeLists.txt Propagate OpLine to all applied instructions in spirv-opt (#3951) 2020-10-29 13:06:30 -04:00
code_sink.cpp Add changes for SPV_EXT_shader_atomic_float (#3562) 2020-07-21 10:31:05 -04:00
code_sink.h Sink (#2284) 2019-01-17 15:56:36 -05:00
combine_access_chains.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
combine_access_chains.h Make the constant and type manager analyses. (#2250) 2018-12-20 18:00:05 +00:00
compact_ids_pass.cpp Handle DebugScope in compact-ids pass (#3724) 2020-08-26 10:15:36 -04:00
compact_ids_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
composite.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
composite.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
const_folding_rules.cpp Implement constant folding for many transcendentals (#3166) 2020-02-03 09:20:47 -05:00
const_folding_rules.h Refactor instruction folders (#2815) 2019-08-26 18:54:11 -04:00
constants.cpp Preserve debug info in scalar replacement pass (#3461) 2020-07-27 13:02:25 -04:00
constants.h Preserve debug info in scalar replacement pass (#3461) 2020-07-27 13:02:25 -04:00
convert_to_half_pass.cpp Fix convert-relax-to-half invalid code (#3099) (#3106) 2019-12-20 21:08:12 -05:00
convert_to_half_pass.h Fix convert-relax-to-half invalid code (#3099) (#3106) 2019-12-20 21:08:12 -05:00
copy_prop_arrays.cpp Preserve OpenCL.100.DebugInfo in reduce-load-size pass (#3492) 2020-07-08 16:34:00 -04:00
copy_prop_arrays.h Fix up type mismatches. (#2545) 2019-05-02 09:31:46 -04:00
dead_branch_elim_pass.cpp Eliminate branches with condition of OpConstantNull (#3438) 2020-06-16 13:31:03 -04:00
dead_branch_elim_pass.h Dead branch elim fix (#3160) 2020-01-28 10:17:43 -05:00
dead_insert_elim_pass.cpp Preserve debug info in dead-insert-elim pass (#3652) 2020-08-12 10:19:37 -04:00
dead_insert_elim_pass.h Make the constant and type manager analyses. (#2250) 2018-12-20 18:00:05 +00:00
dead_variable_elimination.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
dead_variable_elimination.h Make the constant and type manager analyses. (#2250) 2018-12-20 18:00:05 +00:00
debug_info_manager.cpp Add DebugValue for DebugDecl invisible to value assignment (#3973) 2020-10-27 15:10:08 -04:00
debug_info_manager.h Add DebugValue for DebugDecl invisible to value assignment (#3973) 2020-10-27 15:10:08 -04:00
decompose_initialized_variables_pass.cpp Add support for Private & Output to initializer decompose flag (#2537) 2019-04-25 16:24:32 -04:00
decompose_initialized_variables_pass.h Implement WebGPU->Vulkan initializer conversion for 'Function' variables (#2513) 2019-04-16 14:31:36 -04:00
decoration_manager.cpp Handle decorations better in some optimizations (#2716) 2019-07-10 11:37:16 -04:00
decoration_manager.h Handle decorations better in some optimizations (#2716) 2019-07-10 11:37:16 -04:00
def_use_manager.cpp Add base and core bindless validation instrumentation classes (#2014) 2018-11-08 13:54:54 -05:00
def_use_manager.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
desc_sroa.cpp Support OpCompositeExtract pattern in desc_sroa (#3456) 2020-06-23 12:24:53 -05:00
desc_sroa.h Support OpCompositeExtract pattern in desc_sroa (#3456) 2020-06-23 12:24:53 -05:00
dominator_analysis.cpp spirv-opt: Add support for OpLabel to dominator analysis (#3516) 2020-07-15 12:59:35 +01:00
dominator_analysis.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
dominator_tree.cpp Update some language usage. (#3611) 2020-07-29 13:50:58 -04:00
dominator_tree.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
eliminate_dead_constant_pass.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
eliminate_dead_constant_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
eliminate_dead_functions_pass.cpp Fixes #2358. Added to the reducer the ability to remove a function t… (#2361) 2019-02-08 16:20:29 +00:00
eliminate_dead_functions_pass.h Make the constant and type manager analyses. (#2250) 2018-12-20 18:00:05 +00:00
eliminate_dead_functions_util.cpp Improve non-semantic instruction handling in the optimizer (#3693) 2020-08-13 14:54:14 -04:00
eliminate_dead_functions_util.h Fixes #2358. Added to the reducer the ability to remove a function t… (#2361) 2019-02-08 16:20:29 +00:00
eliminate_dead_members_pass.cpp Handle more cases in dead member elim (#3289) 2020-04-09 15:44:20 -04:00
eliminate_dead_members_pass.h Don't change type of input and output var in dead member elim (#2412) 2019-02-20 18:59:41 -05:00
feature_manager.cpp Preserve debug info in eliminate-dead-functions (#3251) 2020-04-13 09:29:36 -04:00
feature_manager.h Preserve debug info in eliminate-dead-functions (#3251) 2020-04-13 09:29:36 -04:00
fix_storage_class.cpp Fix up type mismatches. (#2545) 2019-05-02 09:31:46 -04:00
fix_storage_class.h Fix up type mismatches. (#2545) 2019-05-02 09:31:46 -04:00
flatten_decoration_pass.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
flatten_decoration_pass.h Add testing framework for tools. 2018-08-17 15:03:14 -04:00
fold_spec_constant_op_and_composite_pass.cpp Support constant-folding UConvert and SConvert (#2960) 2019-10-16 16:29:55 -04:00
fold_spec_constant_op_and_composite_pass.h Using the instruction folder to fold OpSpecConstantOp (#2598) 2019-05-21 12:45:00 -04:00
fold.cpp Support constant-folding UConvert and SConvert (#2960) 2019-10-16 16:29:55 -04:00
fold.h Refactor instruction folders (#2815) 2019-08-26 18:54:11 -04:00
folding_rules.cpp Fix the bug (#3680) 2020-08-13 09:09:57 -04:00
folding_rules.h Refactor instruction folders (#2815) 2019-08-26 18:54:11 -04:00
freeze_spec_constant_value_pass.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
freeze_spec_constant_value_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
function.cpp spirv-opt: Implement opt::Function::HasEarlyReturn function (#3711) 2020-08-18 09:31:24 -04:00
function.h spirv-opt: Implement opt::Function::HasEarlyReturn function (#3711) 2020-08-18 09:31:24 -04:00
generate_webgpu_initializers_pass.cpp Handle another case where creating a constant can fail (#2854) 2019-09-11 17:18:05 -04:00
generate_webgpu_initializers_pass.h Implement WebGPU->Vulkan initializer conversion for 'Function' variables (#2513) 2019-04-16 14:31:36 -04:00
graphics_robust_access_pass.cpp Fix missed modification flagging (#3814) 2020-09-16 19:57:04 -04:00
graphics_robust_access_pass.h graphics robust access: use signed clamp (#3073) 2019-12-03 11:18:56 -05:00
if_conversion.cpp Debug info preservation in if-conversion pass (#3861) 2020-10-01 09:20:27 -04:00
if_conversion.h Make the constant and type manager analyses. (#2250) 2018-12-20 18:00:05 +00:00
inline_exhaustive_pass.cpp Handle id overflow in inlining. (#2196) 2018-12-18 19:34:03 +00:00
inline_exhaustive_pass.h Handle id overflow in inlining. (#2196) 2018-12-18 19:34:03 +00:00
inline_opaque_pass.cpp Handle id overflow in inlining. (#2196) 2018-12-18 19:34:03 +00:00
inline_opaque_pass.h Handle id overflow in inlining. (#2196) 2018-12-18 19:34:03 +00:00
inline_pass.cpp Add undef for inlined void function (#3720) 2020-08-24 15:08:55 -04:00
inline_pass.h Support SPV_KHR_terminate_invocation (#3568) 2020-07-22 11:45:02 -04:00
inst_bindless_check_pass.cpp Fix bounds check instrumentation to handle 16-bit values (#3983) 2020-10-26 09:31:35 -04:00
inst_bindless_check_pass.h Add buffer oob check to bindless instrumentation (#3800) 2020-09-16 09:23:46 -04:00
inst_buff_addr_check_pass.cpp Generate null pointer by converting uint64 zero to pointer. (#2935) 2019-10-04 12:26:38 -04:00
inst_buff_addr_check_pass.h Remove deprecated interfaces from instrument passes (#3361) 2020-05-21 13:10:42 -04:00
inst_debug_printf_pass.cpp Instrument: Debug Printf support (#3215) 2020-03-12 09:19:52 -04:00
inst_debug_printf_pass.h Remove deprecated interfaces from instrument passes (#3361) 2020-05-21 13:10:42 -04:00
instruction_list.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
instruction_list.h Fix return type (#3435) 2020-06-17 10:10:06 -04:00
instruction.cpp Add DebugValue for DebugDecl invisible to value assignment (#3973) 2020-10-27 15:10:08 -04:00
instruction.h Correctly replace debug lexical scope of instruction (#3718) 2020-08-31 10:05:38 -04:00
instrument_pass.cpp Fix bounds check instrumentation to handle 16-bit values (#3983) 2020-10-26 09:31:35 -04:00
instrument_pass.h Fix bounds check instrumentation to handle 16-bit values (#3983) 2020-10-26 09:31:35 -04:00
ir_builder.h Update some language usage. (#3611) 2020-07-29 13:50:58 -04:00
ir_context.cpp Correctly replace debug lexical scope of instruction (#3718) 2020-08-31 10:05:38 -04:00
ir_context.h Correctly replace debug lexical scope of instruction (#3718) 2020-08-31 10:05:38 -04:00
ir_loader.cpp Propagate OpLine to all applied instructions in spirv-opt (#3951) 2020-10-29 13:06:30 -04:00
ir_loader.h Propagate OpLine to all applied instructions in spirv-opt (#3951) 2020-10-29 13:06:30 -04:00
iterator.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
legalize_vector_shuffle_pass.cpp Implement WebGPU->Vulkan initializer conversion for 'Function' variables (#2513) 2019-04-16 14:31:36 -04:00
legalize_vector_shuffle_pass.h Implement WebGPU->Vulkan initializer conversion for 'Function' variables (#2513) 2019-04-16 14:31:36 -04:00
licm_pass.cpp In LICM don't place code between merge instruction and branch. (#2252) 2018-12-20 18:33:52 -05:00
licm_pass.h In LICM don't place code between merge instruction and branch. (#2252) 2018-12-20 18:33:52 -05:00
local_access_chain_convert_pass.cpp Debug info preservation in convert-local-access-chains pass (#3835) 2020-10-02 10:45:24 -04:00
local_access_chain_convert_pass.h Update access control lists. (#3433) 2020-06-15 13:20:40 -04:00
local_redundancy_elimination.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
local_redundancy_elimination.h Make the constant and type manager analyses. (#2250) 2018-12-20 18:00:05 +00:00
local_single_block_elim_pass.cpp Allow SPV_KHR_8bit_storage extension. (#3780) 2020-09-08 14:13:01 -04:00
local_single_block_elim_pass.h Update access control lists. (#3433) 2020-06-15 13:20:40 -04:00
local_single_store_elim_pass.cpp Add DebugValue for DebugDecl invisible to value assignment (#3973) 2020-10-27 15:10:08 -04:00
local_single_store_elim_pass.h Preserve OpenCL.DebugInfo.100 through elim-local-single-store (#3498) 2020-07-10 15:17:14 -04:00
log.h Cast __LINE__ to size_t (#2661) 2019-06-07 13:06:42 -04:00
loop_dependence_helpers.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
loop_dependence.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
loop_dependence.h Remove extra semis (#2717) 2019-07-08 15:07:36 -04:00
loop_descriptor.cpp Fix the bug (#3683) 2020-08-12 13:00:41 -04:00
loop_descriptor.h Update some language usage. (#3611) 2020-07-29 13:50:58 -04:00
loop_fission.cpp Document in the context what happens with id overflow. (#2159) 2018-12-06 09:07:00 -05:00
loop_fission.h Add testing framework for tools. 2018-08-17 15:03:14 -04:00
loop_fusion_pass.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
loop_fusion_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
loop_fusion.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
loop_fusion.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
loop_peeling.cpp Favour 'integrity' over 'coherence' as a replacement for 'sanity'. (#3619) 2020-09-10 09:52:21 -04:00
loop_peeling.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
loop_unroller.cpp Debug info preservation in loop-unroll pass (#3548) 2020-07-30 12:18:06 -04:00
loop_unroller.h Make the constant and type manager analyses. (#2250) 2018-12-20 18:00:05 +00:00
loop_unswitch_pass.cpp Update some language usage. (#3611) 2020-07-29 13:50:58 -04:00
loop_unswitch_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
loop_utils.cpp Document in the context what happens with id overflow. (#2159) 2018-12-06 09:07:00 -05:00
loop_utils.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
mem_pass.cpp [spirv-opt] debug info preservation in ssa-rewrite (#3356) 2020-06-19 14:57:43 -04:00
mem_pass.h Handle id overflow in the ssa rewriter. (#2845) 2019-09-10 09:38:23 -04:00
merge_return_pass.cpp Update some language usage. (#3611) 2020-07-29 13:50:58 -04:00
merge_return_pass.h Update some language usage. (#3611) 2020-07-29 13:50:58 -04:00
module.cpp Propagate OpLine to all applied instructions in spirv-opt (#3951) 2020-10-29 13:06:30 -04:00
module.h Propagate OpLine to all applied instructions in spirv-opt (#3951) 2020-10-29 13:06:30 -04:00
null_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
optimizer.cpp Propagate OpLine to all applied instructions in spirv-opt (#3951) 2020-10-29 13:06:30 -04:00
pass_manager.cpp Add option to validate after each pass (#2462) 2019-03-26 14:38:59 -04:00
pass_manager.h Add option to validate after each pass (#2462) 2019-03-26 14:38:59 -04:00
pass.cpp Instrument: Be sure Float16 capability on when generating float16 null (#2831) 2019-09-03 15:19:36 -04:00
pass.h Debug info preservation in copy-prop-array pass (#3444) 2020-07-06 13:48:12 -04:00
passes.h Propagate OpLine to all applied instructions in spirv-opt (#3951) 2020-10-29 13:06:30 -04:00
pch_source_opt.cpp Enable precompiled headers for spirv-tools(-shared) and some unit tests (#2026) 2018-11-06 09:26:23 -05:00
pch_source_opt.h Enable precompiled headers for spirv-tools(-shared) and some unit tests (#2026) 2018-11-06 09:26:23 -05:00
private_to_local_pass.cpp Preserve OpenCL.DebugInfo.100 through private-to-local pass (#3571) 2020-07-27 09:27:47 -04:00
private_to_local_pass.h Preserve OpenCL.DebugInfo.100 through private-to-local pass (#3571) 2020-07-27 09:27:47 -04:00
propagator.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
propagator.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
reduce_load_size.cpp Preserve OpenCL.100.DebugInfo in reduce-load-size pass (#3492) 2020-07-08 16:34:00 -04:00
reduce_load_size.h Make the constant and type manager analyses. (#2250) 2018-12-20 18:00:05 +00:00
redundancy_elimination.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
redundancy_elimination.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
reflect.h Support SPV_KHR_terminate_invocation (#3568) 2020-07-22 11:45:02 -04:00
register_pressure.cpp Update some language usage. (#3611) 2020-07-29 13:50:58 -04:00
register_pressure.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
relax_float_ops_pass.cpp Add --relax-float-ops and --convert-relaxed-to-half (#2808) 2019-09-03 13:22:13 -04:00
relax_float_ops_pass.h Add --relax-float-ops and --convert-relaxed-to-half (#2808) 2019-09-03 13:22:13 -04:00
remove_duplicates_pass.cpp Linker: Better type comparison for OpTypeArray and OpTypeForwardPointer (#2580) 2019-05-29 16:12:02 -04:00
remove_duplicates_pass.h Linker: Better type comparison for OpTypeArray and OpTypeForwardPointer (#2580) 2019-05-29 16:12:02 -04:00
replace_invalid_opc.cpp Support SPV_KHR_terminate_invocation (#3568) 2020-07-22 11:45:02 -04:00
replace_invalid_opc.h Add testing framework for tools. 2018-08-17 15:03:14 -04:00
scalar_analysis_nodes.h Remove extra semis (#2717) 2019-07-08 15:07:36 -04:00
scalar_analysis_simplification.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_analysis.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
scalar_replacement_pass.cpp Preserve debug info in scalar replacement pass (#3461) 2020-07-27 13:02:25 -04:00
scalar_replacement_pass.h Preserve debug info in scalar replacement pass (#3461) 2020-07-27 13:02:25 -04:00
set_spec_constant_default_value_pass.cpp Move make_unique to source/util. (#1836) 2018-08-14 12:44:54 -04:00
set_spec_constant_default_value_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
simplification_pass.cpp Correctly replace debug lexical scope of instruction (#3718) 2020-08-31 10:05:38 -04:00
simplification_pass.h Add two new simplifications. (#2984) 2019-10-28 08:19:38 -07:00
split_invalid_unreachable_pass.cpp Add pass to fix some invalid unreachable blocks for WebGPU (#2563) 2019-05-09 12:56:10 -04:00
split_invalid_unreachable_pass.h Add pass to fix some invalid unreachable blocks for WebGPU (#2563) 2019-05-09 12:56:10 -04:00
ssa_rewrite_pass.cpp Add DebugValue for DebugDecl invisible to value assignment (#3973) 2020-10-27 15:10:08 -04:00
ssa_rewrite_pass.h Add DebugValue for DebugDecl invisible to value assignment (#3973) 2020-10-27 15:10:08 -04:00
strength_reduction_pass.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
strength_reduction_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
strip_atomic_counter_memory_pass.cpp Implement WebGPU->Vulkan initializer conversion for 'Function' variables (#2513) 2019-04-16 14:31:36 -04:00
strip_atomic_counter_memory_pass.h Implement WebGPU->Vulkan initializer conversion for 'Function' variables (#2513) 2019-04-16 14:31:36 -04:00
strip_debug_info_pass.cpp Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
strip_debug_info_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
strip_reflect_info_pass.cpp Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
strip_reflect_info_pass.h Make the constant and type manager analyses. (#2250) 2018-12-20 18:00:05 +00:00
struct_cfg_analysis.cpp spirv-opt: Add function to compute nesting depth of a block (#3771) 2020-09-08 12:01:56 +01:00
struct_cfg_analysis.h spirv-opt: Add function to compute nesting depth of a block (#3771) 2020-09-08 12:01:56 +01:00
tree_iterator.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
type_manager.cpp Add RayQueryProvisionalKHR to opt types (#3239) 2020-03-19 12:41:30 -04:00
type_manager.h Preserve debug info in eliminate-dead-functions (#3251) 2020-04-13 09:29:36 -04:00
types.cpp Add RayQueryProvisionalKHR to opt types (#3239) 2020-03-19 12:41:30 -04:00
types.h Add RayQueryProvisionalKHR to opt types (#3239) 2020-03-19 12:41:30 -04:00
unify_const_pass.cpp Move make_unique to source/util. (#1836) 2018-08-14 12:44:54 -04:00
unify_const_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
upgrade_memory_model.cpp Fix operand access of composite in upgrade memory model (#3021) 2019-11-12 13:41:38 -05:00
upgrade_memory_model.h Handle volatile memory semantics in upgrade (#2674) 2019-06-17 16:01:37 -04:00
value_number_table.cpp Debug info preservation in redundancy-elimination pass (#3839) 2020-10-01 09:22:16 -04:00
value_number_table.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
vector_dce.cpp Preserve debug info in vector DCE pass (#3497) 2020-07-10 10:19:34 -04:00
vector_dce.h Preserve debug info in vector DCE pass (#3497) 2020-07-10 10:19:34 -04:00
workaround1209.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
workaround1209.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
wrap_opkill.cpp Preserve debug info in scalar replacement pass (#3461) 2020-07-27 13:02:25 -04:00
wrap_opkill.h Support SPV_KHR_terminate_invocation (#3568) 2020-07-22 11:45:02 -04:00