Stefan Reinauer <stepan(a)suse.de> writes:
I'm running out of registers with the Quartet code, I think it's in
spd_set_memclk(). That function has quite a lot of state variables, so
it seems hard to optimize registers away. The code goes fine without
the smbus_write_byte() but those are needed to select the correct
spdrom. Is it viable to add a couple of hooks to the code to trigger
selection of the hub channel? I guess doing this with every spd_read_byte
is quite some overkill and we might save some registers that way.
That sounds like a reasonable idea.
To confirm where you are running out of registers I would suggest
commenting out the code in question to see if it compiles without it.
Knowing that should help craft a solution.
Depending on the nature of the problem and how we are running out of
registers it might make sense to store a couple of values in a single
If you want to keep it from running forever before it gives up I suggest
The -fdebug-live-range-conflicts is not terribly interesting except it
tells you how many passes romcc goes through before it gives up.
The -fmax-allocation-passes=8 sets the limit on the number of register allocation
passes romcc will use. The most I have seen it make and succeed in my regression
tests is 6. And the default is 100.