[llvm-dev] Open Project : Inter-procedural Register Allocation [GSoC 2016]

Adam Husar via llvm-dev llvm-dev at lists.llvm.org
Sun Apr 10 08:10:03 PDT 2016

Hello Mehdi,

   could I ask you if you could share your patch?
We are testing whether at least some leaf call register allocation optimization could help and you patch or some pointers on what to do will be very useful.

Thank you

On Wed, 23 Mar 2016 05:04:41 +0100, Mehdi Amini via llvm-dev <llvm-dev at lists.llvm.org> wrote:

>> On Mar 22, 2016, at 6:04 PM, Matthias Braun via llvm-dev <llvm-dev at lists.llvm.org> 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.
> I have a very tiny patch that wrap the backend in a CGSCC pass manager, which will achieve what is needed here I believe: i.e. running CodeGen for every callee before any caller.
> I can rebase it if anyone is interested.

More information about the llvm-dev mailing list