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