[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,
  Madhusudan.C.S
-------------- 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