The patch
o implements a simple form of inter-procedural register allocation (it
looks what call used registers were not used through the calls and
don't save and restore them through the calls. IRA will have
cost of usage such registers different from the rest of
called used hard registers)
o implements sharing slots in save area (used for saving call used
hard register through calls).
Vladimir,
actually this feature is something I wanted to try for a while, but on
the top of our current register allocation infrastructure I never found
pleasant way to implement it.
I wonder if you've run some benchmarks and what kind of benefits did you
get?