diff options
author | Aditya Kumar <aditya.k7@samsung.com> | 2015-07-15 21:37:01 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2015-07-15 21:37:01 +0000 |
commit | d7f49f78a6446d958486ce2c96ed1727f6eca83e (patch) | |
tree | 2e5b41ab4ae404aeba80a03d473d49a0a0d518e9 /gcc | |
parent | 1ee9ef73c3f428df74ad1dad692b493f4210e049 (diff) | |
download | gcc-d7f49f78a6446d958486ce2c96ed1727f6eca83e.zip gcc-d7f49f78a6446d958486ce2c96ed1727f6eca83e.tar.gz gcc-d7f49f78a6446d958486ce2c96ed1727f6eca83e.tar.bz2 |
[graphite] discard scops for which entry==exit
In this patch we discard the scops where entry and exit are the same BB.
This is an effort to remove graphite-scop-detection.c:limit_scops.
Removing the limit_scops function introduces correctness regressions.
We are making relevant changes in incremental steps to fix those bugs,
and finally we intend to remove limit_scops.
2015-06-29 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com>
* graphite-scop-detection.c (build_scops_1): Discard scops for which entry==exit
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r225850
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/graphite-scop-detection.c | 9 |
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6600494..82ef7ec 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,10 @@ 2015-07-15 Aditya Kumar <aditya.k7@samsung.com> + Sebastian Pop <s.pop@samsung.com> + + * graphite-scop-detection.c (build_scops_1): Discard scops for + which entry==exit. + +2015-07-15 Aditya Kumar <aditya.k7@samsung.com> Sebastian Pop <s.pop@samsung.com> * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c index b45a682..4fb4e02 100644 --- a/gcc/graphite-scop-detection.c +++ b/gcc/graphite-scop-detection.c @@ -794,7 +794,14 @@ build_scops_1 (basic_block current, loop_p outermost_loop, { open_scop.exit = sinfo.exit; gcc_assert (open_scop.exit); - scops->safe_push (open_scop); + if (open_scop.entry != open_scop.exit) + scops->safe_push (open_scop); + else + { + sinfo.difficult = true; + sinfo.exits = false; + sinfo.exit = NULL; + } } result.exit = sinfo.exit; |