Andre Marin via llvm-dev
2020-Mar-01 17:38 UTC
[llvm-dev] New to LLVM contribution and open-source
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 LLVMcore 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/> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200301/4d9d486b/attachment.html>
Stefanos Baziotis via llvm-dev
2020-Mar-01 17:58 UTC
[llvm-dev] New to LLVM contribution and open-source
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 interestsabove, 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>