> 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. -- Eric Botcazou