hanchenye-llvm-project/polly/test/ScopDetect
Philip Pfaffe 4fe21814d1 Handle Top-Level-Regions in polly::isHoistableLoad
Summary:
This can be seen as a follow-up on my previous differential [D33411](https://reviews.llvm.org/D33411).
We received a bug report where this error was triggered. I have tried my best to recreate the issue in a minimal lit testcase which is also part of this differential.

I only handle return instructions as predecessors to a virtual TLR-exit right now. From inspecting the codebase, it seems `unreachable` instructions may also be of interest here. If requested, I can extend my patches to consider them as well. I would also apply this on `ScopHelper.cpp::isErrorBlock` (see D33411), of course.

Reviewers: philip.pfaffe, bollu

Reviewed By: bollu

Subscribers: Meinersbur, pollydev, llvm-commits

Tags: #polly

Differential Revision: https://reviews.llvm.org/D40492

llvm-svn: 319431
2017-11-30 13:06:10 +00:00
..
aliasing_parametric_simple_1.ll
aliasing_parametric_simple_2.ll
aliasing_simple_1.ll
aliasing_simple_2.ll
base_pointer.ll [ScopDetection] Only allow SCoP-wide available base pointers. 2017-03-08 15:14:46 +00:00
base_pointer_is_inst_inside_invariant_1___%for.i---%exit.jscop [ScopDetection] Only allow SCoP-wide available base pointers. 2017-03-08 15:14:46 +00:00
base_pointer_load_is_inst_inside_invariant_1___%for.i---%exit.jscop [JSON] Make the failure to parse a jscop file a hard error 2017-08-10 14:53:25 +00:00
base_pointer_load_setNewAccessRelation.ll Check whether IslAstInfo and DependenceInfo were computed for the same Scop. 2017-09-21 00:01:13 +00:00
base_pointer_setNewAccessRelation.ll [tests] Set -polly-import-jscop-dir=%S always 2017-07-11 10:39:01 +00:00
cross_loop_non_single_exit.ll
cross_loop_non_single_exit_2.ll
dependency_to_phi_node_outside_of_region.ll
dot-scops.ll
error-block-always-executed.ll
error-block-referenced-from-scop.ll
error-block-unreachable.ll [ScopHelper] Do not crash on unreachable blocks 2017-09-03 18:01:22 +00:00
expand-region-correctly-2.ll
expand-region-correctly.ll
ignore_func_flag_regex.ll [ScopDetect] add `-polly-ignore-func` flag to ignore functions by name. 2017-07-28 11:47:24 +00:00
index_from_unpredictable_loop.ll [SCEVValidator] Loop exit values of loops before the SCoP are synthesizable. 2017-07-26 13:05:45 +00:00
index_from_unpredictable_loop2.ll [SCEVValidator] Loop exit values of loops before the SCoP are synthesizable. 2017-07-26 13:05:45 +00:00
indvars.ll
intrinsics_1.ll
intrinsics_2.ll
intrinsics_3.ll
invalid-latch-conditions.ll
invalidate_scalar_evolution.ll
invariant-load-before-scop.ll [ScopDetect] Do not add loads out of the SCoP to required invariant loads. 2017-10-01 22:19:28 +00:00
keep_going_expansion.ll
mod_ref_read_pointer.ll
more-than-one-loop.ll
multidim-with-undef-size.ll
multidim.ll
multidim_indirect_access.ll
multidim_two_accesses_different_delinearization.ll
nested_loop_single_exit.ll
non-affine-conditional.ll
non-affine-float-compare.ll
non-affine-loop-condition-dependent-access.ll
non-affine-loop-condition-dependent-access_2.ll
non-affine-loop-condition-dependent-access_3.ll
non-affine-loop.ll
non-beneficial-loops-small-trip-count.ll
non-constant-add-rec-start-expr.ll
non-simple-memory-accesses.ll
non_affine_loop_condition.ll
only-one-affine-loop.ll
only_func_flag.ll [Polly] [ScopDetection] Allow passing multiple functions to `-polly-only-func`. 2017-06-09 08:23:40 +00:00
only_func_flag_regex.ll [Polly] [NFC] [ScopDetection] Make `polly-only-func` perform regex scop name match. 2017-07-24 12:40:52 +00:00
parametric-multiply-in-scev-2.ll
parametric-multiply-in-scev.ll
phi_with_multi_exiting_edges.ll
profitability-large-basic-blocks.ll
profitability-two-nested-loops.ll [Detect] Consider nested loop profitable if entry block is not in loop 2017-08-27 21:39:25 +00:00
remove_all_children.ll
report-scop-location.ll
restrict-undef-size-scopdetect.ll
run_time_alias_check.ll
scev_remove_max.ll
sequential_loops.ll
simple_loop.ll
simple_loop_non_single_entry.ll
simple_loop_non_single_exit.ll
simple_loop_non_single_exit_2.ll
simple_loop_two_phi_nodes.ll
simple_loop_with_param.ll
simple_loop_with_param_2.ll
simple_non_single_entry.ll
skip_function_attribute.ll
srem_with_parametric_divisor.ll
statistics.ll [ScopDetect] Include zero-iteration loops in loop count. 2017-08-23 13:29:59 +00:00
switch-in-loop-patch.ll
tlr_is_hoistable_load.ll Handle Top-Level-Regions in polly::isHoistableLoad 2017-11-30 13:06:10 +00:00