aboutsummaryrefslogtreecommitdiff
path: root/gcc/flow.c
diff options
context:
space:
mode:
authorClinton Popetz <cpopetz@cygnus.com>2000-01-11 17:26:28 +0000
committerClinton Popetz <cpopetz@gcc.gnu.org>2000-01-11 12:26:28 -0500
commita249decd13d6d5a45ffa364bbfc766b03d83f96f (patch)
tree4805adfaefba7a75012c082958b6ce9bb425181b /gcc/flow.c
parent7c7ef435b14e947507abab8801e6dc2eb531dc85 (diff)
downloadgcc-a249decd13d6d5a45ffa364bbfc766b03d83f96f.zip
gcc-a249decd13d6d5a45ffa364bbfc766b03d83f96f.tar.gz
gcc-a249decd13d6d5a45ffa364bbfc766b03d83f96f.tar.bz2
flow.c (propagate_block): When a prologue/epilogue insn is marked dead...
* flow.c (propagate_block): When a prologue/epilogue insn is marked dead, unconditionally clear libcall_is_dead and insn_is_dead, and only dump rtl if warnings aren't being suppressed. From-SVN: r31327
Diffstat (limited to 'gcc/flow.c')
-rw-r--r--gcc/flow.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index ae8ec5a..10bcdcf 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -3295,14 +3295,17 @@ propagate_block (old, first, last, significant, bnum, flags)
/* We almost certainly don't want to delete prologue or epilogue
instructions. Warn about probable compiler losage. */
- if ((flags & PROP_KILL_DEAD_CODE)
- && insn_is_dead
+ if (insn_is_dead
&& reload_completed
&& (HAVE_epilogue || HAVE_prologue)
&& prologue_epilogue_contains (insn))
{
- warning ("ICE: would have deleted prologue/epilogue insn");
- debug_rtx (insn);
+ if (flags & PROP_KILL_DEAD_CODE)
+ {
+ warning ("ICE: would have deleted prologue/epilogue insn");
+ if (!inhibit_warnings)
+ debug_rtx (insn);
+ }
libcall_is_dead = insn_is_dead = 0;
}