This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, rs6000] Fix PR72827 (ada bootstrap failure)
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Jeff Law <law at redhat dot com>
- Cc: Eric Botcazou <ebotcazou at adacore dot com>, Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, David Edelsohn <dje dot gcc at gmail dot com>
- Date: Tue, 6 Sep 2016 17:14:14 -0500
- Subject: Re: [PATCH, rs6000] Fix PR72827 (ada bootstrap failure)
- Authentication-results: sourceware.org; auth=none
- References: <83ced7a8-d832-87d8-aaf6-03a55300af62@linux.vnet.ibm.com> <20160831061954.GB21601@gate.crashing.org> <9091974.6AZfFVcF36@arcturus.home> <3451b7ff-16ac-5da9-cfce-620569501a99@redhat.com>
On Tue, Sep 06, 2016 at 03:24:24PM -0600, Jeff Law wrote:
> On 08/31/2016 01:08 AM, Eric Botcazou wrote:
> >>DSE should really detect this is happening and not do the wrong thing.
> >>Maybe add an assert somewhere? Much easier to debug, that way.
> >
> >That sounds fragile, functions are allowed to fiddle with the frame
> >pointer in
> >the prologue or epilogue (but of course not in the body). I think that
> >DSE is
> >not the only RTL pass which makes this assumption of invariant frame
> >pointer
> >in the body, it seems rather fundamental in the RTL middle-end.
> That's my recollection as well -- I recall many patches flying by
> through the years that assumed the frame pointer was invariant -- but
> they were mostly (all?) in things that ran before we add the
> prologue/epilogue to the INSN chain.
We could simply check if the frame pointer (or stack pointer) is changed
while RTX_FRAME_RELATED_P is not set? Can that ever happen on "proper"
code?
Segher