diff options
author | Jan Hubicka <jh@suse.cz> | 2001-10-29 12:45:45 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2001-10-29 11:45:45 +0000 |
commit | 473fb060f3609f51fc4e1711297f3600e15ed7c0 (patch) | |
tree | 91cc2113797ecc74514f6de4826f7f7c19e0e549 /gcc/flow.c | |
parent | 4fdaa8786fe048b12597a2055370044e16a37e1f (diff) | |
download | gcc-473fb060f3609f51fc4e1711297f3600e15ed7c0.zip gcc-473fb060f3609f51fc4e1711297f3600e15ed7c0.tar.gz gcc-473fb060f3609f51fc4e1711297f3600e15ed7c0.tar.bz2 |
basic-block.h (purge_all_dead_edges): Add update_life_p argument.
* basic-block.h (purge_all_dead_edges): Add update_life_p argument.
* cfgcleanup.c (merge_blocks): Update the life flag after merging;
fix warning.
* cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
(life_analysis): call purge_all_dead_edges after deleting noops.
(delete_noop_move): Do not purge CFG.
* toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
From-SVN: r46605
Diffstat (limited to 'gcc/flow.c')
-rw-r--r-- | gcc/flow.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -456,6 +456,7 @@ life_analysis (f, file, flags) /* Always remove no-op moves. Do this before other processing so that we don't have to keep re-scanning them. */ delete_noop_moves (f); + purge_all_dead_edges (false); /* Some targets can emit simpler epilogues if they know that sp was not ever modified during the function. After reload, of course, @@ -803,8 +804,6 @@ delete_noop_moves (f) PUT_CODE (insn, NOTE); NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED; NOTE_SOURCE_FILE (insn) = 0; - if (insn == bb->end) - purge_dead_edges (bb); } } } |