From 3ed961a056fa188b2a709183fa66c91a558589b2 Mon Sep 17 00:00:00 2001 From: Zdenek Dvorak Date: Wed, 8 Oct 2003 00:14:07 +0200 Subject: [PATCH] * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly. From-SVN: r72207 --- gcc/ChangeLog | 4 ++++ gcc/cfgloopmanip.c | 24 ++++++++++++++---------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9d8ee4132e4..eb5b68724ba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-10-07 Zdenek Dvorak + + * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly. + 2003-10-07 Jason Merrill PR c++/12519 diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c index de1210ce3f2..ca50760f384 100644 --- a/gcc/cfgloopmanip.c +++ b/gcc/cfgloopmanip.c @@ -310,18 +310,22 @@ fix_irreducible_loops (basic_block from) } for (i = 0; i < n_edges; i++) - if (e->flags & EDGE_IRREDUCIBLE_LOOP) - { - if (!flow_bb_inside_loop_p (from->loop_father, e->dest)) - continue; + { + e = edges[i]; - e->flags &= ~EDGE_IRREDUCIBLE_LOOP; - if (TEST_BIT (on_stack, e->dest->index)) - continue; + if (e->flags & EDGE_IRREDUCIBLE_LOOP) + { + if (!flow_bb_inside_loop_p (from->loop_father, e->dest)) + continue; - SET_BIT (on_stack, e->dest->index); - stack[stack_top++] = e->dest; - } + e->flags &= ~EDGE_IRREDUCIBLE_LOOP; + if (TEST_BIT (on_stack, e->dest->index)) + continue; + + SET_BIT (on_stack, e->dest->index); + stack[stack_top++] = e->dest; + } + } free (edges); } -- 2.30.2