[llvm-dev] Google Summer of Code 2016 | LLVM

John Criswell via llvm-dev llvm-dev at lists.llvm.org
Sun Nov 1 13:03:41 PST 2015


On 11/1/15 1:15 PM, Aswin kumar via llvm-dev wrote:
> Hi,
>
> I am a graduate student in computer science.I have taken a programming 
> languages course this semester and I am having great fun building 
> interpreters.I am planning to build toy compilers in the winter.I 
> would love to participate in GSOC 2016 contributing to LLVM.Could 
> anyone let me know desirable skills should be developed to contribute 
> to LLVM ?  Also I would like to know the open projects in LLVM for 
> Google Summer Of Code 2016.

What skills you need for GSoC depends entirely upon what sort of 
LLVM-based projects you want to do.  Many LLVM-based projects requiring 
knowing how to write LLVM passes and doing either analysis or 
optimization on the LLVM IR.  For such projects, I'd recommend learning 
how to write an LLVM pass (which is well documented at 
http://llvm.org/docs/WritingAnLLVMPass.html.

However, some GSoC students work on Clang (and therefore need to 
understand how to analyze and manipulate Clang's AST).  Others may work 
on the code generator portions of LLVM (which requires understanding the 
MachineInstr IR or the MC layer).

I recommend that you learn whatever interests you.  When it comes time 
to worry about GSoC, you can then suggest a project that leverages what 
you've learned.

As far as GSoC projects, I think it's too early to have a list of those 
up yet.  I think we'll have a more up-to-date list in the spring.  That 
said, if you're looking for projects, you can look at the open projects 
page at http://llvm.org/OpenProjects.html.  Fixing open bugs in the LLVM 
and Clang bug database would also be a good way to start learning about 
Clang and LLVM.  You can also look at LLVM sub-projects such as lldb, 
ldb, and Polly.

As for myself, I tend to mentor projects that instrument programs in 
some way (usually to improve their security, but I've also mentored a 
performance-bug finding tool).  You can read about my work (nearly all 
of which uses LLVM) on my publications page at 
http://www.cs.rochester.edu/u/criswell/pubs.html to get a sense of the 
sorts of things that interest me.  In a nutshell, I like security, and I 
like using compilers to change operating system kernel code.

Regards,

John Criswell

>
> Regards,
> Aswin.
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


-- 
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
http://www.cs.rochester.edu/u/criswell

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151101/691f14db/attachment.html>


More information about the llvm-dev mailing list