This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] df: Keep return address register undefined until epilogue_completed
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Paolo Bonzini <bonzini at gnu dot org>, Seongbae Park <seongbae dot park at gmail dot com>, Kenneth Zadeck <zadeck at naturalbridge dot com>
- Date: Mon, 29 Aug 2016 15:41:21 -0500
- Subject: Re: [PATCH] df: Keep return address register undefined until epilogue_completed
- Authentication-results: sourceware.org; auth=none
- References: <c6b7f1d6bfb232511d9e0a3467bd87db65e27b6b.1472488939.git.segher@kernel.crashing.org> <CABu31nNY=8qaWgdtVA2Mc9J+zjm5HL+J--XNVKU4Zxx6h9QNyA@mail.gmail.com>
On Mon, Aug 29, 2016 at 10:19:25PM +0200, Steven Bosscher wrote:
> On Mon, Aug 29, 2016 at 6:50 PM, Segher Boessenkool wrote:
> > This patch changes that so that that def is only added after
> > epilogue_completed.
> ...
> > Does this work on all other targets?
>
> Guessing: not for targets where INCOMING_RETURN_ADDR_RTX is the stack register?
> That'd be at least h8300, rl78, and rx.
The stack pointer is always added (earlier in this function):
/* The always important stack pointer. */
bitmap_set_bit (entry_block_defs, STACK_POINTER_REGNUM);
so that isn't it.
History suggests it was a fix (or workaround) for a problem on ia64,
but I might well have that wrong.
Segher