This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 1/4] rs6000_stack_info changes for -fsplit-stack
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>, Alan Modra <amodra at gmail dot com>
- Date: Wed, 20 May 2015 09:02:40 -0400
- Subject: Re: [PATCH 1/4] rs6000_stack_info changes for -fsplit-stack
- Authentication-results: sourceware.org; auth=none
- References: <20150518025234 dot GT6140 at bubble dot grove dot modra dot org> <20150518025407 dot GU6140 at bubble dot grove dot modra dot org> <CAGWvny=gZM-hibivov7m55-_FMX0PZJOFA78dsX+os29bMG15w at mail dot gmail dot com> <20150520010937 dot GD6140 at bubble dot grove dot modra dot org>
On Tue, May 19, 2015 at 9:09 PM, Alan Modra <amodra@gmail.com> wrote:
> On Mon, May 18, 2015 at 02:05:59PM -0400, David Edelsohn wrote:
>> On Sun, May 17, 2015 at 10:54 PM, Alan Modra <amodra@gmail.com> wrote:
>> > This patch changes rs6000_stack_info to keep save areas offsets even
>> > when not used. I need lr_save_offset valid for split-stack, and it
>> > seemed reasonable to treat the other offsets the same. Not zeroing
>> > the offsets requires just one change in code that uses them, the
>> > use_backchain_to_restore_sp expression in rs6000_emit_epilogue, not
>> > counting the debug_stack_info changes.
>> >
>> > * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
>> > when not saving registers.
>> > (debug_stack_info): Adjust to omit printing unused offsets,
>> > as before.
>> > (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
>> > expression.
>>
>> I think that the vrsave_save_offset change may break saving of
>> callee-saved VRs. See PR 55276.
>
> I checked. It doesn't break that testcase. PR 55276 was really
> caused by using vrsave_mask for two purposes, firstly to track which
> altivec registers have been saved, and secondly to control use of the
> vrsave stack slot and whether mfvrsave/mtvrsave insns are generated.
> Patch 2/4 removes this conflation.
Okay, but that confirms Patch 1 is not safe without the patch series.
- David