[GSoC] Interested for Fix fundamental issues in LLVM's IR

Hello,

I am new to LLVM, and I have basic knowledge about LLVM IR. I am interested in this project. It would help me in getting a good understanding of LLVM IR and transform me into an LLVM contributor and developer.

I am not sure where I could find the mentor’s mail id, and I would be thankful if someone could redirect me to the mentor.

I also need some details about the preparatory resources.

Thanks
Kyle (She/Her, Undergrad Student)

Hi Kyle,

I'm the mentor of that project.

LLVM has a long list of issues. Some is just a long-tail of minor things (some you can see in our dashboard, like semantics of shufflevector). Other are big ones, like type punning (loading a pointer as an integer or vice-versa), lowering of bit-fields by clang (needs to change so we can get rid of undef), etc.
The project would likely consist in fixing a few of the minor issues to get started, and then tackle one of the big ones. This entails specifying the semantics, implementing a prototype, running performance & validation tests to ensure we don't introduce regressions.

So it's hard work. And hard study, as it's unlikely you've studied any of these things in school (except C++). But you would gain some insight on what goes on when designing compiler IRs, all the complicated tradeoffs, and more about LLVM's internals.
You wouldn't be alone of course. You have one official mentor, plus some of our colleagues would be happy to help as well.

Here are some slide decks & papers:
https://web.ist.utl.pt/nuno.lopes/pres/alive2-llvm19.pptx
https://web.ist.utl.pt/nuno.lopes/pres/ub-vmcai19.pptx
https://web.ist.utl.pt/nuno.lopes/pres/poison-llvm16.pptx
https://web.ist.utl.pt/nuno.lopes/pubs/undef-pldi17.pdf

Please let me know if you have questions and/or want to discuss further.

Nuno