Good evening.

I got interested in helping with ThinLTO,
I did watch this video, and i found it very interesting.
I got C++ knowledge, but not a lot of llvm/clang source knowledge…
Also, there is no mentors related in the website for this project.

Would the community be so kind in giving me information on how to help?
I have started reading the documentation on the website related to the llvm project as a start.

Thank you.

Jhonny Vargas

Hi Jhonny,
Thanks for the interest, Mehid (cc) with Teresa (cc) are probably the best people to ask about this project.
I am not sure what exactly the project contain, but if it contains propagating of attributes, I would focus on the understanding of parameters and functions attributes in LLVM ( and and start reading ThinLTO code (like FunctionImporter).

Hope you will have fun with ThinLTO

Hi Jhonny,

Thanks for your interest in ThinLTO! Are you looking for a summer project, or ongoing work in compilers, or clang/llvm specifically? Are you a student? Note that these were project ideas for Google Summer of Code. The GSoC application deadline has passed and we did have a student apply to work on this particular project. So if that application ends up being accepted then we will have someone working on that one. However, there are other things to be done for ThinLTO, if you are interested in working on it. I likely won’t have the bandwidth to mentor another person, but of course am happy to give pointers and advice, review patches, etc.


Hello Teresa,

thanks for answering me,

Well I am not a student, i would work on this as a hobby.

ThinLTO Is one of the projects that I found interesting.

Any direction you could give me is appreciated.

I thought that maybe I could help on something, and put some more value on my resume. =)

Thank you very much.


Hi Jhonny,

Probably the best way to get started is to first get familiar with clang/llvm in general via the info on the llvm project website. You could also try to fix a simple bug reported on Here is a ThinLTO related bug that was just filed (not sure if it is being looked at by the submitter though):

A couple smaller projects for ThinLTO that come to mind would be improving the ability to collect build statistics (since the backends are parallelized) and serializing out the ThinLTO summary to LLVM assembly. But you’ll want to get more familiar with clang/llvm before attempting either of these, and picking up and fixing a couple small open bugs is a good way to do that.