llvm-project/polly/test/ScopInfo
Tobias Grosser c2f151084d [ScopInfo] Disable memory folding in case it results in multi-disjunct relations
Multi-disjunct access maps can easily result in inbound assumptions which
explode in case of many memory accesses and many parameters. This change reduces
compilation time of some larger kernel from over 15 minutes to less than 16
seconds.

Interesting is the test case test/ScopInfo/multidim_param_in_subscript.ll
which has a memory access

  [n] -> { Stmt_for_body3[i0, i1] -> MemRef_A[i0, -1 + n - i1] }

which requires folding, but where only a single disjunct remains. We can still
model this test case even when only using limited memory folding.

For people only reading commit messages, here the comment that explains what
memory folding is:

To recover memory accesses with array size parameters in the subscript
expression we post-process the delinearization results.

We would normally recover from an access A[exp0(i) * N + exp1(i)] into an
array A[][N] the 2D access A[exp0(i)][exp1(i)]. However, another valid
delinearization is A[exp0(i) - 1][exp1(i) + N] which - depending on the
range of exp1(i) - may be preferrable. Specifically, for cases where we
know exp1(i) is negative, we want to choose the latter expression.

As we commonly do not have any information about the range of exp1(i),
we do not choose one of the two options, but instead create a piecewise
access function that adds the (-1, N) offsets as soon as exp1(i) becomes
negative. For a 2D array such an access function is created by applying
the piecewise map:

[i,j] -> [i, j] :      j >= 0
[i,j] -> [i-1, j+N] :  j <  0

After this patch we generate only the first case, except for situations where
we can proove the first case to be invalid and can consequently select the
second without introducing disjuncts.

llvm-svn: 296679
2017-03-01 21:11:27 +00:00
..
BoundChecks tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
NonAffine Do not use wrapping ranges to bound non-affine accesses 2017-02-12 08:11:12 +00:00
2012-03-16-Crash-because-of-unsigned-in-scev.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
2015-10-04-Crash-in-domain-generation.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
20110312-Fail-without-basicaa.ll Remove independent blocks pass 2015-10-18 12:28:00 +00:00
20111108-Parameter-not-detected.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
Alias-0.ll [ScopDetect] Expand statistics of the detected scops 2016-11-26 07:37:46 +00:00
Alias-1.ll [ScopDetect] Expand statistics of the detected scops 2016-11-26 07:37:46 +00:00
Alias-2.ll [ScopDetect] Expand statistics of the detected scops 2016-11-26 07:37:46 +00:00
Alias-3.ll [ScopDetect] Expand statistics of the detected scops 2016-11-26 07:37:46 +00:00
Alias-4.ll [ScopDetect] Expand statistics of the detected scops 2016-11-26 07:37:46 +00:00
aliasing_conditional_alias_groups_1.ll Remove -polly-code-generator=isl from many test cases 2015-11-21 23:05:48 +00:00
aliasing_conditional_alias_groups_2.ll Remove -polly-code-generator=isl from many test cases 2015-11-21 23:05:48 +00:00
aliasing_dead_access.ll Remove -polly-code-generator=isl from many test cases 2015-11-21 23:05:48 +00:00
aliasing_many_arrays_to_compare.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
aliasing_many_parameters_not_all_involved.ll Remove -polly-code-generator=isl from many test cases 2015-11-21 23:05:48 +00:00
aliasing_many_read_only_acesses.ll [ScopInfo] Count read-only arrays when computing complexity of alias check 2017-02-18 20:51:29 +00:00
aliasing_multiple_alias_groups.ll Remove -polly-code-generator=isl from many test cases 2015-11-21 23:05:48 +00:00
aliasing_with_non_affine_access.ll [ScopInfo] Make memset etc. affine where possible. 2016-11-01 20:53:11 +00:00
assume_gep_bounds.ll [GSoC 2016]New function pass ScopInfoWrapperPass 2016-06-27 09:32:30 +00:00
assume_gep_bounds_2.ll [ScopInfo] Simplify inbounds assumptions under domain constraints 2017-02-28 09:45:54 +00:00
assume_gep_bounds_many.ll [ScopInfo] Simplify inbounds assumptions under domain constraints 2017-02-28 09:45:54 +00:00
avoid_new_parameters_from_geps.ll Compute the MaxLoopDepth during domain construction [NFC] 2016-05-19 12:33:14 +00:00
bool-addrec.ll Add missing test from r284848. 2016-11-01 20:45:28 +00:00
bounded_loop_assumptions.ll Track assumptions and restrictions separatly 2016-03-01 13:06:28 +00:00
branch-references-loop-scev-with-unknown-iterations-2.ll [ScopDetect] Evaluate and verify branches at branch condition, not icmp 2016-11-13 19:27:04 +00:00
branch-references-loop-scev-with-unknown-iterations-3.ll [ScopDetect] Evaluate and verify branches at branch condition, not icmp 2016-11-13 19:27:04 +00:00
branch-references-loop-scev-with-unknown-iterations.ll [ScopDetect] Evaluate and verify branches at branch condition, not icmp 2016-11-13 19:27:04 +00:00
bug_2010_10_22.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
bug_2011_1_5.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
bug_scev_not_fully_eval.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
cfg_consequences.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
complex-branch-structure.ll Generalize the domain complexity restrictions 2016-03-26 16:17:00 +00:00
complex-condition.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
complex-expression.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
complex-loop-nesting.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
complex-successor-structure-2.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
complex-successor-structure-3.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
complex-successor-structure.ll Probably overwritten loads should not be considered hoistable 2016-11-17 22:25:17 +00:00
complex_domain_binary_condition.ll [FIX] Cleanup isl objects prior to early exit 2016-05-10 14:01:21 +00:00
complex_execution_context.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
cond_constant_in_loop.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
cond_in_loop.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
const_srem_sdiv.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
constant-non-integer-branch-condition.ll [FIX] Only constant integer branch conditions are always affine 2015-10-18 22:56:42 +00:00
constant_factor_in_parameter.ll [GSoC 2016]New function pass ScopInfoWrapperPass 2016-06-27 09:32:30 +00:00
constant_start_integer.ll Drop explicit -polly-delinearize parameter 2016-03-23 13:21:02 +00:00
delinearize-together-all-data-refs.ll Drop explicit -polly-delinearize parameter 2016-03-23 13:21:02 +00:00
div_by_zero.ll [FIX] Do not recognize division by 0 as affine 2016-06-06 12:08:34 +00:00
do-not-model-error-block-accesses.ll ScopInfo: Do not try to model the memory accesses in an error block 2015-11-11 20:15:49 +00:00
eager-binary-and-or-conditions.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
early_exit_for_complex_domains.ll Propagate complexity problems during domain generation [NFC] 2016-05-10 13:06:42 +00:00
error-blocks-1.ll Add test cases for the removal of error blocks 2016-04-08 10:26:39 +00:00
error-blocks-2.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
error-blocks-3.ll Add test cases for the removal of error blocks 2016-04-08 10:26:39 +00:00
escaping_empty_scop.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
exit-phi-1.ll [ScopInfo/CodeGen] ExitPHI reads are implicit. 2016-10-12 16:31:09 +00:00
exit-phi-2.ll [ScopInfo/CodeGen] ExitPHI reads are implicit. 2016-10-12 16:31:09 +00:00
exit_phi_accesses-2.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
exit_phi_accesses.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
expensive-boundary-context.ll ScopInfo: Bound compute time spent in boundary context construction 2015-11-11 17:34:02 +00:00
extract_constant_factor_introduces_new_parameter.ll SCEVValidator: add new parameters resulting from constant extraction 2016-11-10 06:45:28 +00:00
i1_params.ll [FIX] Correctly translate i1 expressions 2016-06-02 16:57:12 +00:00
infeasible-rtc.ll [SCEVAffinator] Make precise modular math more correct. 2016-10-21 18:08:02 +00:00
infeasible_invalid_context.ll [FIX] Check the invalid context agains the context to rule out SCoPs 2016-04-12 17:54:29 +00:00
int2ptr_ptr2int.ll Recommit: "Look through IntToPtr & PtrToInt instructions" 2016-06-11 19:26:08 +00:00
int2ptr_ptr2int_2.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
integers.ll [SCEVAffinator] Make precise modular math more correct. 2016-10-21 18:08:02 +00:00
inter_bb_scalar_dep.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
intra-non-affine-stmt-phi-node.ll Unique phi write accesses 2016-01-26 13:33:27 +00:00
intra_and_inter_bb_scalar_dep.ll [tests] Force invariant load hoisting for test cases that need it II 2016-08-15 13:58:16 +00:00
intra_bb_scalar_dep.ll [tests] Force invariant load hoisting for test cases that need it II 2016-08-15 13:58:16 +00:00
invalid_add_rec_after_invariant_load_remapping.ll [FIX] Carefully rewrite parameters wrt. invariant equivalence classes 2015-11-03 16:47:58 +00:00
invariant-loads-leave-read-only-statements.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_access_classes_different_base_type.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_access_classes_different_base_type_escaping.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_access_classes_different_base_type_same_pointer.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_access_classes_different_base_type_same_pointer_escaping.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_base_pointer.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_base_pointer_conditional.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_base_pointer_in_conditional.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_condition.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_distinct_parameter_valuations.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_loop_ub.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_ptr_ptr_noalias.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_scalar_dep.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_stmt_domain.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_zext_parameter-2.ll [test] Fix buildbot after SCEV change. 2016-10-18 22:58:09 +00:00
invariant_load_zext_parameter.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_load_zextended_in_own_execution_context.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_loads_complicated_dependences.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_loads_cyclic_dependences.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_loop_bounds.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_same_loop_bound_multiple_times-1.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
invariant_same_loop_bound_multiple_times-2.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
isl_aff_out_of_bounds.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
isl_trip_count_01.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
isl_trip_count_02.ll Remove unused flag polly-allow-non-scev-backedge-taken-count 2015-10-08 10:05:48 +00:00
isl_trip_count_03.ll Revert "[ScopInfo] Fix domains after loops." 2016-03-29 07:50:52 +00:00
isl_trip_count_multiple_exiting_blocks.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +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 [tests] Force invariant load hoisting for test cases that need it II 2016-08-15 13:58:16 +00:00
licm_potential_store.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +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
long-sequence-of-error-blocks-2.ll Bail for complex execution contexts of invariant loads 2016-04-22 11:41:14 +00:00
long-sequence-of-error-blocks.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
loop-multiexit-succ-cond.ll Record assumptions first and add them later 2016-04-12 13:27:35 +00:00
loop_affine_bound_0.ll [GSoC 2016]New function pass ScopInfoWrapperPass 2016-06-27 09:32:30 +00:00
loop_affine_bound_1.ll [GSoC 2016]New function pass ScopInfoWrapperPass 2016-06-27 09:32:30 +00:00
loop_affine_bound_2.ll [GSoC 2016]New function pass ScopInfoWrapperPass 2016-06-27 09:32:30 +00:00
loop_carry.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
many-scalar-dependences.ll Follow uses to create value MemoryAccesses 2016-02-06 09:19:40 +00:00
max-loop-depth.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
memcpy-raw-source.ll [ScopInfo] Fix: use raw source pointer. 2016-10-25 13:37:43 +00:00
memcpy.ll Support memory intrinsics 2016-02-21 19:13:19 +00:00
memmove.ll Support memory intrinsics 2016-02-21 19:13:19 +00:00
memset.ll Support memory intrinsics 2016-02-21 19:13:19 +00:00
memset_null.ll [FIX] Handle accesses to "null" in MemIntrinsics 2016-03-24 13:50:04 +00:00
mismatching-array-dimensions.ll ScopInfo: Bail out in case of mismatching array dimension sizes 2015-11-02 11:29:32 +00:00
mod_ref_access_pointee_arguments.ll Add option to disallow modref function calls in scops. 2016-03-23 06:40:15 +00:00
mod_ref_read_pointee_arguments.ll Add option to disallow modref function calls in scops. 2016-03-23 06:40:15 +00:00
mod_ref_read_pointer.ll Add option to disallow modref function calls in scops. 2016-03-23 06:40:15 +00:00
mod_ref_read_pointers.ll Add option to disallow modref function calls in scops. 2016-03-23 06:40:15 +00:00
modulo_zext_1.ll Updated isl to isl-0.18-254-g6bc184d 2017-02-17 05:11:16 +00:00
modulo_zext_2.ll Updated isl to isl-0.18-254-g6bc184d 2017-02-17 05:11:16 +00:00
modulo_zext_3.ll Model zext-extend instructions 2016-04-25 14:01:36 +00:00
multi-scop.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
multidim_2d-diagonal-matrix.ll [GSoC 2016]New function pass ScopInfoWrapperPass 2016-06-27 09:32:30 +00:00
multidim_2d_outer_parametric_offset.ll Drop explicit -polly-delinearize parameter 2016-03-23 13:21:02 +00:00
multidim_2d_parametric_array_static_loop_bounds.ll Drop explicit -polly-delinearize parameter 2016-03-23 13:21:02 +00:00
multidim_2d_with_modref_call.ll Do not use wrapping ranges to bound non-affine accesses 2017-02-12 08:11:12 +00:00
multidim_2d_with_modref_call_2.ll Do not use wrapping ranges to bound non-affine accesses 2017-02-12 08:11:12 +00:00
multidim_3d_parametric_array_static_loop_bounds.ll Drop explicit -polly-delinearize parameter 2016-03-23 13:21:02 +00:00
multidim_fixedsize_different_dimensionality.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
multidim_fixedsize_multi_offset.ll Add contexts to test cases. NFC. 2016-04-14 15:22:13 +00:00
multidim_fold_constant_dim.ll [ScopInfo] Fold constant coefficients in array dimensions to the right 2016-12-02 08:10:56 +00:00
multidim_fold_constant_dim_zero.ll [ScopInfo] Do not try to fold array dimensions of size zero 2017-02-17 04:48:52 +00:00
multidim_fortran_2d.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
multidim_fortran_2d_params.ll [ScopInfo] Disable memory folding in case it results in multi-disjunct relations 2017-03-01 21:11:27 +00:00
multidim_fortran_2d_with_modref_call.ll Do not use wrapping ranges to bound non-affine accesses 2017-02-12 08:11:12 +00:00
multidim_fortran_srem.ll Updated isl to isl-0.18-254-g6bc184d 2017-02-17 05:11:16 +00:00
multidim_gep_pointercast.ll [ScopInfo] Fix check for element size mismatch. 2016-04-08 16:20:08 +00:00
multidim_gep_pointercast2.ll Add testcase from PR27218. NFC. 2016-04-08 16:54:53 +00:00
multidim_ivs_and_integer_offsets_3d.ll Drop explicit -polly-delinearize parameter 2016-03-23 13:21:02 +00:00
multidim_ivs_and_parameteric_offsets_3d.ll [ScopInfo] Disable memory folding in case it results in multi-disjunct relations 2017-03-01 21:11:27 +00:00
multidim_many_references.ll Ensure parameter names are isl-compatible 2016-07-01 13:40:28 +00:00
multidim_nested_start_integer.ll [GSoC 2016]New function pass ScopInfoWrapperPass 2016-06-27 09:32:30 +00:00
multidim_nested_start_share_parameter.ll Drop explicit -polly-delinearize parameter 2016-03-23 13:21:02 +00:00
multidim_only_ivs_2d.ll Drop explicit -polly-delinearize parameter 2016-03-23 13:21:02 +00:00
multidim_only_ivs_3d.ll Drop explicit -polly-delinearize parameter 2016-03-23 13:21:02 +00:00
multidim_only_ivs_3d_cast.ll [FIX] Adjust assumption space for zext instructions 2016-04-26 12:44:01 +00:00
multidim_only_ivs_3d_reverse.ll Drop explicit -polly-delinearize parameter 2016-03-23 13:21:02 +00:00
multidim_param_in_subscript-2.ll [ScopInfo] Disable memory folding in case it results in multi-disjunct relations 2017-03-01 21:11:27 +00:00
multidim_param_in_subscript.ll Delinearization of expressions that contain array size parameters 2015-03-30 17:22:28 +00:00
multidim_parameter_addrec_product.ll [tests] Force invariant load hoisting for test cases that need it II 2016-08-15 13:58:16 +00:00
multidim_single_and_multidim_array.ll Do not use wrapping ranges to bound non-affine accesses 2017-02-12 08:11:12 +00:00
multidim_srem.ll Updated isl to isl-0.18-254-g6bc184d 2017-02-17 05:11:16 +00:00
multidim_with_bitcast.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
multiple-binary-or-conditions.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
multiple-types-access-offset-not-dividable-by-element-size.ll Allow all combinations of types and subscripts for memory accesses 2016-02-18 16:50:12 +00:00
multiple-types-non-affine-2.ll [FIX] Correctly translate i1 expressions 2016-06-02 16:57:12 +00:00
multiple-types-non-affine.ll [FIX] Correctly translate i1 expressions 2016-06-02 16:57:12 +00:00
multiple-types-non-power-of-two-2.ll Allow all combinations of types and subscripts for memory accesses 2016-02-18 16:50:12 +00:00
multiple-types-non-power-of-two.ll Make memory accesses with different element types optional 2016-02-07 08:48:57 +00:00
multiple-types-two-dimensional-2.ll Make memory accesses with different element types optional 2016-02-07 08:48:57 +00:00
multiple-types-two-dimensional.ll Make memory accesses with different element types optional 2016-02-07 08:48:57 +00:00
multiple-types.ll Make memory accesses with different element types optional 2016-02-07 08:48:57 +00:00
multiple_exiting_blocks.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
multiple_exiting_blocks_two_loop.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
multiple_latch_blocks.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
nested-loops.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
no-scalar-deps-in-non-affine-subregion.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
non-affine-region-phi.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
non-affine-region-with-loop-2.ll Exploit graph properties during domain generation 2016-04-04 07:57:39 +00:00
non-affine-region-with-loop.ll [FIX] Build correct domain for non-affine region SCoPs 2016-01-26 11:01:41 +00:00
non-precise-inv-load-1.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
non-precise-inv-load-2.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
non-precise-inv-load-3.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
non-precise-inv-load-4.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
non-precise-inv-load-5.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
non-precise-inv-load-6.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
non-pure-function-call.ll Track assumptions and restrictions separatly 2016-03-01 13:06:28 +00:00
non-pure-function-calls-causes-dead-blocks.ll Track assumptions and restrictions separatly 2016-03-01 13:06:28 +00:00
non-pure-function-calls.ll Track assumptions and restrictions separatly 2016-03-01 13:06:28 +00:00
non_affine_access.ll Do not use wrapping ranges to bound non-affine accesses 2017-02-12 08:11:12 +00:00
non_affine_region_1.ll Do not use wrapping ranges to bound non-affine accesses 2017-02-12 08:11:12 +00:00
non_affine_region_2.ll Unique phi write accesses 2016-01-26 13:33:27 +00:00
non_affine_region_3.ll [GSoC 2016]New function pass ScopInfoWrapperPass 2016-06-27 09:32:30 +00:00
non_affine_region_4.ll [ScopInfo] Scalar access do not have indirect base pointers. 2016-10-04 17:33:34 +00:00
nonaffine-buildMemoryAccess.ll Fix assertion due to buildMemoryAccess. 2016-07-08 12:38:28 +00:00
not-a-reduction.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
opaque-struct.ll [FIX] Do not crash on opaque (unsized) types. 2016-04-08 19:20:03 +00:00
out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll BlockGenerator: Do not redundantly reload from PHI-allocas in non-affine stmts 2017-01-19 14:12:45 +00:00
out-of-scop-use-in-region-entry-phi-node.ll ScopInfo: PHI-node uses in the EntryNode with an incoming BB that is not part 2015-10-24 20:55:27 +00:00
parameter-constant-division.ll [tests] Force invariant load hoisting for test cases that need it II 2016-08-15 13:58:16 +00:00
parameter_in_dead_statement.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
parameter_product.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
parameter_with_constant_factor_in_add.ll Extract some constant factors from "SCEVAddExprs" 2016-04-25 19:09:10 +00:00
partially_invariant_load_1.ll [tests] Force invariant load hoisting for test cases that need it 2016-08-15 13:27:49 +00:00
partially_invariant_load_2.ll [FIX] Do not try to hoist obviously overwritten loads 2016-12-01 11:10:45 +00:00
phi-in-non-affine-region.ll [ScopInfo] Make scalars used by PHIs in non-affine regions available 2016-08-16 11:44:48 +00:00
phi_condition_modeling_1.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
phi_condition_modeling_2.ll Follow uses to create value MemoryAccesses 2016-02-06 09:19:40 +00:00
phi_conditional_simple_1.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
phi_loop_carried_float.ll Follow uses to create value MemoryAccesses 2016-02-06 09:19:40 +00:00
phi_not_grouped_at_top.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
phi_scalar_simple_1.ll Simplify the internal representation according to the context [NFC] 2016-05-10 12:18:22 +00:00
phi_scalar_simple_2.ll Follow uses to create value MemoryAccesses 2016-02-06 09:19:40 +00:00
phi_with_invoke_edge.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
pointer-comparison-no-nsw.ll Simplify the internal representation according to the context [NFC] 2016-05-10 12:18:22 +00:00
pointer-comparison.ll Simplify the internal representation according to the context [NFC] 2016-05-10 12:18:22 +00:00
pointer-type-expressions.ll Allow pointer expressions in SCEVs again. 2016-04-10 09:50:10 +00:00
pointer-used-as-base-pointer-and-scalar-read.ll Exploit graph properties during domain generation 2016-04-04 07:57:39 +00:00
process_added_dimensions.ll Add contexts to test cases. NFC. 2016-04-14 15:22:13 +00:00
ranged_parameter.ll Model zext-extend instructions 2016-04-25 14:01:36 +00:00
ranged_parameter_2.ll Do not use wrapping ranges to bound non-affine accesses 2017-02-12 08:11:12 +00:00
ranged_parameter_wrap.ll [tests] Fix some misspellings [NFC] 2017-02-16 19:11:29 +00:00
ranged_parameter_wrap_2.ll [ScopInfo] Bound the number of disjuncts in context 2017-02-16 19:11:25 +00:00
read-only-scalar-used-in-phi-2.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
read-only-scalar-used-in-phi.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
read-only-scalars.ll ScopInfo: Make printing of ScopArrayInfo more similar to declarations in C 2015-11-10 14:02:54 +00:00
read-only-statements.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
reduction_alternating_base.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_chain_partially_outside_the_scop.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_disabled_multiplicative.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_escaping_intermediate.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_escaping_intermediate_2.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_invalid_different_operators.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_invalid_overlapping_accesses.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_multiple_loops_array_sum.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_multiple_loops_array_sum_1.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_multiple_simple_binary.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_non_overlapping_chains.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_only_reduction_like_access.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_simple_fp.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_simple_w_constant.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_simple_w_iv.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
reduction_two_identical_reads.ll [GSoC 2016]New function pass ScopInfoWrapperPass 2016-06-27 09:32:30 +00:00
redundant_parameter_constraint.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
remarks.ll [ScopInfo] Simplify inbounds assumptions under domain constraints 2017-02-28 09:45:54 +00:00
required-invariant-loop-bounds.ll [tests] Force invariant load hoisting for test cases that need it II 2016-08-15 13:58:16 +00:00
restriction_in_dead_block.ll [FIX] Create error-restrictions late 2016-05-10 12:42:26 +00:00
run-time-check-many-parameters.ll Remove -polly-code-generator=isl from many test cases 2015-11-21 23:05:48 +00:00
run-time-check-read-only-arrays.ll Remove -polly-code-generator=isl from many test cases 2015-11-21 23:05:48 +00:00
same-base-address-scalar-and-array.ll ScopInfo: Never add read accesses for synthesizable values 2016-01-27 22:51:56 +00:00
scalar.ll [ScopInfo] Scalar access do not have indirect base pointers. 2016-10-04 17:33:34 +00:00
scalar_dependence_cond_br.ll ScopInfo: Do not generate dependences for i1 values used in affine branches 2016-03-16 23:33:54 +00:00
scalar_to_array.ll [GSoC 2016]New function pass ScopInfoWrapperPass 2016-06-27 09:32:30 +00:00
scev-div-with-evaluatable-divisor.ll Add CHECK line to test case. NFC. 2016-07-12 16:37:50 +00:00
scev-invalidated.ll Remove independent blocks pass 2015-10-18 12:28:00 +00:00
schedule-const-post-dominator-walk-2.ll ScopInfo: Correct schedule construction 2016-02-01 11:54:13 +00:00
schedule-const-post-dominator-walk.ll ScopInfo: Correct schedule construction 2016-02-01 11:54:13 +00:00
schedule-constuction-endless-loop1.ll [FIX] Do not create a SCoP in the presence of infinite loops 2016-04-03 23:09:06 +00:00
schedule-constuction-endless-loop2.ll [FIX] Do not create a SCoP in the presence of infinite loops 2016-04-03 23:09:06 +00:00
schedule-incorrectly-contructed-in-case-of-infinite-loop.ll [FIX] Do not crash in the presence of infinite loops. 2015-11-03 00:28:07 +00:00
scop-affine-parameter-ordering.ll Add %loadPolly to test command line. 2016-08-24 19:12:48 +00:00
simple_loop_1.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
simple_loop_2.ll Model zext-extend instructions 2016-04-25 14:01:36 +00:00
simple_loop_unsigned.ll [FIX] Correct assumption simplification 2016-04-28 14:32:58 +00:00
simple_loop_unsigned_2.ll [FIX] Correct assumption simplification 2016-04-28 14:32:58 +00:00
simple_loop_unsigned_3.ll Allow unsigned comparisons 2016-04-26 14:33:12 +00:00
simple_nonaffine_loop_not.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
smax.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
statistics.ll [ScopInfo] Add statistics to count loops after scop modeling 2017-02-17 08:12:36 +00:00
stride_detection.ll This reverts recent expression type changes 2016-06-11 19:17:15 +00:00
switch-1.ll Updated isl to isl-0.18-254-g6bc184d 2017-02-17 05:11:16 +00:00
switch-2.ll Updated isl to isl-0.18-254-g6bc184d 2017-02-17 05:11:16 +00:00
switch-3.ll Updated isl to isl-0.18-254-g6bc184d 2017-02-17 05:11:16 +00:00
switch-4.ll Updated isl to isl-0.18-254-g6bc184d 2017-02-17 05:11:16 +00:00
switch-5.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
switch-6.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
switch-7.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
tempscop-printing.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
test-wrapping-in-condition.ll [GSoC 2016]New function pass ScopInfoWrapperPass 2016-06-27 09:32:30 +00:00
truncate-1.ll [SCEVAffinator] Make precise modular math more correct. 2016-10-21 18:08:02 +00:00
truncate-2.ll [SCEVAffinator] Make precise modular math more correct. 2016-10-21 18:08:02 +00:00
truncate-3.ll SCEVAffinator: pass parameter-only set to addRestriction if BB=nullptr 2016-11-10 11:44:10 +00:00
two-loops-one-infinite.ll [FIX] Do not create a SCoP in the presence of infinite loops 2016-04-03 23:09:06 +00:00
two-loops-right-after-each-other.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
undef_in_cond.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
unprofitable_scalar-accs.ll [ScopInfo] Add -polly-unprofitable-scalar-accs option. 2016-10-04 17:33:39 +00:00
unsigned-condition.ll Allow unsigned comparisons 2016-04-26 14:33:12 +00:00
unsigned-division-1.ll Allow unsigned divisions 2016-04-29 11:53:35 +00:00
unsigned-division-2.ll Allow unsigned divisions 2016-04-29 11:53:35 +00:00
unsigned-division-3.ll Simplify the internal representation according to the context [NFC] 2016-05-10 12:18:22 +00:00
unsigned-division-4.ll Allow unsigned divisions 2016-04-29 11:53:35 +00:00
unsigned-division-5.ll [tests] Force invariant load hoisting for test cases that need it II 2016-08-15 13:58:16 +00:00
user_context.ll Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
user_provided_assumptions-in-bb-signed-conditional.ll Handle llvm.assume inside the SCoP 2016-05-10 14:00:57 +00:00
user_provided_assumptions-in-bb-signed.ll Handle llvm.assume inside the SCoP 2016-05-10 14:00:57 +00:00
user_provided_assumptions-in-bb-unsigned.ll Handle llvm.assume inside the SCoP 2016-05-10 14:00:57 +00:00
user_provided_assumptions.ll Handle llvm.assume inside the SCoP 2016-05-10 14:00:57 +00:00
user_provided_assumptions_2.ll Only add user assumptions on known parameters [NFC] 2016-04-25 18:51:27 +00:00
user_provided_assumptions_3.ll Only add user assumptions on known parameters [NFC] 2016-04-25 18:51:27 +00:00
user_provided_non_dominating_assumptions.ll [ScopInfo] Simplify inbounds assumptions under domain constraints 2017-02-28 09:45:54 +00:00
variant_base_pointer.ll Remove read-only statements from the SCoP 2015-11-03 16:54:49 +00:00
variant_load_empty_domain.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
wraping_signed_expr_0.ll Track assumptions and restrictions separatly 2016-03-01 13:06:28 +00:00
wraping_signed_expr_1.ll [Polly] Fix test case after rL271151 2016-06-02 16:58:41 +00:00
wraping_signed_expr_2.ll Track assumptions and restrictions separatly 2016-03-01 13:06:28 +00:00
wraping_signed_expr_3.ll Track assumptions and restrictions separatly 2016-03-01 13:06:28 +00:00
wraping_signed_expr_4.ll Track assumptions and restrictions separatly 2016-03-01 13:06:28 +00:00
wraping_signed_expr_5.ll Record wrapping assumptions early 2016-04-12 13:28:39 +00:00
wraping_signed_expr_6.ll Track assumptions and restrictions separatly 2016-03-01 13:06:28 +00:00
wraping_signed_expr_7.ll Track assumptions and restrictions separatly 2016-03-01 13:06:28 +00:00
wraping_signed_expr_slow_1.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
wraping_signed_expr_slow_2.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
zero_ext_of_truncate.ll [SCEVAffinator] Make precise modular math more correct. 2016-10-21 18:08:02 +00:00
zero_ext_of_truncate_2.ll [tests] Force invariant load hoisting for test cases that need it -- III 2016-08-15 15:56:24 +00:00
zero_ext_space_mismatch.ll [FIX] Adjust assumption space for zext instructions 2016-04-26 12:44:01 +00:00