SPIRV-Tools/source/opt
Greg Fischer c8e1588cfa
Add passes to eliminate dead output stores (#4970)
This adds two passes to accomplish this: one pass to analyze a shader
to determine the input slots that are live. The second pass is run on
the preceding shader to eliminate any stores to output slots that are
not consumed by the following shader.

These passes support vert, tesc, tese, geom, and frag shaders.

These passes are currently only available through the API.

These passes together with dead code elimination, and elimination of
dead input and output components and variables (WIP), will allow users
to do dead code elimination across shader boundaries.
2022-11-02 11:23:25 -06:00
..
aggressive_dead_code_elim_pass.cpp Fix ADCE to mark scope and inlined_at of line instructions as live. (#4910) 2022-08-31 18:10:17 -04:00
aggressive_dead_code_elim_pass.h Fix ADCE to mark scope and inlined_at of line instructions as live. (#4910) 2022-08-31 18:10:17 -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 Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
analyze_live_input_pass.cpp Add passes to eliminate dead output stores (#4970) 2022-11-02 11:23:25 -06: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 Take new (raytracing) termination instructions into account. (#4050) 2020-12-07 10:26:05 -05:00
basic_block.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -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 Prevent eliminating case constructs in block merging (#4976) 2022-10-28 14:13:20 -04: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 Generalize assert in ccp (#4735) 2022-03-07 19:33:10 +00: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 Improve time to build dominators (#4916) 2022-09-02 16:27:10 +00:00
cfg.h Build struct order only for the section needed when unrolling. (#4830) 2022-06-29 09:53:26 -04:00
CMakeLists.txt Add passes to eliminate dead output stores (#4970) 2022-11-02 11:23:25 -06: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 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 spirv-opt: Remove unused folding rule (#4942) 2022-09-23 14:02:01 -04:00
const_folding_rules.h Refactor instruction folders (#2815) 2019-08-26 18:54:11 -04:00
constants.cpp avoid unnecessary reallocations in GetOperandConstants (#4708) 2022-02-10 18:31:24 +00:00
constants.h Support Narrow Types in BitCast Folding Rule (#4941) 2022-10-06 10:35:18 -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 Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05: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 spirv-opt: fix copy-propagate-arrays index opti on structs. (#4891) 2022-08-16 16:05:47 +02:00
copy_prop_arrays.h spirv-opt: fix copy-propagate-arrays index opti on structs. (#4891) 2022-08-16 16:05:47 +02: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 Improve algorithm to reorder blocks in a function (#4911) 2022-08-31 11:06:15 -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 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 Fix CreatDebugInlinedAt to not invoke def_use_mgr (#4939) 2022-09-23 08:45:32 -04:00
debug_info_manager.h Cleanup code for 272e4b3d0 (#4934) 2022-09-20 15:27:23 -06: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 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 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 Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -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 Improve time to build dominators (#4916) 2022-09-02 16:27:10 +00: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_input_components_pass.cpp Add structs to eliminate dead input components (#4894) 2022-08-16 11:31:04 -04:00
eliminate_dead_input_components_pass.h Add structs to eliminate dead input components (#4894) 2022-08-16 11:31:04 -04:00
eliminate_dead_members_pass.cpp Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -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
eliminate_dead_output_stores_pass.cpp Add passes to eliminate dead output stores (#4970) 2022-11-02 11:23:25 -06:00
eliminate_dead_output_stores_pass.h Add passes to eliminate dead output stores (#4970) 2022-11-02 11:23:25 -06:00
empty_pass.h Temporarily add EmptyPass to prevent glslang from failing (#4004) 2020-10-30 18:03:56 -04:00
feature_manager.cpp Revert "test" (#4974) 2022-10-27 14:17:31 +02:00
feature_manager.h Handle NonSemantic.Shader Debug[No]Line (#4530) 2021-09-24 10:56:08 -04:00
fix_func_call_arguments.cpp spirv-opt : Add FixFuncCallArgumentsPass (#4775) 2022-05-06 10:39:26 -04:00
fix_func_call_arguments.h spirv-opt : Add FixFuncCallArgumentsPass (#4775) 2022-05-06 10:39:26 -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 spirv-opt: Fix stacked CompositeExtract constant folds (#4932) 2022-09-23 08:45:11 -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 spirv-opt: Fix stacked CompositeExtract constant folds (#4932) 2022-09-23 08:45:11 -04:00
fold.h Refactor instruction folders (#2815) 2019-08-26 18:54:11 -04:00
folding_rules.cpp Support Narrow Types in BitCast Folding Rule (#4941) 2022-10-06 10:35:18 -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 Improve algorithm to reorder blocks in a function (#4911) 2022-08-31 11:06:15 -04:00
function.h Improve algorithm to reorder blocks in a function (#4911) 2022-08-31 11:06:15 -04:00
graphics_robust_access_pass.cpp Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
graphics_robust_access_pass.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
if_conversion.cpp Avoid if-conversion if both predecessors are the same (#4826) 2022-06-24 15:28:06 +00: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 Remove spvOpcodeTerminatesExecution (#4931) 2022-09-21 16:10:58 -04:00
inline_pass.h Remove spvOpcodeTerminatesExecution (#4931) 2022-09-21 16:10:58 -04:00
inst_bindless_check_pass.cpp spirv-opt: (WIP) Eliminate Dead Input Component Pass (#4720) 2022-03-22 20:50:52 -06:00
inst_bindless_check_pass.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
inst_buff_addr_check_pass.cpp Instrument: Add OpNames to generated functions and variables (#4873) 2022-09-01 18:32:00 +00:00
inst_buff_addr_check_pass.h Instrument: Add OpNames to generated functions and variables (#4873) 2022-09-01 18:32:00 +00: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: Remove unused fold spec const code (#4906) 2022-09-02 16:24:02 +00:00
instruction.h spirv-opt: Remove unused fold spec const code (#4906) 2022-09-02 16:24:02 +00:00
instrument_pass.cpp Implement tool changes for SPV_EXT_mesh_shader. (#4915) 2022-09-01 20:36:15 -04:00
instrument_pass.h Instrument: Add OpNames to generated functions and variables (#4873) 2022-09-01 18:32:00 +00:00
interface_var_sroa.cpp Fix small bug traversing users in interface_var_sroa (#4850) 2022-07-08 13:11:22 -04:00
interface_var_sroa.h spirv-opt: add pass for interface variable scalar replacement (#4779) 2022-05-09 14:04:52 -04:00
interp_fixup_pass.cpp spirv-opt: (WIP) Eliminate Dead Input Component Pass (#4720) 2022-03-22 20:50:52 -06:00
interp_fixup_pass.h Add interpolate legalization pass (#4220) 2021-03-31 14:26:36 -04:00
ir_builder.h spirv-opt : Add FixFuncCallArgumentsPass (#4775) 2022-05-06 10:39:26 -04:00
ir_context.cpp Add passes to eliminate dead output stores (#4970) 2022-11-02 11:23:25 -06:00
ir_context.h Add passes to eliminate dead output stores (#4970) 2022-11-02 11:23:25 -06:00
ir_loader.cpp spirv-opt : SPV_NV_bindless_texture related changes (#4870) 2022-07-29 19:28:27 +00: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
liveness.cpp Add passes to eliminate dead output stores (#4970) 2022-11-02 11:23:25 -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 Local access chain convert: check for negative indexes (#4884) 2022-08-09 17:33:04 +00:00
local_access_chain_convert_pass.h Local access chain convert: check for negative indexes (#4884) 2022-08-09 17:33:04 +00: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_KHR_fragment_shader_barycentric support (#4805) 2022-05-25 09:20:39 -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 Cleanup code for 272e4b3d0 (#4934) 2022-09-20 15:27:23 -06: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 Build struct order only for the section needed when unrolling. (#4830) 2022-06-29 09:53:26 -04:00
loop_descriptor.h Don't try to unroll loop with step count 0. (#4769) 2022-04-11 10:21:15 -04:00
loop_fission.cpp Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
loop_fission.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
loop_fusion_pass.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
loop_fusion_pass.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
loop_fusion.cpp Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
loop_fusion.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
loop_peeling.cpp spirv-opt: Set parent when adding basic block (#4021) 2020-11-13 12:33:15 -05:00
loop_peeling.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
loop_unroller.cpp Avoid unrolling large loops while fuzzing (#4835) 2022-06-29 09:12: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 Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
loop_unswitch_pass.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05: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 Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05: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 Don't rebuilt valid analyses. (#4733) 2022-03-04 20:16:42 +00:00
merge_return_pass.h Remove default copy constructor in header. (#4879) 2022-07-29 18:26:37 +00:00
module.cpp Add passes to eliminate dead output stores (#4970) 2022-11-02 11:23:25 -06:00
module.h spirv-opt : SPV_NV_bindless_texture related changes (#4870) 2022-07-29 19:28:27 +00:00
null_pass.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
optimizer.cpp Add passes to eliminate dead output stores (#4970) 2022-11-02 11:23:25 -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 Handle NonSemantic.Shader Debug[No]Line (#4530) 2021-09-24 10:56:08 -04:00
pass.h spirv-opt: (WIP) Eliminate Dead Input Component Pass (#4720) 2022-03-22 20:50:52 -06:00
passes.h Add passes to eliminate dead output stores (#4970) 2022-11-02 11:23:25 -06: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 Qualify std::move. (#4741) 2022-03-22 11:20:11 -04:00
private_to_local_pass.h Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05: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 Reduce load size does not work for array with spec const size (#4845) 2022-07-05 16:16:50 -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 Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05: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_dontinline_pass.cpp Add pass to remove DontInline function control (#4747) 2022-03-07 12:45:17 -05: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 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 Handle chains of OpAccessChain in replacing variable index access for flattened resources. (#4797) 2022-05-10 11:41:43 -04: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 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 Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
scalar_analysis_simplification.cpp Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
scalar_analysis.cpp Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
scalar_analysis.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
scalar_replacement_pass.cpp Have scalar replacement use undef instead of null (#4691) 2022-02-03 15:51:15 +00:00
scalar_replacement_pass.h Add limit for scalar replacment when fuzzing (#4843) 2022-07-05 20:12:58 -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 Handle dontinline function in spread-volatile-semantics (#4776) 2022-05-04 10:52:58 -04:00
spread_volatile_semantics.h Handle dontinline function in spread-volatile-semantics (#4776) 2022-05-04 10:52:58 -04:00
ssa_rewrite_pass.cpp Cleanup code for 272e4b3d0 (#4934) 2022-09-20 15:27:23 -06:00
ssa_rewrite_pass.h Cleanup code for 272e4b3d0 (#4934) 2022-09-20 15:27:23 -06: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 Complete handling of RayQueryKHR type (#4690) 2022-01-31 15:44:32 +00:00
type_manager.h Manually fold floating point division by zero (#4637) 2021-11-24 14:13:58 -05:00
types.cpp Avoid replacing access chain with OOB access (#4819) 2022-06-14 13:06:38 -04:00
types.h Avoid replacing access chain with OOB access (#4819) 2022-06-14 13:06:38 -04:00
unify_const_pass.cpp Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05: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 Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05: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