SPIRV-Tools/test/opt
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
..
dominator_tree Copy propagate arrays 2018-03-26 14:44:41 -04:00
loop_optimizations ZIV and SIV loop dependence analysis. 2018-04-11 09:32:42 -04:00
aggressive_dead_code_elim_test.cpp Teach ADCE about OpImageTexelPointer 2018-04-04 13:45:29 -04:00
assembly_builder_test.cpp hex_float: Use max_digits10 for the float precision 2018-04-03 12:53:10 -04:00
assembly_builder.h Adding additional functionality to ADCE. 2018-01-10 08:35:48 -05:00
block_merge_test.cpp Fixes #1402. Don't merge non-branch terminators into loop header. 2018-03-13 22:16:17 -04:00
ccp_test.cpp Fixes #1361. Mark all non-constant global values as varying in CCP 2018-03-01 15:24:41 -05:00
cfg_cleanup_test.cpp Adding OpPhi validation rules. 2018-03-27 17:26:26 -04:00
CMakeLists.txt ZIV and SIV loop dependence analysis. 2018-04-11 09:32:42 -04:00
common_uniform_elim_test.cpp Fixes missing increment in common uniform elim 2018-01-16 14:47:35 -05:00
compact_ids_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
copy_prop_array_test.cpp OpName and decorations should not stop array copy prop. 2018-04-04 22:24:10 -04:00
dead_branch_elim_test.cpp hex_float: Use max_digits10 for the float precision 2018-04-03 12:53:10 -04:00
dead_insert_elim_test.cpp hex_float: Use max_digits10 for the float precision 2018-04-03 12:53:10 -04:00
dead_variable_elim_test.cpp Add pass to remove dead variables at the module level. 2017-10-23 13:57:05 -04:00
decoration_manager_test.cpp Teach DecorationManager about OpDecorateStringGOOGLE 2018-03-13 22:18:33 -04:00
def_use_test.cpp Preserve analysies in the simplification pass 2018-02-22 16:06:30 -05:00
eliminate_dead_const_test.cpp hex_float: Use max_digits10 for the float precision 2018-04-03 12:53:10 -04:00
eliminate_dead_functions_test.cpp Add scalar replacement 2017-12-11 10:51:13 -05:00
feature_manager_test.cpp Store all enabled capabilities in the feature manger. 2017-12-21 11:14:53 -05:00
flatten_decoration_test.cpp Add FlattenDecoration transform 2017-04-06 11:19:56 -04:00
fold_spec_const_op_composite_test.cpp Implement SSA CCP (SSA Conditional Constant Propagation). 2017-12-21 14:29:45 -05:00
fold_test.cpp Fold OpDot 2018-04-10 13:09:37 -04:00
freeze_spec_const_test.cpp hex_float: Use max_digits10 for the float precision 2018-04-03 12:53:10 -04:00
function_utils.h Dominator Tree Analysis (#3) 2017-12-05 22:59:43 -05:00
if_conversion_test.cpp Initial implementation of if conversion 2018-01-25 09:42:00 -08:00
inline_opaque_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
inline_test.cpp Set the parent for basic blocks during inlining. 2017-12-12 13:39:08 -05:00
insert_extract_elim_test.cpp InsertExtractElim: Split out DeadInsertElim as separate pass 2018-01-30 08:52:14 -05:00
instruction_list_test.cpp Change the sections in the module to use the InstructionList class. 2017-10-25 15:52:06 -04:00
instruction_test.cpp Allow getting the base pointer of an image load/store. 2018-01-05 13:26:10 -05:00
ir_builder.cpp Make IR builder use the type manager for constants 2018-02-27 12:59:26 -05:00
ir_context_test.cpp Store all enabled capabilities in the feature manger. 2017-12-21 11:14:53 -05:00
ir_loader_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
iterator_test.cpp Renaming test files to comply with Google style guide. 2016-11-07 14:41:51 -05:00
line_debug_info_test.cpp Add the IRContext (part 1) 2017-10-31 13:46:05 -04:00
local_access_chain_convert_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
local_redundancy_elimination_test.cpp Add scalar replacement 2017-12-11 10:51:13 -05:00
local_single_block_elim.cpp Remove uses DCEInst and call ADCE 2018-02-27 21:06:08 -05:00
local_single_store_elim_test.cpp Remove uses DCEInst and call ADCE 2018-02-27 21:06:08 -05:00
local_ssa_elim_test.cpp Fix SSA rewrite for nested loops. 2018-04-06 15:17:52 -04:00
module_test.cpp Adding ostream operators for IR structures 2018-01-12 11:19:58 -05:00
module_utils.h Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
optimizer_test.cpp Fix optimizer on when to write the binary 2017-04-03 15:48:50 -04:00
pass_fixture.h Add pass to reaplce invalid opcodes 2018-02-01 15:25:09 -05:00
pass_manager_test.cpp Store all enabled capabilities in the feature manger. 2017-12-21 11:14:53 -05:00
pass_merge_return_test.cpp Change merge return pass to handle structured cfg. 2018-03-19 13:49:04 -04:00
pass_remove_duplicates_test.cpp Avoid generating duplicate names when merging types 2018-03-05 12:02:50 -05:00
pass_test.cpp Adding an unique id to Instruction generated by IRContext 2017-11-20 17:49:10 -05:00
pass_utils.cpp Relicense SPIRV-Tools under Apache 2.0 2016-09-02 10:00:29 -04:00
pass_utils.h Add missing <iterator> header for std::back_inserter 2018-03-30 11:30:25 -04:00
private_to_local_test.cpp Teach the private to local about OpImageTexelPointer. 2018-04-04 13:42:35 -04:00
propagator_test.cpp Remove cfg_ field from SSAPropagator class - NFC. 2017-12-04 15:28:21 -05:00
redundancy_elimination_test.cpp Add scalar replacement 2017-12-11 10:51:13 -05:00
replace_invalid_opc_test.cpp hex_float: Use max_digits10 for the float precision 2018-04-03 12:53:10 -04:00
scalar_analysis.cpp Initial patch for scalar evolution analysis 2018-03-28 16:34:23 -04:00
scalar_replacement_test.cpp SROA: Do replacement on structs with no partial references. 2018-02-08 15:20:02 -05:00
set_spec_const_default_value_test.cpp hex_float: Use max_digits10 for the float precision 2018-04-03 12:53:10 -04:00
simplification_test.cpp Add folding of OpCompositeExtract and OpConstantComposite constant instructions. 2018-02-09 17:52:33 -05:00
strength_reduction_test.cpp hex_float: Use max_digits10 for the float precision 2018-04-03 12:53:10 -04:00
strip_debug_info_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
strip_reflect_info_test.cpp Add --strip-reflect pass 2018-03-15 21:20:42 -04:00
type_manager_test.cpp Fix test inclusion when Effcee is absent 2018-02-06 12:10:50 -05:00
types_test.cpp Fixes #1407. Removing assertion against void pointer 2018-03-13 19:45:20 -04:00
unify_const_test.cpp Add scalar replacement 2017-12-11 10:51:13 -05:00
utils_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
value_table_test.cpp Compute value number when the value table is constructed. 2017-12-04 11:02:04 -05:00
workaround1209_test.cpp Create a pass to work around a driver bug related to OpUnreachable. 2018-01-18 20:31:46 -05:00