SPIRV-Tools/source/opt
Nathan Gauër 85a4482131
NFC: makes the FeatureManager immutable for users (#5329)
* NFC: makes the FeatureManager immutable for users

The FeatureManager contains some internal state, like
a set of capabilities and extensions. Those are derived
from the module.

Before this commit, the FeatureManager exposed Remove* functions
which could unsync the reported extensions/capabilities from
the truth: the module.

The only valid usecase to remove items directly from the FeatureManager
is by the context itself, when an instruction is killed:
instead of running the whole an analysis, we remove the single outdated
item.

The was 2 users who mutated its state:
 - one to invalidate the manager. Moved to call a reset function.
 - one who removed an extension from the feature manager after removing
   it from the module. This logic has been moved to the context, who
   now handles the extension removal itself.

Signed-off-by: Nathan Gauër <brioche@google.com>

* clang-format

* add RemoveCapability since the fuzztests are using it

* add tests

---------

Signed-off-by: Nathan Gauër <brioche@google.com>
2023-07-17 11:15:08 -04:00
..
aggressive_dead_code_elim_pass.cpp Add SPV_NV_bindless_texture to spirv optimizations (#5231) 2023-05-24 11:01:11 -04: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 Fix use of invalid analysis (#5013) 2022-12-12 10:49:59 -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 cmake: Modernize install(TARGET) usage (#5056) 2023-01-16 10:55:35 -05: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 Fold negation of integer vectors (#5269) 2023-06-16 10:37:21 -04:00
const_folding_rules.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
constants.cpp Enable vector constant folding (#4913) (#5272) 2023-06-19 15:01:51 -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 Don't convert struct members to half (#5201) 2023-05-08 12:14:42 -04:00
convert_to_half_pass.h Don't convert struct members to half (#5201) 2023-05-08 12:14:42 -04:00
convert_to_sampled_image_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04: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 clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
copy_prop_arrays.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04: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 clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01: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 clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
decoration_manager.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
def_use_manager.cpp Revert "Optimize DefUseManager allocations (#4709)" (#4846) 2022-07-12 13:14:47 -06:00
def_use_manager.h Revert "Optimize DefUseManager allocations (#4709)" (#4846) 2022-07-12 13:14:47 -06: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 Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
desc_sroa.h Remove duplicated "the" from comments (#4666) 2022-01-12 19:04:13 -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 Ignore NonSemanticInstructions (#5171) 2023-03-24 10:46:52 -06: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 NFC: makes the FeatureManager immutable for users (#5329) 2023-07-17 11:15:08 -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 Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04: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 spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04: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 Enable vector constant folding (#4913) (#5272) 2023-06-19 15:01:51 -04:00
fold.h Enable vector constant folding (#4913) (#5272) 2023-06-19 15:01:51 -04:00
folding_rules.cpp Remove const zero image operands (#5232) 2023-05-24 10:30:10 -04: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 clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01:00
inline_pass.h Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
inst_bindless_check_pass.cpp instrument: Combine descriptor length and init state checking (#5274) 2023-06-22 09:39:49 -06:00
inst_bindless_check_pass.h instrument: Combine descriptor length and init state checking (#5274) 2023-06-22 09:39:49 -06:00
inst_buff_addr_check_pass.cpp instrument: Combine descriptor length and init state checking (#5274) 2023-06-22 09:39:49 -06:00
inst_buff_addr_check_pass.h instrument: Fix buffer address length calculations (#5257) 2023-06-14 16:14:46 -06:00
inst_debug_printf_pass.cpp NFC: makes the FeatureManager immutable for users (#5329) 2023-07-17 11:15:08 -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 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: Cast gl_VertexIndex and InstanceIndex to uint (#5319) 2023-07-12 15:12:26 -06:00
instrument_pass.h instrument: Combine descriptor length and init state checking (#5274) 2023-06-22 09:39:49 -06: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
ir_builder.h instrument: Combine descriptor length and init state checking (#5274) 2023-06-22 09:39:49 -06:00
ir_context.cpp NFC: makes the FeatureManager immutable for users (#5329) 2023-07-17 11:15:08 -04:00
ir_context.h NFC: makes the FeatureManager immutable for users (#5329) 2023-07-17 11:15:08 -04:00
ir_loader.cpp clean: constexpr-ify and unify anon namespace use (#4991) 2022-11-17 19:02:50 +01: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 Ignore NonSemanticInstructions (#5171) 2023-03-24 10:46:52 -06:00
liveness.h Add passes to eliminate dead output stores (#4970) 2022-11-02 11:23:25 -06:00
local_access_chain_convert_pass.cpp Add SPV_NV_bindless_texture to spirv optimizations (#5231) 2023-05-24 11:01:11 -04: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 Add SPV_NV_bindless_texture to spirv optimizations (#5231) 2023-05-24 11:01:11 -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 SPV_NV_bindless_texture to spirv optimizations (#5231) 2023-05-24 11:01:11 -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 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: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04: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
module.cpp Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
module.h NFC: makes the FeatureManager immutable for users (#5329) 2023-07-17 11:15:08 -04:00
null_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
optimizer.cpp instrument: Combine descriptor length and init state checking (#5274) 2023-06-22 09:39:49 -06: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 Change EliminateDeadInputComponentsPass to EliminateDeadIOComponentsPass (#4997) 2022-11-25 16:48:13 -07: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 Switch SPIRV-Tools to use spirv.hpp11 internally (#4981) 2022-11-04 17:27:10 -04:00
strip_debug_info_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
strip_nonsemantic_info_pass.cpp spirv-opt: Remove unused includes and code (#5177) 2023-03-28 12:40:30 -04: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
tree_iterator.h Rewrite include guards (#1793) 2018-08-03 08:05:33 -04:00
type_manager.cpp SPV_KHR_cooperative_matrix (#5286) 2023-06-22 18:33:36 -04:00
type_manager.h Fold negation of integer vectors (#5269) 2023-06-16 10:37: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