<div dir="ltr">Hi Andre and welcome!<br><br>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<br>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).<br>Ask if that distinction was not clear.<br><br>For that, I guess that a good place to start is the Abstract Data Types: <a href="https://github.com/llvm/llvm-project/tree/master/llvm/include/llvm/ADT">https://github.com/llvm/llvm-project/tree/master/llvm/include/llvm/ADT</a><br>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<br>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<br>some that (at least) seem easy and try to fix them. Then, submit a patch in the Phabricator: <a href="https://llvm.org/docs/Phabricator.html">https://llvm.org/docs/Phabricator.html</a><br>Even if you get it wrong, people are very kind on the reviews.<br><br>Lastly, regarding this:<br>> I would like to work on a project that, in addition to my interests above, also allows me to use the latest C++ features.<br><br>Definitely I don't have a complete picture of LLVM to talk extensively about the topic but here's the thing with C++. Applying<br>a lot of C++ intricacies does not help in the end and the reason is that the code becomes too complex and you<br>require the developer / reader to know all these intricacies. So, you'll definitely find such in LLVM<br>but only when those are actually helpful. I'd suggest that if you want to take C++ on its limits, you can<br>try it on a personal project (that's a personal opinion).<br><br>Please ask if anything was unclear.<br><br>Kind regards,<br>Stefanos Baziotis</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Στις Κυρ, 1 Μαρ 2020 στις 7:39 μ.μ., ο/η Andre Marin via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> έγραψε:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>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 (<a href="https://www.youtube.com/watch?v=vElZc6zSIXM" target="_blank">https://www.youtube.com/watch?v=vElZc6zSIXM</a>).</div><div><br></div><div>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.</div><div><br></div><div>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.  </div><div><br></div><div>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 <a href="https://llvm.org/OpenProjects.html#what" target="_blank">https://llvm.org/OpenProjects.html#what</a>.</div><div><br></div><div>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.</div><div><br></div><div>Thank you,</div><div><br></div><div></div><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><b><font size="4" color="#3d85c6">Andre Marin </font></b></div><div dir="ltr"><div><b><font color="#3d85c6">m:</font></b><font color="#666666"> (832) 495-3545 </font></div><div><b><font color="#3d85c6">e:</font></b> <font color="#666666"><a href="mailto:andre@alexamarin.com" target="_blank">andre@alexamarin.com</a></font></div><div><font color="#666666"><a href="https://www.linkedin.com/in/andremarin629/" target="_blank"><img src="https://i.ibb.co/R7kGY6z/iconfinder-linkedin-square-color-107091-2.png" alt=""></a><br></font></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>