On 2019-08-10 2:05 a.m., John Darrington wrote:
On Fri, Aug 09, 2019 at 01:34:36PM -0400, Vladimir Makarov wrote:
If you provide LRA dump for such test (it is better to use
-fira-verbose=15 to output full RA info into stderr), I probably could
say more.
I've attached such a dump (generated from
gcc/testsuite/gcc.c-torture/compile/pr53410-2.c).
Unfortunately, this info is not enough for me to say what is the
problem. I only found suspicious that LRA is trying to assign a few
registers to a pseudo register and fails even though these registers are
not assigned to anything. Probably HARD_REGNO_MODE_OK prevents this.
So it would be interesting to know how many registers of Pmode are
actually available.
In any case I'll try to look at this problem more on this week using
your built gcc on gcc135.
The less regs the architecture has, thoke easier to run into such error
message if something described wrong in the back-end.?? I see your
architecture is 16-bit micro-controller with only 8 regs, some of them is
specialized.?? So your architecture is really register constrained.
That's not quite correct. It is a 24-bit micro-controller (the address
space is 24 bits wide). There are 2 address registers (plus stack
pointer and program counter) and there are 8 general purpose data
registers (of differing sizes).