cfgcleanup.c (try_optimize_cfg): Avoid removing ENTRY_BLOCK_PTR.

* cfgcleanup.c (try_optimize_cfg): Avoid removing ENTRY_BLOCK_PTR.

From-SVN: r121584
This commit is contained in:
Zdenek Dvorak 2007-02-04 23:51:28 +00:00
parent 14fa2cc057
commit 83bd032b4b
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,7 @@
2007-02-04 Zdenek Dvorak <dvorakz@suse.cz>
* cfgcleanup.c (try_optimize_cfg): Avoid removing ENTRY_BLOCK_PTR.
2007-02-04 Zdenek Dvorak <dvorakz@suse.cz>
* cfgloopmanip.c (loop_delete_branch_edge): Removed.
@ -43,7 +47,7 @@
* passes.c (init_optimization_passes): Reindent.
2007-02-04 Jan Hubicka <jh@suse.cz>
Eric Botcazou <ebotcazou@adacore.com>
Eric Botcazou <ebotcazou@adacore.com>
* tree-optimize.c (has_abnormal_outgoing_edge_p): Move to...
(execute_fixup_cfg): Break out the abnormal goto code.

View File

@ -1992,7 +1992,7 @@ try_optimize_cfg (int mode)
bool changed_here = false;
/* Delete trivially dead basic blocks. */
while (EDGE_COUNT (b->preds) == 0)
if (EDGE_COUNT (b->preds) == 0)
{
c = b->prev_bb;
if (dump_file)
@ -2002,7 +2002,9 @@ try_optimize_cfg (int mode)
delete_basic_block (b);
if (!(mode & CLEANUP_CFGLAYOUT))
changed = true;
b = c;
/* Avoid trying to remove ENTRY_BLOCK_PTR. */
b = (c == ENTRY_BLOCK_PTR ? c->next_bb : c);
continue;
}
/* Remove code labels no longer used. */