SPIRV-Tools/source/reduce
Ryan Harrison 048dcd38ce
Implement WebGPU->Vulkan initializer conversion for 'Function' variables (#2513)
WebGPU requires certain variables to be initialized, whereas there are
known issues with using initializers in Vulkan. This PR is the first
of three implementing a pass to decompose initialized variables into
a variable declaration followed by a store. This has been broken up
into multiple PRs, because there 3 distinct cases that need to be
handled, which require separate implementations.

This first PR implements the basic infrastructure that is needed, and
handling of Function storage class variables. Private and Output will
be handled in future PRs.

This is part of resolving #2388
2019-04-16 14:31:36 -04:00
..
CMakeLists.txt reduce: Add two branch reduction passes (#2507) 2019-04-15 19:54:36 +01:00
change_operand_reduction_opportunity.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
change_operand_reduction_opportunity.h reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
change_operand_to_undef_reduction_opportunity.cpp spirv-reduce: add OperandToUndefReductionPass (#2200) 2018-12-19 13:25:56 +00:00
change_operand_to_undef_reduction_opportunity.h spirv-reduce: add OperandToUndefReductionPass (#2200) 2018-12-19 13:25:56 +00:00
conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp reduce: Add two branch reduction passes (#2507) 2019-04-15 19:54:36 +01:00
conditional_branch_to_simple_conditional_branch_opportunity_finder.h reduce: Add two branch reduction passes (#2507) 2019-04-15 19:54:36 +01:00
conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp reduce: Add two branch reduction passes (#2507) 2019-04-15 19:54:36 +01:00
conditional_branch_to_simple_conditional_branch_reduction_opportunity.h reduce: Add two branch reduction passes (#2507) 2019-04-15 19:54:36 +01:00
merge_blocks_reduction_opportunity.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
merge_blocks_reduction_opportunity.h reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
merge_blocks_reduction_opportunity_finder.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
merge_blocks_reduction_opportunity_finder.h Merge blocks in reducer (#2353) 2019-02-01 14:56:54 +00:00
operand_to_const_reduction_opportunity_finder.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
operand_to_const_reduction_opportunity_finder.h Fixed names in ifdefs and GetName functions that had been forgotten in a previous refactoring. Also shortened names of test files as those files test both the new 'finder' classes introduced in the refactoring, as well as the 'reduction pass' class; the shorter names capture both. (#2336) 2019-01-25 11:37:03 -05:00
operand_to_dominating_id_reduction_opportunity_finder.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
operand_to_dominating_id_reduction_opportunity_finder.h reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
operand_to_undef_reduction_opportunity_finder.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
operand_to_undef_reduction_opportunity_finder.h Fixed names in ifdefs and GetName functions that had been forgotten in a previous refactoring. Also shortened names of test files as those files test both the new 'finder' classes introduced in the refactoring, as well as the 'reduction pass' class; the shorter names capture both. (#2336) 2019-01-25 11:37:03 -05:00
pch_source_reduce.cpp Fix the missing pch files in spirv-reduce (#2097) 2018-11-22 18:00:08 -05:00
pch_source_reduce.h Refactored reducer so that the 'finding' functionality of a reduction pass are separated from the generic functionality for tracking progress of a pass. With this change, we now have a ReductionOpportunityFinder abstract class, with many subclasses for each type of reduction, and just one ReductionPass class, which has an associated finder. (#2321) 2019-01-23 17:07:58 -05:00
reducer.cpp reduce: Add two branch reduction passes (#2507) 2019-04-15 19:54:36 +01:00
reducer.h reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
reduction_opportunity.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
reduction_opportunity.h spirv-reduce: add OperandToUndefReductionPass (#2200) 2018-12-19 13:25:56 +00:00
reduction_opportunity_finder.h reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
reduction_pass.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
reduction_pass.h Improve reducer algorithm and other changes (#2472) 2019-03-26 13:22:31 +00:00
reduction_util.cpp reduce: Add two branch reduction passes (#2507) 2019-04-15 19:54:36 +01:00
reduction_util.h reduce: Add two branch reduction passes (#2507) 2019-04-15 19:54:36 +01:00
remove_block_reduction_opportunity.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
remove_block_reduction_opportunity.h reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
remove_block_reduction_opportunity_finder.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
remove_block_reduction_opportunity_finder.h reduce: remove unreferenced blocks pass (#2398) 2019-03-21 13:32:21 +00:00
remove_function_reduction_opportunity.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
remove_function_reduction_opportunity.h reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
remove_function_reduction_opportunity_finder.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
remove_function_reduction_opportunity_finder.h Fixes #2358. Added to the reducer the ability to remove a function t… (#2361) 2019-02-08 16:20:29 +00:00
remove_instruction_reduction_opportunity.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
remove_instruction_reduction_opportunity.h reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
remove_opname_instruction_reduction_opportunity_finder.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
remove_opname_instruction_reduction_opportunity_finder.h reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
remove_selection_reduction_opportunity.cpp reduce: add remove_selection_reduction_opportunity (#2485) 2019-04-02 16:50:15 +01:00
remove_selection_reduction_opportunity.h reduce: add remove_selection_reduction_opportunity (#2485) 2019-04-02 16:50:15 +01:00
remove_selection_reduction_opportunity_finder.cpp Implement WebGPU->Vulkan initializer conversion for 'Function' variables (#2513) 2019-04-16 14:31:36 -04:00
remove_selection_reduction_opportunity_finder.h reduce: add remove_selection_reduction_opportunity (#2485) 2019-04-02 16:50:15 +01:00
remove_unreferenced_instruction_reduction_opportunity_finder.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
remove_unreferenced_instruction_reduction_opportunity_finder.h reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
simple_conditional_branch_to_branch_opportunity_finder.cpp reduce: Add two branch reduction passes (#2507) 2019-04-15 19:54:36 +01:00
simple_conditional_branch_to_branch_opportunity_finder.h reduce: Add two branch reduction passes (#2507) 2019-04-15 19:54:36 +01:00
simple_conditional_branch_to_branch_reduction_opportunity.cpp reduce: Add two branch reduction passes (#2507) 2019-04-15 19:54:36 +01:00
simple_conditional_branch_to_branch_reduction_opportunity.h reduce: Add two branch reduction passes (#2507) 2019-04-15 19:54:36 +01:00
structured_loop_to_selection_reduction_opportunity.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
structured_loop_to_selection_reduction_opportunity.h reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
structured_loop_to_selection_reduction_opportunity_finder.cpp reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00
structured_loop_to_selection_reduction_opportunity_finder.h reduce: miscellaneous fixes (#2494) 2019-04-08 19:37:17 +01:00