> On 05/08/2015 06:04 PM, James Bowman wrote: > > > >> Are you using LRA or reload? The former is definitely preferred and for > >> a simple target like this, I'd expect the transition to be very easy. > > > > I'm using reload. Attempting to naively switch on LRA resulted in > > internal compiler error: Max. number of generated reload insns per insn > > is achieved (90) > > so I would be very interested in a pointer an LRA clues.D Thanks. > Vladimir Makarov would be the best contact point. I'm a bit surprised > you ran into this issue given the simplicity of the port. > > I'd minimize the testcase, then enable debugging dumps, then look at the > insn that's causing LRA to loop. If Vlad helps, he's probably going to > want that minimized testcase as well, so it's time well spent. >
It seems that with whenever a function's frame is bigger than 512 bytes, LRA loops. Likely this causes a problem because there is no actual instruction for subtracting constants more than 512. However, there is a "link" pattern that allows this. It is puzzling. Do you think it would be easier to make the submission as is, then debug the LRA issues from that point? If so, I have attached the current patch set. Thanks. -- James Bowman FTDI Open Source Liaison
gcc-ft32.txt.gz
Description: gcc-ft32.txt.gz