Dave Hudson wrote:
I would have hoped that having done the analysis early on that the
register allocator would try to allocate from the preferred register
class rather than the cover class but it seems that doesn't happen?
So you're saying that the register preferences look reasonable, but in
low pressure situations the allocator appears to largely ignore the
preferred register class?
It might help if you could provide some debugging dumps. The .ira dump
in particular contains a wealth of information about the decisions the
allocator is making.
Anyone have any ideas other than writing a pass that runs before
reload and tries to fix this up?
The first thing is to understand why IRA is doing what it's doing.
We're generally better off generating a good allocation rather than
trying to clean it up post-allocation.
jeff