From: spop Date: Wed, 26 May 2010 16:46:39 +0000 (+0000) Subject: Don't handle BBs with more than 2 preds or succs. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cedd9a279aaa2b3c54dc83f5ddce499a547c4631;p=thirdparty%2Fgcc.git Don't handle BBs with more than 2 preds or succs. 2010-05-26 Sebastian Pop * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more than 2 predecessors or more than 2 successors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159884 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6a4bac37677f..657e1e261026 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-05-26 Sebastian Pop + + * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more + than 2 predecessors or more than 2 successors. + 2010-05-26 Sebastian Pop * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c index f5247a35ee79..0c2e96fe71ab 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)