diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-10-17 13:19:51 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-10-17 13:19:51 +0000 |
commit | 44e2f3328119c41881ec98107c9802d74bc58497 (patch) | |
tree | 0c41f10e1e0ccec68344f859431ef7ab51907ab3 /gcc/graphite-scop-detection.c | |
parent | cae40f4a08662872c74c523a217a7037530a2dda (diff) | |
download | gcc-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.c | 18 |
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)) |