SPIRV-Tools/source/opt
Jaebaek Seo fb9a10cd48
spirv-opt: add pass to Spread Volatile semantics (#4667)
Add a pass to spread Volatile semantics to variables with SMIDNV,
WarpIDNV, SubgroupSize, SubgroupLocalInvocationId, SubgroupEqMask,
SubgroupGeMask, SubgroupGtMask, SubgroupLeMask, or SubgroupLtMask BuiltIn
decorations or OpLoad for them when the shader model is the ray
generation, closest hit, miss, intersection, or callable shaders. This
pass can be used for VUID-StandaloneSpirv-VulkanMemoryModel-04678 and
VUID-StandaloneSpirv-VulkanMemoryModel-04679 (See "Standalone SPIR-V
Validation" section of Vulkan spec "Appendix A: Vulkan Environment for
SPIR-V").

Handle variables used by multiple entry points:

1. Update error check to make it working regardless of the order of
   entry points.
2. For a variable, if it is used by two entry points E1 and E2 and
   it needs the Volatile semantics for E1 while it does not for E2
  - If VulkanMemoryModel capability is enabled, which means we have to
    set memory operation of load instructions for the variable, we
    update load instructions in E1, but do not update the ones in E2.
  - If VulkanMemoryModel capability is disabled, which means we have
    to add Volatile decoration for the variable, we report an error
    because E1 needs to add Volatile decoration for the variable while
    E2 does not.

For the simplicity of the implementation, we assume that all functions
other than entry point functions are inlined.
2022-01-25 13:14:36 -05:00
..
aggressive_dead_code_elim_pass.cpp Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05:00
aggressive_dead_code_elim_pass.h Change branch handling in ADCE to fix errors (#4596) 2021-10-29 10:46:43 -04:00
amd_ext_to_khr.cpp Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -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 Opt passes should apply to the exported functions (#4554) 2021-10-18 13:18:16 -04: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 merge-block assertions with debugInfo (#4563) 2021-10-13 11:42:40 -06: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 Fix https://github.com/KhronosGroup/SPIRV-Tools/issues/4462 (#4651) 2021-12-02 10:40:28 -05:00
ccp_pass.h Fix https://github.com/KhronosGroup/SPIRV-Tools/issues/4462 (#4651) 2021-12-02 10:40:28 -05: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 spirv-opt: add pass to Spread Volatile semantics (#4667) 2022-01-25 13:14:36 -05: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 Update passes to handle function declarations (#4599) 2021-10-28 11:54:37 -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 NonSemantic.Shader Debug[No]Line (#4530) 2021-09-24 10:56:08 -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 Manually fold floating point division by zero (#4637) 2021-11-24 14:13:58 -05:00
const_folding_rules.h Refactor instruction folders (#2815) 2019-08-26 18:54:11 -04:00
constants.cpp Manually fold floating point division by zero (#4637) 2021-11-24 14:13:58 -05:00
constants.h Manually fold floating point division by zero (#4637) 2021-11-24 14:13:58 -05: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 Fix handling of OpPhi in convert-relaxed-to-half (#4618) 2021-11-09 10:36:50 -07:00
convert_to_half_pass.h Fix handling of OpPhi in convert-relaxed-to-half (#4618) 2021-11-09 10:36:50 -07: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 Update passes to handle function declarations (#4599) 2021-10-28 11:54:37 -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 Update passes to handle function declarations (#4599) 2021-10-28 11:54:37 -04:00
dead_branch_elim_pass.h Remove duplicated "the" from comments (#4666) 2022-01-12 19:04:13 -05:00
dead_insert_elim_pass.cpp Opt passes should apply to the exported functions (#4554) 2021-10-18 13:18:16 -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 Generate constants directly in CreateDebugInlinedAt (#4572) 2021-10-19 18:27:16 -06:00
debug_info_manager.h spirv-opt: Switch from Vulkan.DebugInfo to Shader.DebugInfo (#4493) 2021-09-15 14:38:53 -04:00
decoration_manager.cpp Add spirv-opt pass to replace descriptor accesses based on variable indices (#4574) 2021-10-26 17:20:58 -04:00
decoration_manager.h Add spirv-opt pass to replace descriptor accesses based on variable indices (#4574) 2021-10-26 17:20:58 -04:00
def_use_manager.cpp DefUseManager: rename comparison operators to 'CompareAndPrintDifferences' (#4624) 2021-12-09 09:41:42 -05:00
def_use_manager.h Fix compilation (#4656) 2021-12-09 12:42:53 -05:00
desc_sroa_util.cpp Add spirv-opt pass to replace descriptor accesses based on variable indices (#4574) 2021-10-26 17:20:58 -04:00
desc_sroa_util.h Add spirv-opt pass to replace descriptor accesses based on variable indices (#4574) 2021-10-26 17:20:58 -04:00
desc_sroa.cpp Copy OpDecorateStrings in DescriptorScalarReplacementPass (#4649) 2021-11-29 02:11:22 -05:00
desc_sroa.h Remove duplicated "the" from comments (#4666) 2022-01-12 19:04:13 -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 Remove duplicated "the" from comments (#4666) 2022-01-12 19:04:13 -05: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 spirv-opt: Don't eliminate dead members from StructuredBuffer (#4553) 2021-10-01 08:31:40 -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
empty_pass.h Temporarily add EmptyPass to prevent glslang from failing (#4004) 2020-10-30 18:03:56 -04:00
feature_manager.cpp Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05:00
feature_manager.h Handle NonSemantic.Shader Debug[No]Line (#4530) 2021-09-24 10:56:08 -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 Do not fold snegate feeding sdiv. (#4600) 2021-10-28 10:02: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: Set parent when adding basic block (#4021) 2020-11-13 12:33:15 -05:00
function.h Update passes to handle function declarations (#4599) 2021-10-28 11:54:37 -04:00
graphics_robust_access_pass.cpp Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05:00
graphics_robust_access_pass.h graphics robust access: use signed clamp (#3073) 2019-12-03 11:18:56 -05:00
if_conversion.cpp Handle NonSemantic.Shader Debug[No]Line (#4530) 2021-09-24 10:56:08 -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 Opt passes should apply to the exported functions (#4554) 2021-10-18 13:18:16 -04:00
inline_exhaustive_pass.h Handle id overflow in inlining. (#2196) 2018-12-18 19:34:03 +00:00
inline_opaque_pass.cpp Opt passes should apply to the exported functions (#4554) 2021-10-18 13:18:16 -04:00
inline_opaque_pass.h Handle id overflow in inlining. (#2196) 2018-12-18 19:34:03 +00:00
inline_pass.cpp Handle NonSemantic.Shader Debug[No]Line (#4530) 2021-09-24 10:56:08 -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 Fix inst_buff_addr_check to handle struct loads (#4489) 2021-09-23 12:59:38 -04:00
inst_buff_addr_check_pass.h Fix inst_buff_addr_check to handle struct loads (#4489) 2021-09-23 12:59:38 -04:00
inst_debug_printf_pass.cpp Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05: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 spirv-opt: Don't eliminate dead members from StructuredBuffer (#4553) 2021-10-01 08:31:40 -04:00
instruction.h Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05: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 Handle overflowing id in merge return (#4606) 2021-11-01 08:45:32 -04:00
ir_context.cpp DefUseManager: rename comparison operators to 'CompareAndPrintDifferences' (#4624) 2021-12-09 09:41:42 -05:00
ir_context.h Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05:00
ir_loader.cpp Handle NonSemantic.Shader Debug[No]Line (#4530) 2021-09-24 10:56:08 -04:00
ir_loader.h BuildModule: optionally avoid adding new OpLine instructions (#4033) 2020-11-25 14:54:32 -05:00
iterator.h Avoid bugprone-move-forwarding-reference warning in Clang (#4560) 2021-10-06 16:50:16 -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 Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05: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 Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05: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 Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05: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 Remove duplicated "the" from comments (#4666) 2022-01-12 19:04:13 -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 Update passes to handle function declarations (#4599) 2021-10-28 11:54:37 -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 More ADCE refactoring (#4548) 2021-10-04 08:33:10 -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 Handle overflowing id in merge return (#4606) 2021-11-01 08:45:32 -04:00
merge_return_pass.h Handle overflowing id in merge return (#4606) 2021-11-01 08:45:32 -04:00
module.cpp Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05:00
module.h Use schema instead of reserved in header description (#4615) 2021-12-08 11:55:36 -05:00
null_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
optimizer.cpp spirv-opt: add pass to Spread Volatile semantics (#4667) 2022-01-25 13:14:36 -05:00
pass_manager.cpp Improvements to disassembly within PassManager (#4677) 2022-01-10 10:55:47 -05:00
pass_manager.h Add option to validate after each pass (#2462) 2019-03-26 14:38:59 -04:00
pass.cpp Handle NonSemantic.Shader Debug[No]Line (#4530) 2021-09-24 10:56:08 -04:00
pass.h Debug info preservation in copy-prop-array pass (#3444) 2020-07-06 13:48:12 -04:00
passes.h spirv-opt: add pass to Spread Volatile semantics (#4667) 2022-01-25 13:14:36 -05: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 Set threshold for reduce-load-size pass (#4499) 2021-09-02 10:45:51 -04:00
reduce_load_size.h Set threshold for reduce-load-size pass (#4499) 2021-09-02 10:45:51 -04:00
redundancy_elimination.cpp Update passes to handle function declarations (#4599) 2021-10-28 11:54:37 -04:00
redundancy_elimination.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
reflect.h Update SPIRV-Headers (#4628) 2021-11-10 16:32:09 -05:00
register_pressure.cpp Remove duplicated "the" from comments (#4666) 2022-01-12 19:04:13 -05:00
register_pressure.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
relax_float_ops_pass.cpp Opt passes should apply to the exported functions (#4554) 2021-10-18 13:18:16 -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 Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05: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_desc_array_access_using_var_index.cpp Add spirv-opt pass to replace descriptor accesses based on variable indices (#4574) 2021-10-26 17:20:58 -04:00
replace_desc_array_access_using_var_index.h Add spirv-opt pass to replace descriptor accesses based on variable indices (#4574) 2021-10-26 17:20:58 -04:00
replace_invalid_opc.cpp Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05: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 Remove duplicated "the" from comments (#4666) 2022-01-12 19:04:13 -05: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 Update passes to handle function declarations (#4599) 2021-10-28 11:54:37 -04:00
scalar_replacement_pass.h Handle NonSemantic.Shader Debug[No]Line (#4530) 2021-09-24 10:56:08 -04:00
set_spec_constant_default_value_pass.cpp opt: set upper bits of spec constant according to spec (#4589) 2021-10-21 09: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 Update passes to handle function declarations (#4599) 2021-10-28 11:54:37 -04:00
simplification_pass.h Add two new simplifications. (#2984) 2019-10-28 08:19:38 -07:00
spread_volatile_semantics.cpp spirv-opt: add pass to Spread Volatile semantics (#4667) 2022-01-25 13:14:36 -05:00
spread_volatile_semantics.h spirv-opt: add pass to Spread Volatile semantics (#4667) 2022-01-25 13:14:36 -05:00
ssa_rewrite_pass.cpp Update passes to handle function declarations (#4599) 2021-10-28 11:54:37 -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 Remove duplicated "the" from comments (#4666) 2022-01-12 19:04:13 -05:00
strip_debug_info_pass.cpp Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05:00
strip_debug_info_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
strip_nonsemantic_info_pass.cpp reflect debug (#4662) 2021-12-15 11:06:51 -05:00
strip_nonsemantic_info_pass.h Rename strip reflect to strip nonsemantic (#4661) 2021-12-15 09:55:30 -05: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 endianness of string literals (#4622) 2021-12-08 12:01:26 -05:00
type_manager.h Manually fold floating point division by zero (#4637) 2021-11-24 14:13:58 -05:00
types.cpp Remove misleading comment. (#4676) 2022-01-10 09:24:44 -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 endianness of string literals (#4622) 2021-12-08 12:01:26 -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 Handle out-of-bounds accesses in VDCE (#4518) 2021-09-13 09:57:44 -04:00
vector_dce.h Handle out-of-bounds accesses in VDCE (#4518) 2021-09-13 09:57:44 -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