aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgloopmanip.c
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2004-10-07 08:14:15 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2004-10-07 06:14:15 +0000
commita746fd8cdd2153c67ab70e4e17a2cdaa7ca50f94 (patch)
tree710e59e353d684b5781d79e6d8725a5a5754308b /gcc/cfgloopmanip.c
parentcc67d2fa8036ea5b92e83d97faecd3cb38417b80 (diff)
downloadgcc-a746fd8cdd2153c67ab70e4e17a2cdaa7ca50f94.zip
gcc-a746fd8cdd2153c67ab70e4e17a2cdaa7ca50f94.tar.gz
gcc-a746fd8cdd2153c67ab70e4e17a2cdaa7ca50f94.tar.bz2
re PR tree-optimization/17806 (compiler error: in verify_loop_structure, at cfgloop.c:1491 , works -O2, breaks with -O3)
PR tree-optimization/17806 * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags. * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP flags moved to split_edge. From-SVN: r88665
Diffstat (limited to 'gcc/cfgloopmanip.c')
-rw-r--r--gcc/cfgloopmanip.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c
index e5ec7bd..6d47756 100644
--- a/gcc/cfgloopmanip.c
+++ b/gcc/cfgloopmanip.c
@@ -1241,7 +1241,6 @@ loop_split_edge_with (edge e, rtx insns)
{
basic_block src, dest, new_bb;
struct loop *loop_c;
- edge new_e;
src = e->src;
dest = e->dest;
@@ -1252,14 +1251,7 @@ loop_split_edge_with (edge e, rtx insns)
new_bb = split_edge (e);
add_bb_to_loop (new_bb, loop_c);
- new_bb->flags = insns ? BB_SUPERBLOCK : 0;
-
- new_e = EDGE_SUCC (new_bb, 0);
- if (e->flags & EDGE_IRREDUCIBLE_LOOP)
- {
- new_bb->flags |= BB_IRREDUCIBLE_LOOP;
- new_e->flags |= EDGE_IRREDUCIBLE_LOOP;
- }
+ new_bb->flags |= (insns ? BB_SUPERBLOCK : 0);
if (insns)
emit_insn_after (insns, BB_END (new_bb));