[llvm-dev] Open Project : Inter-procedural Register Allocation [GSoC 2016]
Quentin Colombet via llvm-dev
llvm-dev at lists.llvm.org
Wed Mar 23 09:48:50 PDT 2016
The pass manager already has support for calligraph connected region IIRC.
As for the regmask part, we probably could hack something up in a week or so, but I believe this is not what Vivek had in mind.
I think the main challenge of a real inter-procedural register allocator is to change all of the calling convention dynamically and more importantly convey the right information to other tools (via CFA, CFI, etc.).
Cheers,
Q.
> On Mar 22, 2016, at 6:04 PM, Matthias Braun <mbraun at apple.com> wrote:
>
> No need to apologize this thread surely deserved some answers :)
>
> From my perspective this project sounds doable. I would expect the register allocation parts to be not too hard: I imagine this being just distilling a new clobber regmask after allocating a function. I would expect the challenging (or annoying) part to get a machine module pass (or a similar mechanism to influence the order in which functions are processed) and a callgraph in the backend. So this might end up being more pass manager / infrastructure work than register allocation.
>
> I'd be happy to answer detail questions or give guidance on the register allocation aspects.
>
> - Matthias
>
>> On Mar 22, 2016, at 5:27 PM, Sanjoy Das <sanjoy at playingwithpointers.com> wrote:
>>
>> Apologies: didn't notice how old this thread is before replying.
>>
>> On Tue, Mar 22, 2016 at 5:24 PM, Sanjoy Das
>> <sanjoy at playingwithpointers.com> wrote:
>>> Hi Vivek,
>>>
>>> [+CC Matthias, Quentin]
>>>
>>> Inter-procedural register allocation can be a big win, but my estimate
>>> is that it will be challenging to complete within one summer unless
>>> you're already familiar with LLVM's register allocator.
>>>
>>> I've CC'ed some people who can give you some more detailed information.
>>>
>>> -- Sanjoy
>>>
>>>
>>> On Tue, Feb 9, 2016 at 9:17 PM, vivek pandya via llvm-dev
>>> <llvm-dev at lists.llvm.org> wrote:
>>>> Hello Community,
>>>>
>>>> I would like to know status of the project and also importance of it. If the
>>>> project is still open I would like to work on GSoC 2016 proposal for
>>>> Inter-procedural Register Allocation, in that case please also suggest
>>>> possible mentor or let me know if anyone is willing to be mentor for this.
>>>>
>>>> Sincerely,
>>>> Vivek Pandya
>>>>
>>>>
>>>> _______________________________________________
>>>> LLVM Developers mailing list
>>>> llvm-dev at lists.llvm.org
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>>
>>>
>>>
>>>
>>> --
>>> Sanjoy Das
>>> http://playingwithpointers.com
>>
>>
>>
>> --
>> Sanjoy Das
>> http://playingwithpointers.com
>
More information about the llvm-dev
mailing list