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>

Reply via email to