diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2010-05-26 16:46:39 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2010-05-26 16:46:39 +0000 |
commit | bc447143dc88b1418187190e9f8f25685d520b80 (patch) | |
tree | 3c1e4296a07c91812771a6db691ac84bee02f850 /gcc/tree-if-conv.c | |
parent | 6d7950341abe74d53a7931c2fb5faab2b2e01dee (diff) | |
download | gcc-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.c | 4 |
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) |