[llvm-dev] New to LLVM contribution and open-source

Stefanos Baziotis via llvm-dev llvm-dev at lists.llvm.org
Sun Mar 1 09:58:28 PST 2020


Hi Andre and welcome!

I'm relatively new to LLVM so I understand and I may be able to help. First
of all, by reading your message, it seems that you want
to work on code that runs fast (i.e. high-performance data structures used
in LLVM) and not necessarily code that produces fast code (e.g. LLVM
passes).
Ask if that distinction was not clear.

For that, I guess that a good place to start is the Abstract Data Types:
https://github.com/llvm/llvm-project/tree/master/llvm/include/llvm/ADT
IIRC, most DS's that Chandler mentions are there. Now, how do you start
there is a different story. At least, you don't need to know
much about compilers. One thing I'd suggest is to do a search in the whole
directory for FIXME or TODO. Then, try to find
some that (at least) seem easy and try to fix them. Then, submit a patch in
the Phabricator: https://llvm.org/docs/Phabricator.html
Even if you get it wrong, people are very kind on the reviews.

Lastly, regarding this:
> I would like to work on a project that, in addition to my interests
above, also allows me to use the latest C++ features.

Definitely I don't have a complete picture of LLVM to talk extensively
about the topic but here's the thing with C++. Applying
a lot of C++ intricacies does not help in the end and the reason is that
the code becomes too complex and you
require the developer / reader to know all these intricacies. So, you'll
definitely find such in LLVM
but only when those are actually helpful. I'd suggest that if you want to
take C++ on its limits, you can
try it on a personal project (that's a personal opinion).

Please ask if anything was unclear.

Kind regards,
Stefanos Baziotis

Στις Κυρ, 1 Μαρ 2020 στις 7:39 μ.μ., ο/η Andre Marin via llvm-dev <
llvm-dev at lists.llvm.org> έγραψε:

> Hi,
>
> I'm Andre and new to LLVM in general as well as the open-source
> community.  I'm not sure if this is the right platform to bring up my
> questions but here is a bit of background.  I found a video that referenced
> high-performance algorithms used in LLVM (
> https://www.youtube.com/watch?v=vElZc6zSIXM).
>
> When I saw this, I told myself that I want to work on high-performance
> projects because that's the depth and fluidity of data structures and
> algorithms in projects I want to work on.
>
> Going through the LLVM website and links has taken me down a rabbit hole
> I'm not sure where to start digging.  I would like to work on a project
> that, in addition to my interests above, also allows me to use the latest
> C++ features.
>
> I am looking for guidance and possibly mentorship on a good starting
> task.  Looking at the beginner tags in the bug tracker website but it
> didn't give me a great feel on what I wanted to work on.  I also had more
> interest in bigger projects such as those listed
> https://llvm.org/OpenProjects.html#what.
>
> From what I've seen, I think what I am interested in working on is the
> LLVM core but I'm open to suggestions for recommendations.
>
> Thank you,
>
> *Andre Marin *
> *m:* (832) 495-3545
> *e:* andre at alexamarin.com
> <https://www.linkedin.com/in/andremarin629/>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://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/20200301/41a659dc/attachment.html>


More information about the llvm-dev mailing list