[LLVMdev] Interprocedural Register Allocation

Madhusudan C.S madhusudancs at gmail.com
Thu Oct 4 14:38:46 PDT 2012

Hi Jakob,

On Thu, Oct 4, 2012 at 2:31 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote:

> 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.

Great! Thank you very much. Then, I will do some homework on how
I plan to implement this, a _very_ rough sketch if not the actual
design, and come back.

Btw, I just found this http://optimisticcompilers.blogspot.com/ So
I will just take a look at what happened to that project.

> /jakob

Thanks and regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121004/14ee9dd8/attachment.html>

More information about the llvm-dev mailing list