SPIRV-Tools/source/opt
Jaebaek Seo 57e1d8ebe3
Add spirv-opt convert-to-sampled-image pass (#4340)
convert-to-sampled-image pass converts images and/or samplers with
given pairs of descriptor set and binding to sampled image.

If a pair of an image and a sampler have the same pair of descriptor
set and binding that is one of the given pairs, they will be
converted to a sampled image. In addition, if only an image has the
descriptor set and binding that is one of the given pairs, it will
be converted to a sampled image as well.

For example, when we have

  %a = OpLoad %type_2d_image %texture
  %b = OpLoad %type_sampler %sampler
  %combined = OpSampledImage %type_sampled_image %a %b
  %value = OpImageSampleExplicitLod %v4float %combined ...

1. If %texture and %sampler have the same descriptor set and binding

  %combine_texture_and_sampler = OpVaraible %ptr_type_sampled_image_Uniform
  ...
  %combined = OpLoad %type_sampled_image %combine_texture_and_sampler
  %value = OpImageSampleExplicitLod %v4float %combined ...

2. If %texture and %sampler have different pairs of descriptor set and binding

  %a = OpLoad %type_sampled_image %texture
  %extracted_image = OpImage %type_2d_image %a
  %b = OpLoad %type_sampler %sampler
  %combined = OpSampledImage %type_sampled_image %extracted_image %b
  %value = OpImageSampleExplicitLod %v4float %combined ...
2021-08-18 08:30:48 -04:00
..
aggressive_dead_code_elim_pass.cpp spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -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 Take new (raytracing) termination instructions into account. (#4050) 2020-12-07 10:26:05 -05:00
basic_block.h Fix typo in comment. (#3163) 2020-01-30 15:01:05 -05:00
block_merge_pass.cpp spirv-reduce: Allow merging unreachable blocks (#4303) 2021-06-28 23:05:30 +01: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 spirv-reduce: Allow merging unreachable blocks (#4303) 2021-06-28 23:05:30 +01: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 BuildModule: optionally avoid adding new OpLine instructions (#4033) 2020-11-25 14:54:32 -05:00
build_module.h BuildModule: optionally avoid adding new OpLine instructions (#4033) 2020-11-25 14:54:32 -05: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 Add spirv-opt convert-to-sampled-image pass (#4340) 2021-08-18 08:30:48 -04:00
code_sink.cpp Add validation for SPV_EXT_shader_atomic_float_min_max (#4105) 2021-03-24 08:49:21 -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 Fix early-out for Clamp constant folding (#4461) 2021-08-16 14:11:38 -04:00
const_folding_rules.h Refactor instruction folders (#2815) 2019-08-26 18:54:11 -04:00
constants.cpp spirv-opt: Add handling of vulkan debug info to DebugInfoManager (#4423) 2021-08-10 09:31:17 -04:00
constants.h spirv-opt: Add handling of vulkan debug info to DebugInfoManager (#4423) 2021-08-10 09:31:17 -04:00
control_dependence.cpp Add control dependence analysis to opt (#4380) 2021-07-28 12:44:32 -04:00
control_dependence.h spirv-opt: Rename ControlDependenceAnalysis::DoesBlockExist to HasBlock (#4412) 2021-07-29 08:30:48 -04:00
convert_to_half_pass.cpp Mark module as modified if convert-to-half removes decorations. (#4127) 2021-01-28 15:53:34 -05:00
convert_to_half_pass.h Mark module as modified if convert-to-half removes decorations. (#4127) 2021-01-28 15:53:34 -05:00
convert_to_sampled_image_pass.cpp Add spirv-opt convert-to-sampled-image pass (#4340) 2021-08-18 08:30:48 -04:00
convert_to_sampled_image_pass.h Add spirv-opt convert-to-sampled-image pass (#4340) 2021-08-18 08:30:48 -04:00
copy_prop_arrays.cpp spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -04:00
copy_prop_arrays.h Fix up type mismatches. (#2545) 2019-05-02 09:31:46 -04:00
dataflow.cpp spirv-opt: Add dataflow analysis framework (#4402) 2021-08-09 16:43:36 -04:00
dataflow.h spirv-opt: Add dataflow analysis framework (#4402) 2021-08-09 16:43:36 -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 spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -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 spirv-opt: Add handling of vulkan debug info to DebugInfoManager (#4423) 2021-08-10 09:31:17 -04:00
debug_info_manager.h spirv-opt: Add handling of vulkan debug info to DebugInfoManager (#4423) 2021-08-10 09:31:17 -04:00
decoration_manager.cpp Mark module as modified if convert-to-half removes decorations. (#4127) 2021-01-28 15:53:34 -05:00
decoration_manager.h Mark module as modified if convert-to-half removes decorations. (#4127) 2021-01-28 15:53:34 -05: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 Fix binding number calculation in desc sroa (#4095) 2021-01-06 13:59:04 -05:00
desc_sroa.h Fix binding number calculation in desc sroa (#4095) 2021-01-06 13:59:04 -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 Fix crash when optimizing shaders with DebugPrintf (#4280) 2021-05-13 13:19:56 -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 8-bit index in elim dead member (#4043) 2020-12-01 14:48:25 -05: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
empty_pass.h Temporarily add EmptyPass to prevent glslang from failing (#4004) 2020-10-30 18:03:56 -04:00
feature_manager.cpp Add common enum for debug info instructions from either opencl or vulkan (#4377) 2021-07-16 16:28:14 -04:00
feature_manager.h Add common enum for debug info instructions from either opencl or vulkan (#4377) 2021-07-16 16:28:14 -04:00
fix_storage_class.cpp spirv-opt: Don't call GenerateCopy for mismatched image types (#4126) 2021-02-19 10:59:14 -05: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 Don't fold unsigned divides of an constant and a negation (#4457) 2021-08-16 09:56:05 -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: Set parent when adding basic block (#4021) 2020-11-13 12:33:15 -05:00
function.h spirv-opt: Set parent when adding basic block (#4021) 2020-11-13 12:33:15 -05:00
graphics_robust_access_pass.cpp GraphicsRobustAccessPass: Set module_status_.modified (#4167) 2021-04-26 17:14:35 +01: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 Reject SPIR-V that applies void to OpUndef, OpCopyObject, OpPhi (#4036) 2020-11-27 16:31:04 +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 spirv-opt: Add specific handling of vulkan debug info differences (#4398) 2021-07-28 21:35:32 -04:00
inline_pass.h Fix -Wextra-semi-stmt -Wsuggest-destructor-override -Wdeprecated-copy-dtor (#4164) 2021-03-09 13:16:43 +00:00
inst_bindless_check_pass.cpp Generate differentiated error codes for buffer oob checking (#4144) 2021-02-11 17:24:04 -05:00
inst_bindless_check_pass.h Generate differentiated error codes for buffer oob checking (#4144) 2021-02-11 17:24:04 -05:00
inst_buff_addr_check_pass.cpp spirv-opt: Set parent when adding basic block (#4021) 2020-11-13 12:33:15 -05: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 Update a few virtuals to overrides. (#4143) 2021-02-10 13:21:38 -05:00
instruction.cpp Initialize context in opt::Instruction's move constructor (#4397) 2021-07-23 10:09:51 +01:00
instruction.h Add common enum for debug info instructions from either opencl or vulkan (#4377) 2021-07-16 16:28:14 -04:00
instrument_pass.cpp spirv-opt: Set parent when adding basic block (#4021) 2020-11-13 12:33:15 -05:00
instrument_pass.h Fix bounds check instrumentation to handle 16-bit values (#3983) 2020-10-26 09:31:35 -04:00
interp_fixup_pass.cpp Add interpolate legalization pass (#4220) 2021-03-31 14:26:36 -04:00
interp_fixup_pass.h Add interpolate legalization pass (#4220) 2021-03-31 14:26:36 -04:00
ir_builder.h Update some language usage. (#3611) 2020-07-29 13:50:58 -04:00
ir_context.cpp spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -04:00
ir_context.h spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -04:00
ir_loader.cpp spirv-opt: Add specific handling of vulkan debug info differences (#4398) 2021-07-28 21:35:32 -04:00
ir_loader.h BuildModule: optionally avoid adding new OpLine instructions (#4033) 2020-11-25 14:54:32 -05:00
iterator.h Remove usage of std::iterator. (#4171) 2021-03-12 14:00:56 +00: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 spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -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 spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -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 spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -04:00
local_single_store_elim_pass.h Add DebugValue for invisible store in single_store_elim (#4002) 2020-11-04 13:43:59 -05: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 spirv-opt: Set parent when adding basic block (#4021) 2020-11-13 12:33:15 -05:00
loop_peeling.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
loop_unroller.cpp Fix dangling phi bug from loop-unroll (#4239) 2021-04-27 16:27:09 -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: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -04:00
mem_pass.h Fix -Wextra-semi-stmt -Wsuggest-destructor-override -Wdeprecated-copy-dtor (#4164) 2021-03-09 13:16:43 +00:00
merge_return_pass.cpp spirv-opt: Set parent when adding basic block (#4021) 2020-11-13 12:33:15 -05:00
merge_return_pass.h Update some language usage. (#3611) 2020-07-29 13:50:58 -04:00
module.cpp spirv-opt: Add specific handling of vulkan debug info differences (#4398) 2021-07-28 21:35:32 -04:00
module.h spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -04:00
null_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
optimizer.cpp Add spirv-opt convert-to-sampled-image pass (#4340) 2021-08-18 08:30:48 -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 Add spirv-opt convert-to-sampled-image pass (#4340) 2021-08-18 08:30:48 -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 spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -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 spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -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 Take new (raytracing) termination instructions into account. (#4050) 2020-12-07 10:26:05 -05: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
remove_unused_interface_variables_pass.cpp spirv-opt: A pass to removed unused input on OpEntryPoint instructions. (#4275) 2021-06-29 11:33:58 -04:00
remove_unused_interface_variables_pass.h spirv-opt: A pass to removed unused input on OpEntryPoint instructions. (#4275) 2021-06-29 11:33:58 -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 spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -04:00
scalar_replacement_pass.h Accept OpImageTexelPointer user in scalar-replacement (#4187) 2021-03-16 16:40:51 -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
ssa_rewrite_pass.cpp Set correct scope and line info for DebugValue (#4125) 2021-01-28 12:57:35 -05: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_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 Fix -Wextra-semi-stmt -Wsuggest-destructor-override -Wdeprecated-copy-dtor (#4164) 2021-03-09 13:16:43 +00:00
type_manager.h Preserve debug info in eliminate-dead-functions (#3251) 2020-04-13 09:29:36 -04:00
types.cpp Update MeshShadingNV dependencies (and land Ray tracing updates) (#4028) 2020-11-23 12:23:54 -05:00
types.h Fix -Wextra-semi-stmt -Wsuggest-destructor-override -Wdeprecated-copy-dtor (#4164) 2021-03-09 13:16:43 +00: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 spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -04:00
value_number_table.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
vector_dce.cpp spirv-opt: Where possible make code agnostic of opencl/vulkan debuginfo (#4385) 2021-07-21 12:04:38 -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 spirv-opt: Set parent when adding basic block (#4021) 2020-11-13 12:33:15 -05:00
wrap_opkill.h Support SPV_KHR_terminate_invocation (#3568) 2020-07-22 11:45:02 -04:00