On Tue, Mar 03, 2015 at 11:59:53AM -0600, Hal Finkel wrote:
> Having implemented this, I assure you that the potential is not small.
> Eliminating the unnecessary spilling, the overhead of the function call,
> and better scheduling of the spills/restores, I've seen 10x speedups
> (even on modern OOO cores). Please also remember that small functions
> often don't use all available registers, especially vector registers
> (which tend to be expensive to save and restore), and so you can just
> ignore the caller-saved register entirely (you don't need to save them
> in the prologue or in setjmp call if you don't use them -- it is a pure
> savings).

Huh? How do you know that the intermediate functions haven't clobbered a
register? Without unwinding, which we explicitly do not want to do here,
you can't. As such you *can't* avoid the spilling.

Joerg
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to