new register allocator and HARD_REGNO_CALL_PART_CLOBBERED
Michael S. Zick
mszick@goquest.com
Thu May 15 12:54:00 GMT 2003
On Wednesday 14 May 2003 08:43 pm, Alexandre Oliva wrote:
> On May 14, 2003, Michael Matz <matz@suse.de> wrote:
> > Sure sure. I just wanted to know if the set of forbidden regs could
> > possibly also depend on the call in question. Looking at the definition
> > of HARD_REGNO_CALL_PART_CLOBBERED() this is not possible.
>
> But it may soon be. There are plans to support different calling
> conventions for different functions. Consider changing the
> clobber/save patterns of static functions never used outside the
> current translation unit by extending or limiting the set of registers
> it can clobber. It would be ideal if the new register allocator
> didn't make the assumption that calling-conventions are fixed for all
> functions.
There could be a number of big wins if you can manage to do only
caller/callee agreement for calling-conventions on internal functions.
Not only in register allocations but also in the "do we inline this or
call it" decisions.
More information about the Gcc
mailing list