summaryrefslogtreecommitdiff
path: root/gcc/graphite-scop-detection.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2017-10-17 13:19:51 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2017-10-17 13:19:51 +0000
commit44e2f3328119c41881ec98107c9802d74bc58497 (patch)
tree0c41f10e1e0ccec68344f859431ef7ab51907ab3 /gcc/graphite-scop-detection.c
parentcae40f4a08662872c74c523a217a7037530a2dda (diff)
downloadgcc-44e2f3328119c41881ec98107c9802d74bc58497.tar.gz
2017-10-17 Richard Biener <rguenther@suse.de>
* graphite-scop-detection.c (scop_detection::stmt_has_simple_data_refs_p): Always use the full nest as region. (try_generate_gimple_bb): Likewise. * sese.c (scalar_evolution_in_region): Simplify now that SCEV can handle instantiation in regions. * tree-scalar-evolution.c (instantiate_scev_name): Also instantiate in the non-loop part of a function if requested. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253811 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/graphite-scop-detection.c')
-rw-r--r--gcc/graphite-scop-detection.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
index ce6ab954527..a8963e1dd81 100644
--- a/gcc/graphite-scop-detection.c
+++ b/gcc/graphite-scop-detection.c
@@ -1005,15 +1005,10 @@ scop_detection::graphite_can_represent_expr (sese_l scop, loop_p loop,
bool
scop_detection::stmt_has_simple_data_refs_p (sese_l scop, gimple *stmt)
{
- edge nest;
+ edge nest = scop.entry;;
loop_p loop = loop_containing_stmt (stmt);
if (!loop_in_sese_p (loop, scop))
- {
- nest = scop.entry;
- loop = NULL;
- }
- else
- nest = loop_preheader_edge (outermost_loop_in_sese (scop, gimple_bb (stmt)));
+ loop = NULL;
auto_vec<data_reference_p> drs;
if (! graphite_find_data_references_in_stmt (nest, loop, stmt, &drs))
@@ -1381,15 +1376,10 @@ try_generate_gimple_bb (scop_p scop, basic_block bb)
vec<scalar_use> reads = vNULL;
sese_l region = scop->scop_info->region;
- edge nest;
+ edge nest = region.entry;
loop_p loop = bb->loop_father;
if (!loop_in_sese_p (loop, region))
- {
- nest = region.entry;
- loop = NULL;
- }
- else
- nest = loop_preheader_edge (outermost_loop_in_sese (region, bb));
+ loop = NULL;
for (gimple_stmt_iterator gsi = gsi_start_bb (bb); !gsi_end_p (gsi);
gsi_next (&gsi))