SPIRV-Tools/test/opt/loop_optimizations
Alexander Johnston 61b50b3bfa ZIV and SIV loop dependence analysis.
Provides functionality to perform ZIV and SIV dependency analysis tests
between a load and store within the same loop.

Dependency tests rely on scalar analysis to prove and disprove dependencies
with regard to the loop being analysed.

Based on the 1990 paper Practical Dependence Testing by Goff, Kennedy, Tseng

Adds support for marking loops in the loop nest as IRRELEVANT.
Loops are marked IRRELEVANT if the analysed instructions contain
no induction variables for the loops, i.e. the loops induction
variable is not relevent to the dependence of the store and load.
2018-04-11 09:32:42 -04:00
..
CMakeLists.txt ZIV and SIV loop dependence analysis. 2018-04-11 09:32:42 -04:00
dependence_analysis_helpers.cpp ZIV and SIV loop dependence analysis. 2018-04-11 09:32:42 -04:00
dependence_analysis.cpp ZIV and SIV loop dependence analysis. 2018-04-11 09:32:42 -04:00
hoist_all_loop_types.cpp Loop invariant code motion initial implementation 2018-02-08 22:55:47 -05:00
hoist_double_nested_loops.cpp Loop invariant code motion initial implementation 2018-02-08 22:55:47 -05:00
hoist_from_independent_loops.cpp Loop invariant code motion initial implementation 2018-02-08 22:55:47 -05:00
hoist_simple_case.cpp Loop invariant code motion initial implementation 2018-02-08 22:55:47 -05:00
hoist_single_nested_loops.cpp Loop invariant code motion initial implementation 2018-02-08 22:55:47 -05:00
hoist_without_preheader.cpp Change merge return pass to handle structured cfg. 2018-03-19 13:49:04 -04:00
lcssa.cpp Add LoopUtils class to gather some loop transformation support. 2018-02-01 15:35:09 -05:00
loop_descriptions.cpp Add loop unswitch pass. 2018-02-27 08:52:46 -05:00
nested_loops.cpp Loop invariant code motion initial implementation 2018-02-08 22:55:47 -05:00
peeling.cpp Add loop peeling utility 2018-03-20 10:21:10 -04:00
unroll_assumptions.cpp Unroller support for multiple induction variables 2018-02-27 11:50:08 +00:00
unroll_simple.cpp Unroller support for multiple induction variables 2018-02-27 11:50:08 +00:00
unswitch.cpp Add loop unswitch pass. 2018-02-27 08:52:46 -05:00