Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting started with LLVM - Windows/Linux

Tags:

llvm

I would like to download and try out LLVM, before that I wanted to know:

(a) What are the factors to consider before finalizing a LLVM platform (Windows/Linux)?

(b) What is the best way to learn LLVM? I would like to get involved in one of the projects there. So I want to get overall idea about it. In the process I got overwhelmed by the sheer size of LLVM, its sub-projects, its tools, the support, etc.

FYI: I have gone through the basics of LLVM from the llvm.org Also have worked on the compiler related development, static code analysis.

Please help.

Thank you.

like image 277
TheCottonSilk Avatar asked Apr 10 '26 11:04

TheCottonSilk


1 Answers

LLVM doesn't run on just one platform. As a contributor, your patches will be expected to work on many platforms. If you're not setup to test on more than one, then you'll be reliant on the interest of others in your patches for them to test them for you on other platforms. Your best bet is to use virtual machines (via VMWare or VirtualBox or whatever) to provide you with multiple platforms to work with. You'll find the most stability on OS X (Darwin), with Linux a close 2nd, owing primarily to the large number of buildbot slaves that test these configurations.

Your best bet is to pick a smaller project that is relatively contained. For example, you might choose something that is contained within a single pass, a single target, etc. The modularity of the code should make a lot of projects possible without understanding the entire source base. Pick an area to understand deeply first and then move on to others. It is not expected that somebody who can work on the testsuite is also capable of understanding the nuances of LiveIntervals.

Use the mailing lists and IRC to seek help. Few LLVM contributors seem to regularly visit StackOverflow. As is said frequently within the project, "patches welcome."

like image 97
ohmantics Avatar answered Apr 12 '26 07:04

ohmantics