This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix -mno-accumulate-outgoing-args -fasynchronous-unwind-tables (PR rtl-optimization/36419)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Eric Botcazou <ebotcazou at adacore dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sun, 15 Jun 2008 11:59:52 -0400
- Subject: Re: [PATCH] Fix -mno-accumulate-outgoing-args -fasynchronous-unwind-tables (PR rtl-optimization/36419)
- References: <20080611133108.GM8133@devserv.devel.redhat.com> <200806151630.27801.ebotcazou@adacore.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Sun, Jun 15, 2008 at 04:30:27PM +0200, Eric Botcazou wrote:
> > The following so far only lightly tested patch fixes this by remembering CSA
> > of non-/f insns into /f insns and adding DW_CFA_GNU_args_size on the stack
> > subtraction that does the combined adjustment.
>
> Did you consider attaching a REG_FRAME_RELATED_EXPR note on the merged insn
> instead, pointing to a PARALLEL made up of the non-merged adjustments, with
> RTX_FRAME_RELATED_P set on the first and not set on the second.
I agree that representing it in RTL rather than on the side would be
cleaner. But from what I can see, most of the targets set
REG_FRAME_RELATED_EXPR to something that doesn't have RTX_FRAME_RELATED_P,
so dwarf2out.c would be confused about them. Furthermore, it is
possiblethat some target already has different REG_FRAME_RELATED_EXPR
on it (maybe not, haven't read all the backends to see what they set
REG_FRAME_RELATED_EXPR on).
Jakub