aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgcleanup.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@redhat.com>2002-05-23 08:22:05 -0700
committerDavid S. Miller <davem@gcc.gnu.org>2002-05-23 08:22:05 -0700
commit9547983155087b81454e9149ad37c2945f8137b9 (patch)
tree40fccab8e687849f2b4ac8156c613c1dd0531a4a /gcc/cfgcleanup.c
parenta97d1398381199317a5627d7a24e407284ef1e2e (diff)
downloadgcc-9547983155087b81454e9149ad37c2945f8137b9.zip
gcc-9547983155087b81454e9149ad37c2945f8137b9.tar.gz
gcc-9547983155087b81454e9149ad37c2945f8137b9.tar.bz2
basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
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. From-SVN: r53789
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r--gcc/cfgcleanup.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index d5f6de1..1e4056a 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;