This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Indirect memory addresses vs. lra



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).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]