Hi!

On Mon, Mar 30, 2020 at 12:18:59PM +0800, luoxhu wrote:
> >>>If df_regs_ever_live_p(31) is false there is no hard frame pointer
> >>>anywhere in the program.  How can it be used then?
> >>
> >>There is a piece of code emit move instruction to r31 even 
> >>df_regs_ever_live_p(31) is false
> >>in pro_and_epilogue.
> >
> >Can you point out where (in rs6000-logue.c ot similar)?  We should fix
> >*that*.

> >frame_pointer_needed is often true when the backend can figure out we do
> >not actually need it.

> >(so just that "if" clause changes), it'll all be fine.  Could you test
> >that please?
> 
> Tried with below patch, it still fails at same place, I guess this is not 
> enough.
> The instruction in 100dc034 change r31 from 0x105fdd70 to 0x7fffffffbbf0 
> and didn't
> restore it before return. 

So where was *that* insn generated, then?


Segher

Reply via email to