hanchenye-llvm-project/polly/test/Isl/CodeGen
Michael Kruse 271deb17b0 [CodeGen] Fix noalias annotations for memcpy/memmove.
Memory transfer instructions take two pointers. It is not defined to
which of those a noalias annotation applies. To ensure correctness,
do not add noalias annotations to memcpy/memmove instructions anymore.

The caused a miscompile with test-suite's MultiSource/Applications/obsequi.
Since r321138, the MemCpyOpt pass would remove memcpy/memmove calls if
known to copy uninitialized memory. In that case, it was initialized
by another memcpy, but the annotation for the target pointer said
it would not alias. The annotation was actually meant for the source
pointer, which was was an alloca and could not alias with the target
pointer.

llvm-svn: 321371
2017-12-22 17:44:53 +00:00
..
LoopParallelMD Adapt testcase to LLVM change in DIGlobalVariableExpression. 2017-08-30 18:12:35 +00:00
MemAccess [IRBuilder] Only emit alias scop metadata for arrays, but not scalars 2017-08-22 21:58:48 +00:00
OpenMP [OpenMP] Fix reference collection of latest base ptrs. 2017-10-31 10:28:22 +00:00
RuntimeDebugBuilder
20100617.ll
20100622.ll
20100707.ll
20100707_2.ll
20100708.ll
20100708_2.ll
20100713.ll
20100713_2.ll
20100717.ll
20100718-DomInfo-2.ll
20100718-DomInfo.ll
20100720-MultipleConditions.ll
20100809-IndependentBlock.ll
20100811-ScalarDependencyBetweenBrAndCnd.ll
20101030-Overflow.ll
20101103-Overflow3.ll
20101103-signmissmatch.ll
20110226-Ignore-Dead-Code.ll
20110226-PHI-Node-removed.ll
20120316-InvalidCast.ll
20120403-RHS-type-mismatch.ll [tests] Make sure tests do not end in 'unreachable' 2017-03-07 15:17:23 +00:00
20130211-getNumberOfIterations.ll
20130221.ll
20150328-SCEVExpanderIntroducesNewIV.ll
PHIInExit.ll
alias-check-multi-dim.ll
alias_metadata_too_many_arrays.ll Add test case for r299352. 2017-04-03 07:44:23 +00:00
aliasing_different_base_and_access_type.ll
aliasing_different_pointer_types.ll
aliasing_multidimensional_access.ll
aliasing_parametric_simple_1.ll
aliasing_parametric_simple_2.ll
aliasing_struct_element.ll
alignment.ll
annotated_alias_scopes.ll [IRBuilder] Extract base pointers directly from ScopArray 2017-02-09 09:34:42 +00:00
blas_sscal_simplified.ll
conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll
constant_condition.ll
create-conditional-scop.ll
dead_invariant_load_instruction_referenced_by_parameter_1.ll
dead_invariant_load_instruction_referenced_by_parameter_2.ll
debug-intrinsics.ll Remove offset parameter from llvm.dbg.value intrinsics in testcase 2017-07-28 21:08:53 +00:00
dominance_problem_after_early_codegen_bailout.ll
empty_domain_in_context.ll [CodeGen] Detect empty domain because of parameters context. 2017-11-21 22:11:10 +00:00
entry_with_trivial_phi.ll
entry_with_trivial_phi_other_bb.ll
error-stmt-in-non-affine-region.ll
error_block_contains_invalid_memory_access.ll
exprModDiv.ll [tests] Set -polly-import-jscop-dir=%S always 2017-07-11 10:39:01 +00:00
exprModDiv___%for.cond---%for.end.jscop
exprModDiv___%for.cond---%for.end.jscop.pow2
fortran_array_runtime_size_generation.ll Fix buildbots after r303429 2017-05-20 04:22:26 +00:00
getNumberOfIterations.ll
hoisted_load_escapes_through_phi.ll
hoisting_1.ll
hoisting_2.ll
if-conditions-in-vector-code.ll Updated isl to isl-0.18-254-g6bc184d 2017-02-17 05:11:16 +00:00
inner_scev_sdiv_1.ll
inner_scev_sdiv_2.ll
inner_scev_sdiv_3.ll
inner_scev_sdiv_in_lb.ll
inner_scev_sdiv_in_lb_invariant.ll
inner_scev_sdiv_in_rtc.ll
intrinsics_lifetime.ll Remove llvm.lifetime.start/end in original region. 2017-04-05 20:09:59 +00:00
intrinsics_misc.ll
inv-load-lnt-crash-wrong-order-2.ll
inv-load-lnt-crash-wrong-order-3.ll
inv-load-lnt-crash-wrong-order.ll
invariant-load-dimension.ll [test] Fix two testcases. NFC. 2017-04-03 12:37:10 +00:00
invariant-load-preload-base-pointer-origin-first.ll
invariant_cannot_handle_void.ll
invariant_load.ll
invariant_load_address_space.ll [Polly] Do not introduce address space cast 2017-04-27 06:42:14 +00:00
invariant_load_alias_metadata.ll Map the new load to the base pointer of the invariant load hoisted load 2017-03-22 13:57:53 +00:00
invariant_load_base_pointer.ll [Invariant Loads] Do not consider invariant loads to have dependences. 2017-07-13 12:18:56 +00:00
invariant_load_base_pointer_conditional.ll [Invariant Loads] Do not consider invariant loads to have dependences. 2017-07-13 12:18:56 +00:00
invariant_load_base_pointer_conditional_2.ll
invariant_load_canonicalize_array_baseptrs.ll [Polly] Canonicalize arrays according to base-ptr equivalence class 2017-05-10 10:59:58 +00:00
invariant_load_condition.ll
invariant_load_different_sized_types.ll [tests] Make sure tests do not end in 'unreachable' - Part III 2017-03-07 16:28:53 +00:00
invariant_load_escaping.ll
invariant_load_escaping_second_scop.ll
invariant_load_hoist_alignment.ll
invariant_load_in_non_affine_subregion.ll
invariant_load_loop_ub.ll
invariant_load_not_executed_but_in_parameters.ll
invariant_load_outermost.ll
invariant_load_parameters_cyclic_dependence.ll
invariant_load_ptr_ptr_noalias.ll [Invariant Loads] Do not consider invariant loads to have dependences. 2017-07-13 12:18:56 +00:00
invariant_load_scalar_dep.ll
invariant_load_scalar_escape_alloca_sharing.ll [Invariant Loads] Do not consider invariant loads to have dependences. 2017-07-13 12:18:56 +00:00
invariant_loads_from_struct_with_different_types_1.ll
invariant_loads_from_struct_with_different_types_2.ll
invariant_loads_ignore_parameter_bounds.ll [CodeGen] Remove need for all parameters to be in scop context for load hoisting. 2017-03-18 23:12:49 +00:00
invariant_verify_function_failed.ll [ScopDetection] Only allow SCoP-wide available base pointers. 2017-03-08 15:14:46 +00:00
invariant_verify_function_failed_2.ll [test] Simplify test case by removing unreferenced instructions [NFC] 2016-11-22 07:18:57 +00:00
large-numbers-in-boundary-context.ll [Polly] Add XFAIL to large-numbers-in-boundary-context.ll 2017-10-16 15:12:39 +00:00
loop-invariant-load-type-mismatch.ll
loop_with_condition.ll [tests] Ensure all test cases use named variables 2017-04-28 21:16:29 +00:00
loop_with_condition_2.ll
loop_with_condition_ineq.ll [tests] Ensure all test cases use named variables 2017-04-28 21:16:29 +00:00
loop_with_condition_nested.ll [IslAst] Untangle IslAst lit-testcases from specifics of the legacy-PM 2017-07-25 15:07:42 +00:00
loop_with_conditional_entry_edge_split_hard_case.ll
memcpy_annotations.ll [CodeGen] Fix noalias annotations for memcpy/memmove. 2017-12-22 17:44:53 +00:00
multidim-non-matching-typesize-2.ll
multidim-non-matching-typesize.ll
multidim_2d_parametric_array_static_loop_bounds.ll
multidim_alias_check.ll
multiple-codegens.ll Check whether IslAstInfo and DependenceInfo were computed for the same Scop. 2017-09-21 00:01:13 +00:00
multiple-scops-in-a-row.ll
multiple-types-invariant-load-2.ll
multiple-types-invariant-load.ll [tests] Make sure tests do not end in 'unreachable' - Part II 2017-03-07 15:23:30 +00:00
multiple_sai_fro_same_base_address.ll
new_multidim_access___%bb1---%bb17.jscop
no-overflow-tracking.ll
no_guard_bb.ll
non-affine-dominance-generated-entering.ll
non-affine-exit-node-dominance.ll
non-affine-phi-node-expansion-2.ll
non-affine-phi-node-expansion-3.ll
non-affine-phi-node-expansion-4.ll
non-affine-phi-node-expansion.ll [tests] Make sure tests do not end in 'unreachable' - Part II 2017-03-07 15:23:30 +00:00
non-affine-region-exit-phi-incoming-synthesize-2.ll
non-affine-region-exit-phi-incoming-synthesize.ll
non-affine-region-implicit-store.ll
non-affine-region-phi-references-in-scop-value.ll Add test coverage for regions with non-affine loops 2017-06-03 23:39:02 +00:00
non-affine-subregion-dominance-reuse.ll
non-affine-switch.ll
non-affine-synthesized-in-branch.ll
non-affine-update.ll [tests] Set -polly-import-jscop-dir=%S always 2017-07-11 10:39:01 +00:00
non-affine-update___%bb1---%bb15.jscop
non-hoisted-load-needed-as-base-ptr.ll
non_affine_float_compare.ll [Polly] Generate more 'canonical' induction variable 2017-05-12 02:17:15 +00:00
only_non_affine_error_region.ll
openmp_limit_threads.ll
out-of-scop-phi-node-use.ll [tests] Make sure tests do not end in 'unreachable' - Part II 2017-03-07 15:23:30 +00:00
param_div_div_div_2.ll
partial_write_array.ll [tests] Set -polly-import-jscop-dir=%S always 2017-07-11 10:39:01 +00:00
partial_write_array___%for---%return.jscop [CodeGen] Support partial write accesses. 2017-05-21 22:46:57 +00:00
partial_write_array___%for---%return.jscop.transformed [CodeGen] Support partial write accesses. 2017-05-21 22:46:57 +00:00
partial_write_emptyset.ll [tests] Set -polly-import-jscop-dir=%S always 2017-07-11 10:39:01 +00:00
partial_write_emptyset___%for---%return.jscop [CodeGen] Support partial write accesses. 2017-05-21 22:46:57 +00:00
partial_write_emptyset___%for---%return.jscop.transformed [CodeGen] Support partial write accesses. 2017-05-21 22:46:57 +00:00
partial_write_full_write_that_appears_partial.ll [BlockGenerator] Take context into account when identifying partial writes 2017-06-01 09:34:20 +00:00
partial_write_impossible_restriction.ll [CodeGen] Detect impossible partial write conditions more reliably. 2017-08-24 14:51:35 +00:00
partial_write_impossible_restriction___%for.body344---%if.then.i.i1141.loopexit.jscop [CodeGen] Detect impossible partial write conditions more reliably. 2017-08-24 14:51:35 +00:00
partial_write_impossible_restriction___%for.body344---%if.then.i.i1141.loopexit.jscop.transformed [CodeGen] Detect impossible partial write conditions more reliably. 2017-08-24 14:51:35 +00:00
partial_write_in_region.ll [tests] Set -polly-import-jscop-dir=%S always 2017-07-11 10:39:01 +00:00
partial_write_in_region___%bb1---%bb12.jscop [Polly] [BlockGen] Support partial writes in regions 2017-06-06 17:17:30 +00:00
partial_write_in_region___%bb1---%bb12.jscop.transformed [Polly] [BlockGen] Support partial writes in regions 2017-06-06 17:17:30 +00:00
partial_write_in_region_with_loop.ll [BlockGenerator] Generate entry block of regions from instruction lists 2017-08-31 03:17:35 +00:00
partial_write_in_region_with_loop___%bb1---%bb14.jscop [Polly] [BlockGen] Support partial writes in regions 2017-06-06 17:17:30 +00:00
partial_write_in_region_with_loop___%bb1---%bb14.jscop.transformed [Polly] [BlockGen] Support partial writes in regions 2017-06-06 17:17:30 +00:00
partial_write_mapped_scalar.ll [tests] Set -polly-import-jscop-dir=%S always 2017-07-11 10:39:01 +00:00
partial_write_mapped_scalar___%for---%return.jscop [CodeGen] Support partial write accesses. 2017-05-21 22:46:57 +00:00
partial_write_mapped_scalar___%for---%return.jscop.transformed [CodeGen] Support partial write accesses. 2017-05-21 22:46:57 +00:00
partial_write_mapped_scalar_subregion.ll [tests] Set -polly-import-jscop-dir=%S always 2017-07-11 10:39:01 +00:00
partial_write_mapped_scalar_subregion___%for---%return.jscop [CodeGen] Support partial write accesses. 2017-05-21 22:46:57 +00:00
partial_write_mapped_scalar_subregion___%for---%return.jscop.transformed [CodeGen] Support partial write accesses. 2017-05-21 22:46:57 +00:00
partial_write_mapped_vector.ll [tests] Set -polly-import-jscop-dir=%S always 2017-07-11 10:39:01 +00:00
partial_write_mapped_vector___%for---%return.jscop [CodeGen] Support partial write accesses. 2017-05-21 22:46:57 +00:00
partial_write_mapped_vector___%for---%return.jscop.transformed [CodeGen] Support partial write accesses. 2017-05-21 22:46:57 +00:00
perf_monitoring.ll [CodeGen] Extend Performance Counter to track per-scop information. 2017-06-02 08:01:22 +00:00
perf_monitoring_cycles_per_scop.ll [CodeGen] Track trip counts per-scop for performance measurement. 2017-06-02 11:36:52 +00:00
perf_monitoring_trip_counts_per_scop.ll [CodeGen] Track trip counts per-scop for performance measurement. 2017-06-02 11:36:52 +00:00
phi-defined-before-scop.ll
phi_after_error_block_outside_of_scop.ll [ScopDetect/Info] Look through PHIs that follow an error block 2017-09-24 09:25:30 +00:00
phi_condition_modeling_1.ll
phi_condition_modeling_2.ll
phi_conditional_simple_1.ll
phi_in_exit_early_lnt_failure_1.ll
phi_in_exit_early_lnt_failure_2.ll
phi_in_exit_early_lnt_failure_3.ll
phi_in_exit_early_lnt_failure_5.ll
phi_loop_carried_float.ll
phi_loop_carried_float_escape.ll
phi_scalar_simple_1.ll
phi_scalar_simple_2.ll [Polly] Generate more 'canonical' induction variable 2017-05-12 02:17:15 +00:00
phi_with_multi_exiting_edges_2.ll
phi_with_one_exit_edge.ll
pointer-type-expressions-2.ll
pointer-type-expressions.ll
pointer-type-pointer-type-comparison.ll
pointer_rem.ll
pr25241.ll [tests] Make sure tests do not end in 'unreachable' - Part II 2017-03-07 15:23:30 +00:00
ptrtoint_as_parameter.ll [tests] Make sure tests do not end in 'unreachable' - Part III 2017-03-07 16:28:53 +00:00
read-only-scalars.ll
reduction.ll
reduction_2.ll [ScopInfo] Consider only write-free dereferencable loads as invariant 2017-04-27 20:08:16 +00:00
reduction_simple_binary.ll
region-with-instructions.ll [BlockGenerator] Generate entry block of regions from instruction lists 2017-08-31 03:17:35 +00:00
region_exiting-domtree.ll
run-time-condition-with-scev-parameters.ll
run-time-condition.ll
scalar-references-used-in-scop-compute.ll
scalar-store-from-same-bb.ll
scalar_codegen_crash.ll
scev-division-invariant-load.ll
scev.ll
scev_expansion_in_nonaffine.ll
scev_looking_through_bitcasts.ll [CodeGen] Bitcast scalar writes to actual value. 2017-09-07 12:15:01 +00:00
scop_expander_insert_point.ll Adjust test case to not trigger the SCEV optimization committed in r302096 2017-05-04 08:56:54 +00:00
scop_expander_segfault.ll [tests] Make sure tests do not end in 'unreachable' - Part II 2017-03-07 15:23:30 +00:00
scop_never_executed_runtime_check_location.ll
select-base-pointer.ll
sequential_loops.ll
simple_loop_non_single_exit.ll [IslAst] Untangle IslAst lit-testcases from specifics of the legacy-PM 2017-07-25 15:07:42 +00:00
simple_loop_non_single_exit_2.ll [IslAst] Untangle IslAst lit-testcases from specifics of the legacy-PM 2017-07-25 15:07:42 +00:00
simple_non_single_entry.ll [IslAst] Untangle IslAst lit-testcases from specifics of the legacy-PM 2017-07-25 15:07:42 +00:00
simple_nonaffine_loop.ll
simple_vec_assign_scalar.ll
simple_vec_assign_scalar_2.ll
simple_vec_call.ll
simple_vec_call_2.ll
simple_vec_cast.ll
simple_vec_const.ll
simple_vec_large_width.ll
simple_vec_ptr_ptr_ty.ll
simple_vec_stride_negative_one.ll
simple_vec_stride_one.ll
simple_vec_stride_x.ll
simple_vec_strides_multidim.ll
simple_vec_two_stmts.ll
single_do_loop_int_max_iterations.ll
single_do_loop_int_max_iterations___%do.body---%do.end.jscop
single_do_loop_int_param_iterations.ll
single_do_loop_ll_max_iterations.ll
single_do_loop_one_iteration.ll
single_do_loop_scev_replace.ll
single_loop.ll
single_loop_int_max_iterations.ll
single_loop_ll_max_iterations.ll
single_loop_one_iteration.ll
single_loop_param.ll
single_loop_zero_iterations.ll [IslAst] Untangle IslAst lit-testcases from specifics of the legacy-PM 2017-07-25 15:07:42 +00:00
split_edge_of_exit.ll
split_edges.ll
split_edges_2.ll
srem-in-other-bb.ll
stack-overflow-in-load-hoisting.ll
stmt_split_no_dependence.ll [ScopBuilder] Introduce metadata for splitting scop statement. 2017-08-30 10:11:06 +00:00
switch-in-non-affine-region.ll
synthesizable_phi_write_after_loop.ll
test-invalid-operands-for-select-2.ll
test-invalid-operands-for-select.ll
test.ll
two-loops-right-after-each-other-2.ll
two-scops-in-row-invalidate-scevs.ll [CodeGen] Add invalidation of the loop SCEVs after merge block generation. 2017-05-22 15:36:53 +00:00
two-scops-in-row.ll
udiv_expansion_position.ll
uninitialized_scalar_memory.ll
unpredictable-loop-unsynthesizable.ll [tests] Ensure all test cases use named variables 2017-04-28 21:16:29 +00:00
variant_load_empty_domain.ll
whole-scop-non-affine-subregion.ll