[LLVMdev] Interprocedural Register Allocation

Madhusudan C.S madhusudancs at gmail.com
Thu Oct 4 02:47:20 PDT 2012


Hello everyone,
   I have been interested in compilers, especially in the optimization
aspects from
quite some time now. I don't know if I have a decent background to brag
about, but
all I can say is that I have tried very small things related to building a
compiler [0].
However I admit that I am still new to a lot of things.

Like many others who are interested in compilers, I am interested in the
Register
Allocation problem too. I have been thinking about implementing an
interprocedural
register allocator from quite a while now. But I thought instead of trying
it out on a
toy compiler, why not just get my hands dirty in the real world. I was
seeing if I
could implement it on LLVM and incidentally, I noticed that the open
projects page
lists interprocedural register allocation as one of the open projects [1].

However, I was reading the DeveloperPolicy page and the policy for making
major
changes asks the developers to discuss the work here before proceeding. So,
I am
writing this mail to kickoff a discussion. I would really like to
contribute to LLVM and
I think this is a good place for me to start. Is there something specific
like a paper
that you guys would want me to read before diving in?

I understand that register allocation itself is a tricky problem and doing
an interprocedural
allocation is extremely hard. But I would like to try, at least try and
fail if worst comes
to worst than not doing anything at all. At least by attempting to
implement that, I will
have a better understanding of LLVM code base which may come in handy to
contribute
to other parts of LLVM.


[0] https://github.com/madhusudancs/PL241-MCS-Compiler
[1] http://llvm.org/OpenProjects.html#codegen

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


More information about the llvm-dev mailing list