diff options
author | davem <davem@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-23 15:22:05 +0000 |
---|---|---|
committer | davem <davem@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-23 15:22:05 +0000 |
commit | 43a852ea4edb3bace60c8f0880cdc1768ace6151 (patch) | |
tree | 40fccab8e687849f2b4ac8156c613c1dd0531a4a /gcc/cfgcleanup.c | |
parent | 2c64e1a1654e517d649af553c5d100983f76e85a (diff) | |
download | gcc-43a852ea4edb3bace60c8f0880cdc1768ace6151.tar.gz |
2002-05-23 David S. Miller <davem@redhat.com>
* basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
* cfgcleanup.c (cleanup_cfg): If it is set do not
attempt to delete trivially dead insns.
* except.c (finish_eh_generation): Pass it to cleanup_cfg.
* toplev.c (rest_of_compilation): Document non-trivial aspect
the RTL before optimize_save_area_alloca is run.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53789 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r-- | gcc/cfgcleanup.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index d5f6de18555..1e4056a60f4 100644 --- a/gcc/cfgcleanup.c +++ b/gcc/cfgcleanup.c @@ -1800,7 +1800,8 @@ cleanup_cfg (mode) changed = true; /* We've possibly created trivially dead code. Cleanup it right now to introduce more oppurtunities for try_optimize_cfg. */ - if (!(mode & (CLEANUP_UPDATE_LIFE | CLEANUP_PRE_SIBCALL)) + if (!(mode & (CLEANUP_NO_INSN_DEL + | CLEANUP_UPDATE_LIFE | CLEANUP_PRE_SIBCALL)) && !reload_completed) delete_trivially_dead_insns (get_insns(), max_reg_num ()); } @@ -1819,7 +1820,8 @@ cleanup_cfg (mode) | PROP_LOG_LINKS)) break; } - else if (!(mode & CLEANUP_PRE_SIBCALL) && !reload_completed) + else if (!(mode & (CLEANUP_NO_INSN_DEL | CLEANUP_PRE_SIBCALL)) + && !reload_completed) { if (!delete_trivially_dead_insns (get_insns(), max_reg_num ())) break; |