This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [dataflow]: PATCH COMMITTED to fix problems with dce.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]