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