Re: [PATCH] Move stack protector epilogue before loading return hard reg(s) from pseudo(s) (PR rtl-optimization/87485)

2019-03-27 Thread Jeff Law
On 2/2/19 3:22 AM, Jakub Jelinek wrote: > On Fri, Feb 01, 2019 at 11:52:04PM +0100, Eric Botcazou wrote: >>> So, can we e.g. keep emitting the epilogue where it is now for >>> naked_return_label != NULL_RTX and move it otherwise? >>> For __builtin_return the setter and use of the hard register

Re: [PATCH] Move stack protector epilogue before loading return hard reg(s) from pseudo(s) (PR rtl-optimization/87485)

2019-02-02 Thread Jakub Jelinek
On Fri, Feb 01, 2019 at 11:52:04PM +0100, Eric Botcazou wrote: > > So, can we e.g. keep emitting the epilogue where it is now for > > naked_return_label != NULL_RTX and move it otherwise? > > For __builtin_return the setter and use of the hard register won't be > > adjacent in any case. > > See

Re: [PATCH] Move stack protector epilogue before loading return hard reg(s) from pseudo(s) (PR rtl-optimization/87485)

2019-02-01 Thread Eric Botcazou
> So, can we e.g. keep emitting the epilogue where it is now for > naked_return_label != NULL_RTX and move it otherwise? > For __builtin_return the setter and use of the hard register won't be > adjacent in any case. See my comment in the audit trail of the PR; I'd suspend it and go to bed. ;-)

Re: [PATCH] Move stack protector epilogue before loading return hard reg(s) from pseudo(s) (PR rtl-optimization/87485)

2019-02-01 Thread Jakub Jelinek
On Fri, Feb 01, 2019 at 11:37:06PM +0100, Eric Botcazou wrote: > > As discussed in the PR and suggested by Uros, scheduler has code to keep a > > use of hard register next to the assignment that sets that hard register > > from a pseudo, which is desirable so that RA can deal with it properly. > >

Re: [PATCH] Move stack protector epilogue before loading return hard reg(s) from pseudo(s) (PR rtl-optimization/87485)

2019-02-01 Thread Eric Botcazou
> As discussed in the PR and suggested by Uros, scheduler has code to keep a > use of hard register next to the assignment that sets that hard register > from a pseudo, which is desirable so that RA can deal with it properly. > Unfortunately, with -fstack-protector* we stick the stack protect

[PATCH] Move stack protector epilogue before loading return hard reg(s) from pseudo(s) (PR rtl-optimization/87485)

2019-02-01 Thread Jakub Jelinek
Hi! As discussed in the PR and suggested by Uros, scheduler has code to keep a use of hard register next to the assignment that sets that hard register from a pseudo, which is desirable so that RA can deal with it properly. Unfortunately, with -fstack-protector* we stick the stack protect