Re: Fix ALL_REGS thinko in initialisation of function_used_regs

2019-10-03 Thread Segher Boessenkool
On Thu, Oct 03, 2019 at 04:26:55PM +0100, Richard Earnshaw (lists) wrote: > Well if that's how tightly ALL_REGS is defined, then really no back-end > should be defining it at all. Instead the build system (or the run-time > initialization code) should be constructing it on the fly. Similarly >

Re: Fix ALL_REGS thinko in initialisation of function_used_regs

2019-10-03 Thread Richard Earnshaw (lists)
On 03/10/2019 15:15, Segher Boessenkool wrote: On Thu, Oct 03, 2019 at 09:26:45AM -0400, Paul Koning wrote: On Oct 3, 2019, at 9:12 AM, Richard Earnshaw (lists) wrote: On 03/10/2019 10:48, Segher Boessenkool wrote: ... But ALL_REGS should contain *all* registers. The union of any two regis

Re: Fix ALL_REGS thinko in initialisation of function_used_regs

2019-10-03 Thread Segher Boessenkool
On Thu, Oct 03, 2019 at 09:26:45AM -0400, Paul Koning wrote: > > On Oct 3, 2019, at 9:12 AM, Richard Earnshaw (lists) > > wrote: > > > > On 03/10/2019 10:48, Segher Boessenkool wrote: > >>> ... > >> But ALL_REGS should contain *all* registers. The union of any two register > >> classes has to b

Re: Fix ALL_REGS thinko in initialisation of function_used_regs

2019-10-03 Thread Paul Koning
> On Oct 3, 2019, at 9:12 AM, Richard Earnshaw (lists) > wrote: > > On 03/10/2019 10:48, Segher Boessenkool wrote: >>> ... >> But ALL_REGS should contain *all* registers. The union of any two register >> classes has to be contained in some register class, so every register class >> has to be

Re: Fix ALL_REGS thinko in initialisation of function_used_regs

2019-10-03 Thread Richard Earnshaw (lists)
On 03/10/2019 10:48, Segher Boessenkool wrote: On Thu, Oct 03, 2019 at 10:35:15AM +0100, Richard Earnshaw (lists) wrote: On 03/10/2019 00:01, Segher Boessenkool wrote: The documentation says @findex ALL_REGS @findex NO_REGS In general, each register will belong to several classes. In fact, on

Re: Fix ALL_REGS thinko in initialisation of function_used_regs

2019-10-03 Thread Segher Boessenkool
On Thu, Oct 03, 2019 at 10:52:38AM +0100, Richard Sandiford wrote: > /* Certain fixed registers might be of the class NO_REGS. This means >that not only can they not be allocated by the compiler, but >they cannot be used in substitutions or canonicalizations >either.

Re: Fix ALL_REGS thinko in initialisation of function_used_regs

2019-10-03 Thread Richard Sandiford
Segher Boessenkool writes: > On Wed, Oct 02, 2019 at 10:22:22PM +0100, Richard Sandiford wrote: >> My change to the -fipa-ra bookkeeping used ALL_REGS as the supposedly >> safe default assumption, but ALL_REGS isn't literally all registers, >> just a close approximation. >> >> This caused a boots

Re: Fix ALL_REGS thinko in initialisation of function_used_regs

2019-10-03 Thread Segher Boessenkool
On Thu, Oct 03, 2019 at 10:35:15AM +0100, Richard Earnshaw (lists) wrote: > On 03/10/2019 00:01, Segher Boessenkool wrote: > >The documentation says > > > >@findex ALL_REGS > >@findex NO_REGS > >In general, each register will belong to several classes. In fact, one > >class must be named @code{ALL

Re: Fix ALL_REGS thinko in initialisation of function_used_regs

2019-10-03 Thread Richard Earnshaw (lists)
On 03/10/2019 00:01, Segher Boessenkool wrote: On Wed, Oct 02, 2019 at 10:22:22PM +0100, Richard Sandiford wrote: My change to the -fipa-ra bookkeeping used ALL_REGS as the supposedly safe default assumption, but ALL_REGS isn't literally all registers, just a close approximation. This caused a

Re: Fix ALL_REGS thinko in initialisation of function_used_regs

2019-10-02 Thread Segher Boessenkool
On Wed, Oct 02, 2019 at 10:22:22PM +0100, Richard Sandiford wrote: > My change to the -fipa-ra bookkeeping used ALL_REGS as the supposedly > safe default assumption, but ALL_REGS isn't literally all registers, > just a close approximation. > > This caused a bootstrap failure on arm-linux-gnu, wher