diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-04-28 13:13:50 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-04-28 13:13:50 +0000 |
commit | 0cb40176a06bf2b48d7a426f72cdae88e86bb86c (patch) | |
tree | 59b0cb6e75de78a045e75871a70cf34ee1e2625d /gcc/graphite-scop-detection.c | |
parent | f38b33ce446d37e1f1dc1839d7b00266db079229 (diff) | |
download | gcc-0cb40176a06bf2b48d7a426f72cdae88e86bb86c.tar.gz |
2014-04-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/60979
* graphite-scop-detection.c (scopdet_basic_block_info): Reject
SCOPs that end in a block with a successor with abnormal
predecessors.
* gcc.dg/graphite/pr60979.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209859 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/graphite-scop-detection.c')
-rw-r--r-- | gcc/graphite-scop-detection.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c index 821f0846ef2..635e21a8519 100644 --- a/gcc/graphite-scop-detection.c +++ b/gcc/graphite-scop-detection.c @@ -474,8 +474,10 @@ scopdet_basic_block_info (basic_block bb, loop_p outermost_loop, result.exits = false; /* Mark bbs terminating a SESE region difficult, if they start - a condition. */ - if (!single_succ_p (bb)) + a condition or if the block it exits to cannot be split + with make_forwarder_block. */ + if (!single_succ_p (bb) + || bb_has_abnormal_pred (single_succ (bb))) result.difficult = true; else result.exit = single_succ (bb); |