This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [dataflow]: PATCH COMMITTED to fix problems with dce.
- From: Richard Sandiford <richard at codesourcery dot com>
- To: Kenneth Zadeck <zadeck at naturalbridge dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, Steven Bosscher <stevenb dot gcc at gmail dot com>, "Park, Seongbae" <seongbae dot park at gmail dot com>
- Date: Fri, 18 May 2007 18:05:16 +0100
- Subject: Re: [dataflow]: PATCH COMMITTED to fix problems with dce.
- References: <464B08B0.80601@naturalbridge.com>
Kenneth Zadeck <zadeck@naturalbridge.com> writes:
> Index: dce.c
> ===================================================================
> --- dce.c (revision 124596)
> +++ dce.c (working copy)
> @@ -66,6 +66,11 @@ deletable_insn_p (rtx insn, bool fast)
> {
> rtx x;
>
> + /* These insns may not have real uses but are there because the
> + dwarf unwinder may need to see the values they compute. */
> + if (RTX_FRAME_RELATED_P (insn))
> + return false;
> +
> switch (GET_CODE (PATTERN (insn)))
> {
> case USE:
Hmm. I'm a little uneasy about this. I didn't think frame-relatedness
was a reason in itself not to delete something.
As far as prologue and epilogue instructions in general go -- not just
frame-related ones -- I thought the backend was supposed to add a
REG_MAYBE_DEAD note to instructions that might legitimately be deleted
as dead. And I thought that gcc should abort if it thinks a prologue
or epilogue instruction without such a note is dead. I think that
applies to frame-related as well as non-frame-related instructions.
(It's quite possible I'm misunderstanding what you're doing here,
and that this is just noise. Sorry if so.)
Richard