I had been a novice user of LLVM in 2013–2014 as a Rust contributor but since then I have not worked on LLVM-related projects. I completed Kaleidoscope and had little experience on platform-specific things but was not an LLVM expert at all.
Recently, my interest in LLVM has revived thanks to MLIR and CIRCT. However, as they are especially new topics, no user guides or such are available on them. (I have to relearn LLVM in general, too.)
Would you suggest some pointers to catch up with the current landscape of the LLVM ecosystem? LLVM Weekly is of course an excellent resource, but I want to know if anyone has additional recommendations.
For MLIR, there are some pretty good tutorials, and a basic MLIR compiler implemented as a sequence of tutorials here: Tutorials - MLIR See the ‘toy tutorial’.
For CIRCT, you’re welcome to join our Open Design meeting to learn some of what is going on: Link is in here: CIRCT Weekly Discussion Notes - Google Docs or feel free to come chat on Discord.
Hi @stephenneuendorffer, thank you for your pointers!
Yes, I wish I could participate in the meeting but 11 am PT is 4 am to me… anyway the meeting minutes are excellent to know what is happening. Thank you so much!
Perhaps trying to jump into a small sector of code may help!
In the CIRCT repository, it might be helpful to look at “good first issues” e.g. this for some beginner projects. There is also a CIRCT discord.
If you are interested in contributing to the Calyx dialect, I’m happy to help with any questions / spin up some more
good first issues. I’m sure there’s plenty of stuff that isn’t listed there. We currently have a slack channel for collaboration / questions regarding Calyx and its introduction to CIRCT. Feel free to ping me at firstname.lastname@example.org if you’re interested in joining! In any case, good luck and have fun
Hi @cgyurgyik, thank you for your suggestions! Yeah, I will take a look at good first issues.
While I have not yet decided if I will build something on Calyx, I am interested in it, as one of my current projects is HLS-related one. I will send you a line when (and if) I feel comfortable playing with CIRCT and Calyx for sure!
Cool! If you’re interested in HLS-related stuff, I would also check out CIRCT #1800: HSL scheduling and pipelining and CIRCT #1777: SCF/Standard → Calyx. These are two HLS-related projects that have some awesome folks working on it.