On 11/06/2011 03:19 AM, Dimitrios Apostolou wrote:

I understand major hassle is when the register file is big, too much
data is being copied on a function call, when it has a HARD_REG_SET as a
pass by value parameter. So I did some testing on SPARC, which has the
biggest register file I know of, and there is a small performance
regression indeed. On the other hand I really like the code reduction in
hard-reg-set.h. So how should I proceed? FWIW I'm already testing
passing the parameter by reference in the hottest functions.

What about adding a macro indirection to more functions (like you did with SET_HARD_REG_BIT and friends), so that pass-by-value can be changed to pass-by-reference without affecting all the uses throughout the compiler?

Paolo

Reply via email to