aboutsummaryrefslogtreecommitdiff
path: root/gcc/flow.c
diff options
context:
space:
mode:
authorGeoff Keating <geoffk@cygnus.com>2000-08-02 00:53:59 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2000-08-02 00:53:59 +0000
commit8cd8f856b33bbd6c6627eb0a18e34b046e2163f1 (patch)
tree51e7cfa73194f407e18d5c607f8f9f28b8c01196 /gcc/flow.c
parent7d17b34de55c8cd8d83581036f8e87fae492db13 (diff)
downloadgcc-8cd8f856b33bbd6c6627eb0a18e34b046e2163f1.zip
gcc-8cd8f856b33bbd6c6627eb0a18e34b046e2163f1.tar.gz
gcc-8cd8f856b33bbd6c6627eb0a18e34b046e2163f1.tar.bz2
rtl.h (enum reg_note): Add REG_MAYBE_DEAD.
* rtl.h (enum reg_note): Add REG_MAYBE_DEAD. * rtl.c (reg_note_name): Add REG_MAYBE_DEAD. * flow.c (propagate_one_insn): Allow deletion of prologue/epilogue insns if they have a REG_MAYBE_DEAD note attached. * config/rs6000/rs6000.c (rs6000_maybe_dead): New function. (rs6000_emit_load_toc_table): TOC loads may go dead. From-SVN: r35414
Diffstat (limited to 'gcc/flow.c')
-rw-r--r--gcc/flow.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index 373e236..688e256 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -3428,7 +3428,8 @@ propagate_one_insn (pbi, insn)
&& (((HAVE_epilogue || HAVE_prologue)
&& prologue_epilogue_contains (insn))
|| (HAVE_sibcall_epilogue
- && sibcall_epilogue_contains (insn))))
+ && sibcall_epilogue_contains (insn)))
+ && find_reg_note (insn, REG_MAYBE_DEAD, NULL_RTX) == 0)
{
if (flags & PROP_KILL_DEAD_CODE)
{