You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`weightCalcHelper` is responsible for adding hints to MRI. Prior to this PR,
we fell back on register ID as the last tie breaker for sorting hints. However,
there is an opportunity to add an additional sorting characteristic: whether or
not a register is a callee-saved-register.
I thought of this idea because I saw that `AllocationOrder::create` calls
`RegisterClassInfo::getOrder`, which returns a list of registers such that the
registers which alias callee-saved-registers come last. From this, I conclude
that the register allocator prefers an order such that callee-saved-registers
are allocated after non-callee-saved-registers.
This sorting characteristic occurs only as a tie breaker to the Weight
calculation. This is a good idea since the weight calculation is pretty complex
and I'm sure it is a pretty stable metric. I think its pretty reasonable to
agree that whether a register is callee-saved or not is a better tie breaker
than register ID. I think this is evident by the test diff, since the changes
all seem to have no impact or improve the register allocation.
0 commit comments