Stefan Reinauer <[EMAIL PROTECTED]> writes: > Hi, > > 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 variable. If you want to keep it from running forever before it gives up I suggest -fmax-allocation-passes=8 -fdebug-live-range-conflicts. 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. Eric _______________________________________________ Linuxbios mailing list [EMAIL PROTECTED] http://www.clustermatic.org/mailman/listinfo/linuxbios

