Re: [PATCH 7/7] ira.c validate_equiv_mem

2016-03-23 Thread Alan Modra
On Wed, Mar 23, 2016 at 01:03:18AM +0100, Bernd Schmidt wrote: > On 03/21/2016 02:43 AM, Alan Modra wrote: > > > >+enum valid_equiv { valid_none, valid_combine, valid_reload }; > >+ > > Might be worth documenting that each step represents a superset of the > previous one. Fixed. > >+ ret =

Re: [PATCH 7/7] ira.c validate_equiv_mem

2016-03-22 Thread Bernd Schmidt
On 03/21/2016 02:43 AM, Alan Modra wrote: +enum valid_equiv { valid_none, valid_combine, valid_reload }; + Might be worth documenting that each step represents a superset of the previous one. + ret = valid_combine; + if (! MEM_READONLY_P (memref) + && ! RTL_CONS

[PATCH 7/7] ira.c validate_equiv_mem

2016-03-20 Thread Alan Modra
This function is used to validate REG_EQUIV notes generated by ira, and to validate potential insn combines performed by ira. The two conditions are not exactly the same, with reload being more restrictive. Separate them so more combines/moves can occur. For example, this sequence from cfgexpand