Re: LRA reloads of subregs

2015-09-04 Thread Vladimir Makarov
On 09/04/2015 09:02 PM, David Miller wrote: From: David Miller Date: Fri, 04 Sep 2015 11:27:31 -0700 (PDT) From: Vladimir Makarov Date: Fri, 4 Sep 2015 10:00:54 -0400 I don't think we should add a new LRA code calling process_address before adding insns for further processing. LRA just nee

Re: LRA reloads of subregs

2015-09-04 Thread David Miller
From: David Miller Date: Fri, 04 Sep 2015 11:27:31 -0700 (PDT) > From: Vladimir Makarov > Date: Fri, 4 Sep 2015 10:00:54 -0400 > >> I don't think we should add a new LRA code calling process_address >> before adding insns for further processing. LRA just needs to get >> operands from insns to

Re: LRA reloads of subregs

2015-09-04 Thread David Miller
From: David Miller Date: Fri, 04 Sep 2015 11:30:26 -0700 (PDT) > From: Segher Boessenkool > Date: Fri, 4 Sep 2015 06:46:04 -0500 > >> On Thu, Sep 03, 2015 at 11:19:43PM -0700, David Miller wrote: >>> The paradoxical subreg restriction in general_operand() is only >>> enforced when reload_comple

Re: LRA reloads of subregs

2015-09-04 Thread David Miller
From: Segher Boessenkool Date: Fri, 4 Sep 2015 06:46:04 -0500 > On Thu, Sep 03, 2015 at 11:19:43PM -0700, David Miller wrote: >> The paradoxical subreg restriction in general_operand() is only >> enforced when reload_completed is true, which will not be the >> case while LRA is working. > > This

Re: LRA reloads of subregs

2015-09-04 Thread David Miller
From: Vladimir Makarov Date: Fri, 4 Sep 2015 10:00:54 -0400 > LRA porting frequently needs changing in constraints.md, .c, > and .md files. I did make such changes, trust me :-) First obstacle was that, unlike reload, LRA is very strict about register constraints. If a constraint doesn't evalu

Re: LRA reloads of subregs

2015-09-04 Thread Vladimir Makarov
On 09/03/2015 06:33 PM, David Miller wrote: I'm working on converting sparc to LRA, and thanks probably to the work the powerpc folks did this is going much better than when I last tried this. Thanks for working on this, David. The first major stumbling block I've run into is when LRA forces a

Re: LRA reloads of subregs

2015-09-04 Thread Segher Boessenkool
On Thu, Sep 03, 2015 at 11:19:43PM -0700, David Miller wrote: > From: Segher Boessenkool > Date: Thu, 3 Sep 2015 20:26:51 -0500 > > > On Thu, Sep 03, 2015 at 03:33:56PM -0700, David Miller wrote: > >> (insn 18631 1099 1100 14 (set (reg:SI 13423) > >> (subreg:SI (mem/c:QI (plus:SI (reg/f:S

Re: LRA reloads of subregs

2015-09-03 Thread David Miller
From: Segher Boessenkool Date: Thu, 3 Sep 2015 20:26:51 -0500 > On Thu, Sep 03, 2015 at 03:33:56PM -0700, David Miller wrote: >> (insn 18631 1099 1100 14 (set (reg:SI 13423) >> (subreg:SI (mem/c:QI (plus:SI (reg/f:SI 101 %sfp) >> (const_int -14269 [0xc843])

Re: LRA reloads of subregs

2015-09-03 Thread Segher Boessenkool
On Thu, Sep 03, 2015 at 03:33:56PM -0700, David Miller wrote: > (insn 18631 1099 1100 14 (set (reg:SI 13423) > (subreg:SI (mem/c:QI (plus:SI (reg/f:SI 101 %sfp) > (const_int -14269 [0xc843])) [0 %sfp+-14269 > S1 A8]) 0)) x.c:104 63 {*movsi_insn} > (expr