Hello, and sorry for a rather late reply, I am only now getting to GSoC stuff. Anyway, we are delighted you found contributing to GCC interesting.
On Tue, Dec 31 2024, Aditya Dutt via Gcc wrote: > Hello, > > I am interested in compilers and have been trying to understand GCC for > some time. > > I am watching the GRC lectures [0] althought I know they are a bit > outdated and the FOSDEM 2024 GCC devroom lectures [1]. Great. > > I have been trying to understand the build system (what files get > created during build time and what depends on what etc.) and have read > up a bit on GENERIC and GIMPLE and have played around with the dumps, > graphs etc. I plan on maybe implementing a pass using GCC plugins or a > dummy GCC frontend to get some idea of how things work. I'd suggest to experiment directly on the GCC proper and not get distracted by plug-in mechanisms unless there is a reason for doing so. > > Can you suggest a particular area of the compiler or some project / > bugs I could work on and pointers on documentation or previous patches > related to it? This is always a difficult question to answer. The compiler consists of many components and I cannot really recommend one as "best" in some way. In recent years, we have had many GSoC students/contributors working on the new Rust front-end of GCC and on improving our static analysis pass. In these areas there are still many things that need to be implemented and, perhaps more importantly, they seem to be attractive to prospective contributors. If you are interested in front-ends, we are always especially eager to expand our Fortran front-end community. This language is not so popular among new would-be contributors because it is considered old, but high-performance computing users still use it a lot and so it is definitely still very much alive and important. Another big area of development for HPC is OpenACC and OpenMP. But it can get quite complex very quickly. While there is always a lot of general optimization and middle-end work to be done, it is difficult to propose something reasonably self-contained and simple to be a good GSoC task for a complete newcomer. So indeed trying something small might be a good idea if you insist that your project should be in this area. Which brings me to bugs to look at. We track them in https://gcc.gnu.org/bugzilla/ and there are quite a few but tackling them is sometimes challenging, you may want to consult what you do and which one you picked on our IRC. And then there are many other components, like other front-ends, individual back-ends, run-time libraries, and others. It really depends on what interests you the most. Please keep an eye on our GSoC page https://gcc.gnu.org/wiki/SummerOfCode as we will be updating it with new information over the course of the next week or so. Good luck! Martin > > [0]: https://www.cse.iitb.ac.in/grc/index.php?page=videos > [1]: https://archive.fosdem.org/2024/schedule/track/gcc/ > > Sincerely, > Aditya Dutt <duttadity...@gmail.com>