Re: Record equivalences for spill registers

2017-05-09 Thread Jim Wilson
On Sun, May 7, 2017 at 11:47 PM, Andrew Pinski wrote: > On Sun, May 7, 2017 at 11:37 PM, Richard Sandiford > wrote: >> Really sorry for the breakage. I'd forgotten that this depended on: >> >> https://gcc.gnu.org/ml/gcc-patches/2017-03/msg01550.html Thanks, this does fix my build failures. A

Re: Record equivalences for spill registers

2017-05-07 Thread Andrew Pinski via gcc-patches
On Sun, May 7, 2017 at 11:37 PM, Richard Sandiford wrote: > Andrew Pinski writes: >> On Sun, May 7, 2017 at 9:30 PM, Jim Wilson wrote: >>> On 05/05/2017 12:23 AM, Richard Sandiford wrote: 2017-05-05 Richard Sandiford gcc/ * lra-constraints.c (lra_copy_reg_equi

Re: Record equivalences for spill registers

2017-05-07 Thread Richard Sandiford via gcc-patches
Andrew Pinski writes: > On Sun, May 7, 2017 at 9:30 PM, Jim Wilson wrote: >> On 05/05/2017 12:23 AM, Richard Sandiford wrote: >>> >>> 2017-05-05 Richard Sandiford >>> >>> gcc/ >>> * lra-constraints.c (lra_copy_reg_equiv): New function. >>> (split_reg): Use it to copy equivalenc

Re: Record equivalences for spill registers

2017-05-07 Thread Andrew Pinski
On Sun, May 7, 2017 at 9:30 PM, Jim Wilson wrote: > On 05/05/2017 12:23 AM, Richard Sandiford wrote: >> >> 2017-05-05 Richard Sandiford >> >> gcc/ >> * lra-constraints.c (lra_copy_reg_equiv): New function. >> (split_reg): Use it to copy equivalence information from the >>

Re: Record equivalences for spill registers

2017-05-07 Thread Andrew Pinski
On Sun, May 7, 2017 at 10:26 PM, Andrew Pinski wrote: > On Sun, May 7, 2017 at 9:30 PM, Jim Wilson wrote: >> On 05/05/2017 12:23 AM, Richard Sandiford wrote: >>> >>> 2017-05-05 Richard Sandiford >>> >>> gcc/ >>> * lra-constraints.c (lra_copy_reg_equiv): New function. >>> (split

Re: Record equivalences for spill registers

2017-05-07 Thread Jim Wilson
On 05/05/2017 12:23 AM, Richard Sandiford wrote: 2017-05-05 Richard Sandiford gcc/ * lra-constraints.c (lra_copy_reg_equiv): New function. (split_reg): Use it to copy equivalence information from the original register to the spill register. This patch breaks aarch64

Re: Record equivalences for spill registers

2017-05-05 Thread Jeff Law
On 05/05/2017 01:23 AM, Richard Sandiford wrote: If we decide to allocate a call-clobbered register R to a value that is live across a call, LRA will create a new spill register TMPR, insert: TMPR <- R before the call and R <- TMPR after it. But if we then failed to allocate a regist

Record equivalences for spill registers

2017-05-05 Thread Richard Sandiford
If we decide to allocate a call-clobbered register R to a value that is live across a call, LRA will create a new spill register TMPR, insert: TMPR <- R before the call and R <- TMPR after it. But if we then failed to allocate a register to TMPR, we would always spill it to the stack, ev