hanchenye-llvm-project/polly/test/ScopInfo
Tobias Grosser 922452285a Keep track of ScopArrayInfo objects that model PHI node storage
Summary:
When translating PHI nodes into memory dependences during code generation we
require two kinds of memory. 'Normal memory' as for all scalar dependences and
'PHI node memory' to store the incoming values of the PHI node. With this
patch we now mark and track these two kinds of memories, which we previously
incorrectly marked as a single memory object.

Being aware of PHI node storage makes code generation easier, as we do not need
to guess what kind of storage a scalar reference requires. This simplifies the
code nicely.

Reviewers: jdoerfert

Subscribers: pollydev, llvm-commits

Differential Revision: http://reviews.llvm.org/D11554

llvm-svn: 243420
2015-07-28 14:53:44 +00:00
..
NonAffine Keep track of ScopArrayInfo objects that model PHI node storage 2015-07-28 14:53:44 +00:00
2012-03-16-Crash-because-of-unsigned-in-scev.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
20111108-Parameter-not-detected.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
Alias-0.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
Alias-1.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
Alias-2.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
Alias-3.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
Alias-4.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
aliasing_conditional_alias_groups_1.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
aliasing_conditional_alias_groups_2.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
aliasing_dead_access.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
aliasing_many_arrays_to_compare.ll Bail out if too many alias run-time-check comparisions would be needed 2015-03-28 15:11:14 +00:00
aliasing_many_parameters_not_all_involved.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
aliasing_multiple_alias_groups.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
assume_gep_bounds.ll Use all available range information for parameters 2015-04-26 20:07:21 +00:00
assume_gep_bounds_2.ll Use all available range information for parameters 2015-04-26 20:07:21 +00:00
bug_2010_10_22.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
bug_2011_1_5.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
bug_scev_not_fully_eval.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
cond_constant_in_loop.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
cond_in_loop.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
constant_factor_in_parameter.ll Strip constant factors from SCoP parameters 2015-03-29 20:45:09 +00:00
constant_start_integer.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
delinearize-together-all-data-refs.ll Add printing and testing to ScopArrayInfo 2015-05-20 08:05:31 +00:00
escaping_empty_scop.ll Remove code for scalar and PHI to array translation 2015-06-26 07:31:18 +00:00
independent-blocks-never-stop-on-big-scop.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
integers.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
isl_aff_out_of_bounds.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
licm_load.ll Add LICM test cases 2015-07-23 20:05:11 +00:00
licm_potential_store.ll Add LICM test cases 2015-07-23 20:05:11 +00:00
licm_reduction.ll Add LICM test cases 2015-07-23 20:05:11 +00:00
licm_reduction_nested.ll Add LICM test cases 2015-07-23 20:05:11 +00:00
licm_store.ll Add LICM test cases 2015-07-23 20:05:11 +00:00
loop_affine_bound_0.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
loop_affine_bound_1.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
loop_affine_bound_2.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
loop_carry.ll Keep track of ScopArrayInfo objects that model PHI node storage 2015-07-28 14:53:44 +00:00
max-loop-depth.ll [opaque pointer types] Explicit non-pointer type for call expressions 2015-04-16 23:24:52 +00:00
multi-scop.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_2d-diagonal-matrix.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_2d_outer_parametric_offset.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_2d_parametric_array_static_loop_bounds.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_3d_parametric_array_static_loop_bounds.ll Use all available range information for parameters 2015-04-26 20:07:21 +00:00
multidim_ivs_and_integer_offsets_3d.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_ivs_and_parameteric_offsets_3d.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_many_references.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_nested_start_integer.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_nested_start_share_parameter.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_only_ivs_2d.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_only_ivs_3d.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_only_ivs_3d_cast.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_only_ivs_3d_reverse.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
multidim_param_in_subscript-2.ll Delinearization of expressions that contain array size parameters 2015-03-30 17:22:28 +00:00
multidim_param_in_subscript.ll Delinearization of expressions that contain array size parameters 2015-03-30 17:22:28 +00:00
multidim_single_and_multidim_array.ll Strip constant factors from SCoP parameters 2015-03-29 20:45:09 +00:00
multidim_srem.ll Add first support to delinearize A[t%2][i][j] 2015-06-29 14:44:22 +00:00
no-scalar-deps-in-non-affine-subregion.ll Make non-affine statement names isl compatible 2015-07-09 07:31:45 +00:00
non-affine-region-phi.ll Remove code for scalar and PHI to array translation 2015-06-26 07:31:18 +00:00
non_affine_access.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
non_affine_region_1.ll Keep track of ScopArrayInfo objects that model PHI node storage 2015-07-28 14:53:44 +00:00
non_affine_region_2.ll Keep track of ScopArrayInfo objects that model PHI node storage 2015-07-28 14:53:44 +00:00
non_affine_region_3.ll Keep track of ScopArrayInfo objects that model PHI node storage 2015-07-28 14:53:44 +00:00
non_affine_region_4.ll Keep track of ScopArrayInfo objects that model PHI node storage 2015-07-28 14:53:44 +00:00
parameter_product.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
phi_condition_modeling_1.ll Keep track of ScopArrayInfo objects that model PHI node storage 2015-07-28 14:53:44 +00:00
phi_condition_modeling_2.ll Keep track of ScopArrayInfo objects that model PHI node storage 2015-07-28 14:53:44 +00:00
phi_conditional_simple_1.ll Keep track of ScopArrayInfo objects that model PHI node storage 2015-07-28 14:53:44 +00:00
phi_loop_carried_float.ll Keep track of ScopArrayInfo objects that model PHI node storage 2015-07-28 14:53:44 +00:00
phi_not_grouped_at_top.ll Remove code for scalar and PHI to array translation 2015-06-26 07:31:18 +00:00
phi_scalar_simple_1.ll Keep track of ScopArrayInfo objects that model PHI node storage 2015-07-28 14:53:44 +00:00
phi_scalar_simple_2.ll Keep track of ScopArrayInfo objects that model PHI node storage 2015-07-28 14:53:44 +00:00
phi_with_invoke_edge.ll Remove code for scalar and PHI to array translation 2015-06-26 07:31:18 +00:00
pointer-type-expressions.ll Use schedule trees to represent execution order of statements 2015-07-14 09:33:13 +00:00
ranged_parameter.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
ranged_parameter_wrap.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_alternating_base.ll Add support for srem instruction 2015-06-24 04:13:29 +00:00
reduction_chain_partially_outside_the_scop.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_disabled_multiplicative.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_escaping_intermediate.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_escaping_intermediate_2.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_invalid_different_operators.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_invalid_overlapping_accesses.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_multiple_loops_array_sum.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_multiple_loops_array_sum_1.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_multiple_simple_binary.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_non_overlapping_chains.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_only_reduction_like_access.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_simple_fp.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_simple_w_constant.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_simple_w_iv.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
reduction_two_identical_reads.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
run-time-check-many-parameters.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
run-time-check-read-only-arrays.ll Update Polly tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:22:50 +00:00
scalar.ll Remove code for scalar and PHI to array translation 2015-06-26 07:31:18 +00:00
scalar_dependence_cond_br.ll Remove code for scalar and PHI to array translation 2015-06-26 07:31:18 +00:00
simple_loop_1.ll Add printing and testing to ScopArrayInfo 2015-05-20 08:05:31 +00:00
simple_nonaffine_loop_not.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
smax.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
undef_in_cond.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
unsigned-condition.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00