regclass oddity?
Jim Wilson
wilson@specifix.com
Thu Mar 15 20:19:00 GMT 2007
Dave Korn wrote:
> When regclass determines that placing an operand into either one of several
> register classes would have the same cost, it picks the numerically highest
> one in enum reg_class ordering.
One possible solution is to give the special registers a higher
REGISTER_MOVE_COST to discourage their use.
Another solution is to use ! and ? in the constraints to increase the
cost of alternatives that are inconvenient.
There is also CLASS_LIKELY_SPILLED_P which is supposed to discourage
local-alloc from using registers in single-reg classes. At least there
is code for this in gcc-2.95.3. It looks like things have changed in
this area since then.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
More information about the Gcc
mailing list