llvm-project/polly/test/ScopInfo
Johannes Doerfert 06c57b594c Allow loops with multiple back edges
In order to allow multiple back edges we:
    - compute the conditions under which each back edge is taken
    - build the union over all these conditions, thus the condition that
      any back edge is taken
    - apply the same logic to the union we applied to a single back edge

llvm-svn: 248120
2015-09-20 15:00:20 +00:00
..
BoundChecks XFAIL tests that require an additional LLVM patch to work 2015-09-10 21:32:29 +00:00
NonAffine Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +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 Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
Alias-0.ll Merge TempScopInfo into ScopInfo 2015-09-10 15:25:24 +00:00
Alias-1.ll Merge TempScopInfo into ScopInfo 2015-09-10 15:25:24 +00:00
Alias-2.ll Merge TempScopInfo into ScopInfo 2015-09-10 15:25:24 +00:00
Alias-3.ll Merge TempScopInfo into ScopInfo 2015-09-10 15:25:24 +00:00
Alias-4.ll Merge TempScopInfo into ScopInfo 2015-09-10 15:25:24 +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 Check feasibility for the runtime check context wrt. the domain. 2015-08-20 18:06:30 +00:00
aliasing_many_arrays_to_compare.ll Do not detect Scops with only one loop. 2015-08-27 16:55:18 +00:00
aliasing_many_parameters_not_all_involved.ll Merge TempScopInfo into ScopInfo 2015-09-10 15:25:24 +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 Model fixed-size multi-dimensional arrays if possible multi-dimensional 2015-09-17 17:28:15 +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 Merge TempScopInfo into ScopInfo 2015-09-10 15:25:24 +00:00
bug_2011_1_5.ll Merge TempScopInfo into ScopInfo 2015-09-10 15:25:24 +00:00
bug_scev_not_fully_eval.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
cfg_consequences.ll Clean-up unit tests 2015-09-10 14:42:09 +00:00
cond_constant_in_loop.ll Allow general loops with one latch 2015-09-10 15:27:46 +00:00
cond_in_loop.ll Merge TempScopInfo into ScopInfo 2015-09-10 15:25:24 +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 Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +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 Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
invariant_load_ptr_ptr_noalias.ll Do not detect Scops with only one loop. 2015-08-27 16:55:18 +00:00
isl_aff_out_of_bounds.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
isl_trip_count_01.ll Propagate exit conditions as described in the PET paper 2015-09-14 11:12:52 +00:00
isl_trip_count_02.ll Do Not Model Unbounded Loops 2015-08-31 19:58:24 +00:00
isl_trip_count_multiple_exiting_blocks.ll Allow general loops with one latch 2015-09-10 15:27:46 +00:00
kernel_gemm___%for.cond.1.preheader---%for.end.12.jscop Use isl_set_is_subset instead of isl_set_is_equal 2015-08-18 16:12:05 +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 Model fixed-size multi-dimensional arrays if possible multi-dimensional 2015-09-17 17:28:15 +00:00
loop_affine_bound_1.ll Model fixed-size multi-dimensional arrays if possible multi-dimensional 2015-09-17 17:28:15 +00:00
loop_affine_bound_2.ll Model fixed-size multi-dimensional arrays if possible multi-dimensional 2015-09-17 17:28:15 +00:00
loop_carry.ll Merge IRAccess into MemoryAccess 2015-09-18 19:59:43 +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 Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
multidim_2d_outer_parametric_offset.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
multidim_2d_parametric_array_static_loop_bounds.ll Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
multidim_3d_parametric_array_static_loop_bounds.ll Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
multidim_ivs_and_integer_offsets_3d.ll Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
multidim_ivs_and_parameteric_offsets_3d.ll Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +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 Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
multidim_nested_start_share_parameter.ll Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
multidim_only_ivs_2d.ll Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
multidim_only_ivs_3d.ll Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
multidim_only_ivs_3d_cast.ll Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
multidim_only_ivs_3d_reverse.ll Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +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 Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
multiple_exiting_blocks.ll Propagate exit conditions as described in the PET paper 2015-09-14 11:12:52 +00:00
multiple_exiting_blocks_two_loop.ll [FIX] Do not assume only one loop can be left at a time 2015-09-10 15:53:59 +00:00
multiple_latch_blocks.ll Allow loops with multiple back edges 2015-09-20 15:00:20 +00:00
no-scalar-deps-in-non-affine-subregion.ll Do not detect Scops with only one loop. 2015-08-27 16:55:18 +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 Allow general loops with one latch 2015-09-10 15:27:46 +00:00
non_affine_region_2.ll Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
non_affine_region_3.ll Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
non_affine_region_4.ll Traverse the SCoP to compute non-loop-carried domain conditions 2015-08-30 21:13:53 +00:00
parameter_product.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
phi_condition_modeling_1.ll Allow general loops with one latch 2015-09-10 15:27:46 +00:00
phi_condition_modeling_2.ll Allow general loops with one latch 2015-09-10 15:27:46 +00:00
phi_conditional_simple_1.ll Allow general loops with one latch 2015-09-10 15:27:46 +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 modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
ranged_parameter.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +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
read-only-scalars.ll Also build scalar dependences for store instructions 2015-08-31 11:15:00 +00:00
reduction_alternating_base.ll Revert r247278 "Disable support for modulo expressions" 2015-09-14 11:14:23 +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
redundant_parameter_constraint.ll Replace ScalarEvolution based domain generation 2015-09-10 13:00:06 +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 Link ScopArrayInfo objects 2015-08-20 18:04:22 +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 Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +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
stride_detection.ll Model fixed-size multi-dimensional arrays if possible multi-dimensional 2015-09-17 17:28:15 +00:00
test-wrapping-in-condition.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
two-loops-right-after-each-other.ll Replace ScalarEvolution based domain generation 2015-09-10 13:00:06 +00:00
undef_in_cond.ll Remove target triples from test cases 2015-04-21 14:28:02 +00:00
unsigned-condition.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
user_context.ll Build the ScopStmt domain in-place. 2015-08-16 14:36:01 +00:00
wraping_signed_expr_0.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
wraping_signed_expr_1.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
wraping_signed_expr_2.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
wraping_signed_expr_3.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
wraping_signed_expr_4.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
wraping_signed_expr_5.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
wraping_signed_expr_6.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
wraping_signed_expr_7.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
wraping_signed_expr_slow_1.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00
wraping_signed_expr_slow_2.ll Use modulo semantic to generate non-integer-overflow assumptions 2015-09-15 22:52:53 +00:00