From a249decd13d6d5a45ffa364bbfc766b03d83f96f Mon Sep 17 00:00:00 2001 From: Clinton Popetz Date: Tue, 11 Jan 2000 17:26:28 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/flow.c | 11 +++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index feb6f070ae8..f728c2e5949 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2000-01-11 Clinton Popetz + + * 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. + Tue Jan 11 16:26:47 MET 2000 Jan Hubicka * i386.c (ix86_attr_length_default): Handle TYPE_STR and TYPE_CLD. diff --git a/gcc/flow.c b/gcc/flow.c index ae8ec5a1cf2..10bcdcf1fb8 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; }