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

George Burgess IV via llvm-dev llvm-dev at lists.llvm.org
Sun Nov 1 13:18:22 PST 2015


> Could anyone let me know desirable skills should be developed to
contribute to LLVM

I'm pretty sure we don't require an arbitrary set of skills for you to
contribute to LLVM. :) Given that LLVM is largely a C++ project, having
solid background in C++ would certainly help. If you haven't worked with
LLVM before (e.g. in your compilers class), the following resources are
really helpful:
- http://llvm.org/docs/ProgrammersManual.html -- Programmers manual. Goes
over many LLVM-specific things (e.g. we use dyn_cast instead of
dynamic_cast, ...)
- http://llvm.org/docs/CodingStandards.html -- Coding standards. For style,
the liberal application of clang-format is recommended.
- http://llvm.org/docs/GetElementPtr.html -- An article that covers common
misconceptions about the getelementptr instruction.
- http://llvm.org/docs/Lexicon.html -- The lexicon, i.e. the jargon
translator. I find myself using this relatively often. ;)

As far as contributing to LLVM itself, send out a patch that fixes a
problem and ask people to review it. If you have no clue where to start,
find open+unassigned bugs in the bugtracker (https://llvm.org/bugs/), pick
an unassigned one, and try to fix it. There's also probably random "we'd
like to see this feature" notes scattered about in docs for e.g.
clang-tidy, if you're open to contributing to tooling/if you'd prefer to
add new features rather than fixing old ones. If you have short/targeted
questions, IRC (#llvm on OFTC) tends to be a good place to ask.

Have fun!
George

On Sun, Nov 1, 2015 at 1:03 PM, John Criswell via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> 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 listllvm-dev at lists.llvm.orghttp://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
>
> --
> John Criswell
> Assistant Professor
> Department of Computer Science, University of Rochesterhttp://www.cs.rochester.edu/u/criswell
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151101/5d21aa7b/attachment.html>


More information about the llvm-dev mailing list