GCC Project and My potential contribution
In the following weeks, I will work with the GCC for Aarch64 machines. This is, for me, a very interesting project as well as challenging. In my whole life, I have never thought of actually modifying an existing compiler let along one of the most popular, powerful one. In this article, we will see what this project aims to do and my part as a contributor of the project
Project description
Normally, when we compile a program, we often compile it for a specific architecture. Everything would be fine if the architecture stays the same forever. However, like us, they are also improved, with more and more features, functionalities that could potentially provide faster runtime and better experience for their users. As the result, we programmer aims to make our programs faster and better, and one of the way to do so is to pick up new features whenever possible so that our programs can utilize all available resources that the machine offers them. This is a problem for the GCC compiler because now, there are multiple ways to compile a program and we have to manually pick which features should the compiler include for our program based on the aimed architecture.
This is why we have this project. The goal is so that you can just mention an architecture you're planning to build and the compiler will automatically do it for you. With that, you don't have to manually adjusting your code to fit with a specific architecture. With this, we hope that the program would utilize all available resources it has access to in different computers without prevent access from some old computers.
My contribution
I will simplify the process by letting the user provide the architecture without having to mention every features they want to include. My task is to make the command line much more simple thus, save programmers some typing time. The task seems straight forward but to be honest, I don't even know where to start. Professor mentioned about some guys who did the same thing for x86_64. I guess my start would be there, then try to convert his code to Aarch64.
Look back
Personally, I'm not familiar with working with a compiler at all. This is a very new stuff to me, and it hit me hard as I find it interesting and difficult to work with low-level code. So far I can perform basic programming with Aarch64 and now I'm actually tinkering with a huge compiler. As a result, part of me feel excited and wish I can keep going even after I graduate, part of me is afraid that my contribution may mean nothing to the project as a whole. However, I'll try my best learning, watching YouTube video to see how I can contribute.
Comments
Post a Comment