SPIRV-Tools/source/opt
Nathan Gauër 6a2bdeee75
spirv-val, core: add support for OpExtInstWithForwardRefs (#5698)
* val, core: add support for OpExtInstWithForwardRefs

This commit adds validation and support for
OpExtInstWithForwardRefs. This new instruction will be used
for non-semantic debug info, when forward references are
required.

For now, this commit only fixes the code to handle this new instruction,
and adds validation rules. But it does not add the pass to generate/fix
the OpExtInst instruction when forward references are in use.
Such pass would be useful for DXC or other tools, but I wanted to land
validation rules first.

This commit also bumps SPIRV-Headers to get this new opcode.

---------

Signed-off-by: Nathan Gauër <brioche@google.com>
2024-06-04 16:18:06 +02:00
..
aggressive_dead_code_elim_pass.cpp opt: add SPV_EXT_mesh_shader to opt allowlist (#5551) 2024-01-30 12:13:46 -05:00
aggressive_dead_code_elim_pass.h Add option to ADCE to remove output variables from interface. (#4994) 2022-11-23 10:48:58 -07:00
amd_ext_to_khr.cpp clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
amd_ext_to_khr.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
analyze_live_input_pass.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
analyze_live_input_pass.h Add passes to eliminate dead output stores (#4970) 2022-11-02 11:23:25 -06:00
basic_block.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
basic_block.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
block_merge_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -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 opt: prevent meld to merge block with MaximalReconvergence (#5557) 2024-02-06 06:12:00 -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 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 spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04: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 spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
cfg_cleanup_pass.h Make the constant and type manager analyses. (#2250) 2018-12-20 18:00:05 +00:00
cfg.cpp clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
cfg.h Build struct order only for the section needed when unrolling. (#4830) 2022-06-29 09:53:26 -04:00
CMakeLists.txt opt: Remove bindless and buff addr instrumentation passes (#5657) 2024-05-02 18:52:17 -04:00
code_sink.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
code_sink.h Sink (#2284) 2019-01-17 15:56:36 -05:00
combine_access_chains.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
combine_access_chains.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
compact_ids_pass.cpp Disable DebugInfoMgr during the entire CompactIds pass (#4905) 2022-08-23 12:01:32 -06: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 [OPT] Use new instruction folder for for all opcodes in spec consti folding (#5569) 2024-02-12 19:52:55 +00:00
const_folding_rules.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
constants.cpp add support for vulkan-shader-profiler external passes (#5512) 2024-03-15 13:46:42 -04:00
constants.h Fold negation of integer vectors (#5269) 2023-06-16 10:37:21 -04:00
control_dependence.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -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 spirv-opt: Fix OpCompositeExtract relaxation with struct operands (#5536) 2024-02-01 15:19:02 -07:00
convert_to_half_pass.h opt: Fix incorrect half float conversion (#5349) 2023-07-26 10:03:24 -04:00
convert_to_sampled_image_pass.cpp Remove implicit call to GetId in ConvertToSampledImagePass. (#5692) 2024-06-03 15:07:52 +02:00
convert_to_sampled_image_pass.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
copy_prop_arrays.cpp [OPT] Identify arrays with unknown length in copy prop arrays (#5570) 2024-02-13 14:41:38 -05:00
copy_prop_arrays.h [OPT] Identify arrays with unknown length in copy prop arrays (#5570) 2024-02-13 14:41:38 -05:00
dataflow.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
dataflow.h spirv-opt: Add dataflow analysis framework (#4402) 2021-08-09 16:43:36 -04:00
dead_branch_elim_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
dead_branch_elim_pass.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
dead_insert_elim_pass.cpp Fix nullptr argument in MarkInsertChain (#5465) 2023-11-16 19:36:32 +00: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 Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -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: Fix OpCompositeInsert with Null Constant (#5008) 2022-12-06 09:00:10 -05:00
debug_info_manager.h Cleanup code for 272e4b3d0 (#4934) 2022-09-20 15:27:23 -06:00
decoration_manager.cpp opt: add StorageUniformBufferBlock16 to trim pass (#5367) 2023-08-10 14:21:35 +00:00
decoration_manager.h Fix AddMemberDecoration variable names. (#5399) 2023-09-05 19:38:49 +00:00
def_use_manager.cpp Revert "Optimize DefUseManager allocations (#4709)" (#4846) 2022-07-12 13:14:47 -06:00
def_use_manager.h [NFC] Remove unused code (#5554) 2024-02-01 09:47:42 -05:00
desc_sroa_util.cpp clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01: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 opt: Add OpEntryPoint to DescriptorScalarReplacement pass (#5553) 2024-02-01 09:50:36 -05:00
desc_sroa.h opt: Add OpEntryPoint to DescriptorScalarReplacement pass (#5553) 2024-02-01 09:50:36 -05:00
dominator_analysis.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
dominator_analysis.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
dominator_tree.cpp clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
dominator_tree.h Remove duplicated "the" from comments (#4666) 2022-01-12 19:04:13 -05:00
eliminate_dead_constant_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -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 removal of dependent non-semantic instructions (#5122) 2023-02-24 01:10:35 +00: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_io_components_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
eliminate_dead_io_components_pass.h Change EliminateDeadInputComponentsPass to EliminateDeadIOComponentsPass (#4997) 2022-11-25 16:48:13 -07:00
eliminate_dead_members_pass.cpp clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01: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
eliminate_dead_output_stores_pass.cpp Remove calls to GetId in liveness analysis (#5693) 2024-06-03 15:21:14 +02:00
eliminate_dead_output_stores_pass.h spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
empty_pass.h Temporarily add EmptyPass to prevent glslang from failing (#4004) 2020-10-30 18:03:56 -04:00
feature_manager.cpp NFC: replace EnumSet::ForEach with range-based-for (#5322) 2023-07-13 14:40:47 -04:00
feature_manager.h opt: change Get* functions to return const& (#5331) 2023-07-20 10:18:19 -04:00
fix_func_call_arguments.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
fix_func_call_arguments.h spirv-opt : Add FixFuncCallArgumentsPass (#4775) 2022-05-06 10:39:26 -04:00
fix_storage_class.cpp opt: support 64-bit OpAccessChain index in FixStorageClass (#5446) 2023-10-19 20:02:46 +00:00
fix_storage_class.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
flatten_decoration_pass.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -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 [OPT] Use new instruction folder for for all opcodes in spec consti folding (#5569) 2024-02-12 19:52:55 +00:00
fold_spec_constant_op_and_composite_pass.h spirv-opt: Remove unused fold spec const code (#4906) 2022-09-02 16:24:02 +00:00
fold.cpp [OPT] Use new instruction folder for for all opcodes in spec consti folding (#5569) 2024-02-12 19:52:55 +00:00
fold.h Enable vector constant folding (#4913) (#5272) 2023-06-19 15:01:51 -04:00
folding_rules.cpp Avoid use of type manager in extact->construct folding (#5684) 2024-05-31 14:13:20 +02:00
folding_rules.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
freeze_spec_constant_value_pass.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
freeze_spec_constant_value_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
function.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
function.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
graphics_robust_access_pass.cpp NFC: makes the FeatureManager immutable for users (#5329) 2023-07-17 11:15:08 -04:00
graphics_robust_access_pass.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
if_conversion.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -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 clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
inline_opaque_pass.h Handle id overflow in inlining. (#2196) 2018-12-18 19:34:03 +00:00
inline_pass.cpp Add AliasedPointer decoration (#5635) 2024-04-05 11:45:55 -06:00
inline_pass.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
inst_debug_printf_pass.cpp printf: Remove stage specific info (#5495) 2023-12-04 15:43:36 -07:00
inst_debug_printf_pass.h printf: Remove stage specific info (#5495) 2023-12-04 15:43:36 -07: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 Enable vector constant folding (#4913) (#5272) 2023-06-19 15:01:51 -04:00
instruction.h Enable vector constant folding (#4913) (#5272) 2023-06-19 15:01:51 -04:00
instrument_pass.cpp instrument: Fix handling of gl_InvocationID (#5493) 2023-12-05 09:59:51 -07:00
instrument_pass.h printf: Remove stage specific info (#5495) 2023-12-04 15:43:36 -07:00
interface_var_sroa.cpp spirv-opt: Fix OpCompositeInsert with Null Constant (#5008) 2022-12-06 09:00:10 -05:00
interface_var_sroa.h spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
interp_fixup_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
interp_fixup_pass.h Add interpolate legalization pass (#4220) 2021-03-31 14:26:36 -04:00
invocation_interlock_placement_pass.cpp Add a new legalization pass to dedupe invocation interlock instructions (#5409) 2023-09-27 19:54:10 -04:00
invocation_interlock_placement_pass.h Add a new legalization pass to dedupe invocation interlock instructions (#5409) 2023-09-27 19:54:10 -04:00
ir_builder.h instrument: Combine descriptor length and init state checking (#5274) 2023-06-22 09:39:49 -06:00
ir_context.cpp [OPT] Fix handling of analyses rebuild (#5608) 2024-03-12 09:09:46 +00:00
ir_context.h spirv-val, core: add support for OpExtInstWithForwardRefs (#5698) 2024-06-04 16:18:06 +02:00
ir_loader.cpp spirv-val, core: add support for OpExtInstWithForwardRefs (#5698) 2024-06-04 16:18:06 +02: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 Fix LICMPass (#5087) 2023-04-05 11:48:14 -04:00
licm_pass.h In LICM don't place code between merge instruction and branch. (#2252) 2018-12-20 18:33:52 -05:00
liveness.cpp Remove calls to GetId in liveness analysis (#5693) 2024-06-03 15:21:14 +02:00
liveness.h Fix comments in liveness.h (#5699) 2024-06-03 12:05:04 -04:00
local_access_chain_convert_pass.cpp opt: add SPV_EXT_mesh_shader to opt allowlist (#5551) 2024-01-30 12:13:46 -05:00
local_access_chain_convert_pass.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -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 opt: add SPV_EXT_mesh_shader to opt allowlist (#5551) 2024-01-30 12:13:46 -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 opt: add SPV_EXT_mesh_shader to opt allowlist (#5551) 2024-01-30 12:13:46 -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 Remove references to __FILE__ (#5462) 2023-11-01 15:19:48 -07:00
loop_dependence_helpers.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
loop_dependence.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
loop_dependence.h Remove extra semis (#2717) 2019-07-08 15:07:36 -04:00
loop_descriptor.cpp Fix LICMPass (#5087) 2023-04-05 11:48:14 -04:00
loop_descriptor.h Fix LICMPass (#5087) 2023-04-05 11:48:14 -04:00
loop_fission.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
loop_fission.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
loop_fusion_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
loop_fusion_pass.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
loop_fusion.cpp clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
loop_fusion.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
loop_peeling.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
loop_peeling.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
loop_unroller.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -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 spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
loop_unswitch_pass.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
loop_utils.cpp clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
loop_utils.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
mem_pass.cpp [spirv-opt] Handle OpFunction in GetPtr (#5316) 2023-07-17 19:16:25 +00:00
mem_pass.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
merge_return_pass.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
merge_return_pass.h Remove default copy constructor in header. (#4879) 2022-07-29 18:26:37 +00:00
modify_maximal_reconvergence.cpp Add tooling support for SPV_KHR_maximal_reconvergence (#5542) 2024-01-25 09:39:49 -05:00
modify_maximal_reconvergence.h Add tooling support for SPV_KHR_maximal_reconvergence (#5542) 2024-01-25 09:39:49 -05:00
module.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
module.h instrument: Use Import linkage for instrumentation functions (#5355) 2023-09-20 10:50:30 -06:00
null_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
optimizer.cpp opt: Remove bindless and buff addr instrumentation passes (#5657) 2024-05-02 18:52:17 -04:00
pass_manager.cpp Allow spirv-opt print-all to show pretty IDs (#4888) 2022-08-09 14:10:36 -04:00
pass_manager.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
pass.cpp clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
pass.h spirv-opt: (WIP) Eliminate Dead Input Component Pass (#4720) 2022-03-22 20:50:52 -06:00
passes.h opt: Remove bindless and buff addr instrumentation passes (#5657) 2024-05-02 18:52:17 -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 clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
private_to_local_pass.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
propagator.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
propagator.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
reduce_load_size.cpp clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01: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 Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
reflect.h Add missing header include (#5124) 2023-02-24 13:21:53 -05:00
register_pressure.cpp clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
register_pressure.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
relax_float_ops_pass.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
relax_float_ops_pass.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
remove_dontinline_pass.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
remove_dontinline_pass.h Add pass to remove DontInline function control (#4747) 2022-03-07 12:45:17 -05:00
remove_duplicates_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -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 Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
remove_unused_interface_variables_pass.h Add missing header guard (#5181) 2023-03-29 15:52:47 -04:00
replace_desc_array_access_using_var_index.cpp spirv-opt: Fix OpCompositeInsert with Null Constant (#5008) 2022-12-06 09:00:10 -05:00
replace_desc_array_access_using_var_index.h Handle chains of OpAccessChain in replacing variable index access for flattened resources. (#4797) 2022-05-10 11:41:43 -04:00
replace_invalid_opc.cpp Do not remove control barrier after spv1.3 (#5174) 2023-03-27 11:04:40 -04:00
replace_invalid_opc.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
scalar_analysis_nodes.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
scalar_analysis_simplification.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
scalar_analysis.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
scalar_analysis.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
scalar_replacement_pass.cpp Apply scalar replacement on vars with Pointer decorations (#5208) 2023-05-08 09:39:14 -04:00
scalar_replacement_pass.h Apply scalar replacement on vars with Pointer decorations (#5208) 2023-05-08 09:39:14 -04:00
set_spec_constant_default_value_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
set_spec_constant_default_value_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
simplification_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
simplification_pass.h Add two new simplifications. (#2984) 2019-10-28 08:19:38 -07:00
spread_volatile_semantics.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
spread_volatile_semantics.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
ssa_rewrite_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
ssa_rewrite_pass.h Cleanup code for 272e4b3d0 (#4934) 2022-09-20 15:27:23 -06:00
strength_reduction_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -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 spirv-val, core: add support for OpExtInstWithForwardRefs (#5698) 2024-06-04 16:18:06 +02:00
strip_debug_info_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
strip_nonsemantic_info_pass.cpp spirv-val, core: add support for OpExtInstWithForwardRefs (#5698) 2024-06-04 16:18:06 +02: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 clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +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
switch_descriptorset_pass.cpp opt: Add SwitchDescriptorSetPass (#5375) 2023-08-22 00:16:35 +00:00
switch_descriptorset_pass.h opt: Add SwitchDescriptorSetPass (#5375) 2023-08-22 00:16:35 +00:00
tree_iterator.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
trim_capabilities_pass.cpp opt: Add VulkanMemoryModelDeviceScope to trim (#5544) 2024-01-25 14:05:04 -05:00
trim_capabilities_pass.h opt: add GroupNonUniformPartitionedNV capability to trim pass (#5648) 2024-04-18 16:04:58 -04:00
type_manager.cpp Remove implicit call to GetId in ConvertToSampledImagePass. (#5692) 2024-06-03 15:07:52 +02:00
type_manager.h Fix rebuilding types with circular references (#5623). (#5637) 2024-04-09 10:36:21 -04:00
types.cpp SPV_KHR_cooperative_matrix (#5286) 2023-06-22 18:33:36 -04:00
types.h SPV_KHR_cooperative_matrix (#5286) 2023-06-22 18:33:36 -04:00
unify_const_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04:00
unify_const_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
upgrade_memory_model.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
upgrade_memory_model.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
value_number_table.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
value_number_table.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
vector_dce.cpp clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
vector_dce.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
workaround1209.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
workaround1209.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
wrap_opkill.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
wrap_opkill.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00