[LLVMdev] Interprocedural Register Allocation

Jakob Stoklund Olesen stoklund at 2pi.dk
Thu Oct 4 14:31:16 PDT 2012


On Oct 4, 2012, at 2:27 PM, "Madhusudan C.S" <madhusudancs at gmail.com> wrote:

> Basically, the PrologEpilogInsertion pass will add a bit mask to MachineModuleInfo describing which registers are clobbered by the function being compiled. Later, when compiling the callers, that bit mask is used to initialize the regmask operands on call instructions.
> 
> So the idea is to sidestep from the calling convention a bit if we
> already know that the called function will not be using all the
> registers required by the convention and instead use those registers
> in the caller?

That's right.

> If I am understanding this correctly, is this something desirable for
> LLVM, even if it is not high priority?

Yes.

> Would you guys be Ok if I try
> to implement this without disturbing the project priorities but with
> a little help/guidance?

Absolutely.

/jakob

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121004/592358fa/attachment.html>


More information about the llvm-dev mailing list