aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.c
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2010-05-26 16:46:39 +0000
committerSebastian Pop <spop@gcc.gnu.org>2010-05-26 16:46:39 +0000
commitbc447143dc88b1418187190e9f8f25685d520b80 (patch)
tree3c1e4296a07c91812771a6db691ac84bee02f850 /gcc/tree-if-conv.c
parent6d7950341abe74d53a7931c2fb5faab2b2e01dee (diff)
downloadgcc-bc447143dc88b1418187190e9f8f25685d520b80.zip
gcc-bc447143dc88b1418187190e9f8f25685d520b80.tar.gz
gcc-bc447143dc88b1418187190e9f8f25685d520b80.tar.bz2
Don't handle BBs with more than 2 preds or succs.
2010-05-26 Sebastian Pop <sebastian.pop@amd.com> * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more than 2 predecessors or more than 2 successors. From-SVN: r159884
Diffstat (limited to 'gcc/tree-if-conv.c')
-rw-r--r--gcc/tree-if-conv.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index f5247a3..0c2e96f 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -460,6 +460,10 @@ if_convertible_bb_p (struct loop *loop, basic_block bb, basic_block exit_bb)
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, "----------[%d]-------------\n", bb->index);
+ if (EDGE_COUNT (bb->preds) > 2
+ || EDGE_COUNT (bb->succs) > 2)
+ return false;
+
if (exit_bb)
{
if (bb != loop->latch)