diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-22 11:11:21 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-22 11:11:21 +0000 |
commit | 26fb1781ca25d5670ea3132d93b0b243fd7319f7 (patch) | |
tree | c1fc98111346b8e70b39c4624897463b590685e6 /gcc/cfgrtl.c | |
parent | 09a41b316a8039846dca2e5875015b37c2f7ada9 (diff) | |
download | gcc-26fb1781ca25d5670ea3132d93b0b243fd7319f7.tar.gz |
* cfgcleanup.c (outgoing_edges_math): Fix condition; relax
frequencies match; avoid match on different loop depths.
(try_crossjump_to_bb): Kill tests that no longer brings time
savings.
* cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
updating code.
(split_edge): Likewise.
* flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
variable.
* Makefile.in (cfgrtl): Add insn-config.h depenendency.
* cfgrtl.c: Include insn-config.h
(split_block) Dirtify block in presence of conditional execution
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51168 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgrtl.c')
-rw-r--r-- | gcc/cfgrtl.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c index 5bf33bc0795..a4f7006d392 100644 --- a/gcc/cfgrtl.c +++ b/gcc/cfgrtl.c @@ -56,6 +56,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "toplev.h" #include "tm_p.h" #include "obstack.h" +#include "insn-config.h" /* Stubs in case we don't have a return insn. */ #ifndef HAVE_return @@ -546,6 +547,15 @@ split_block (bb, insn) propagate_block (new_bb, new_bb->global_live_at_start, NULL, NULL, 0); COPY_REG_SET (bb->global_live_at_end, new_bb->global_live_at_start); +#ifdef HAVE_conditional_execution + /* In the presence of conditional execution we are not able to update + liveness precisely. */ + if (reload_completed) + { + bb->flags |= BB_DIRTY; + new_bb->flags |= BB_DIRTY; + } +#endif } return new_edge; |