User Tools

Site Tools


spo600:2024_sumer_project

This is an old revision of the document!


SPO600 2024 Summer Project

Goal

The goal of this project is to add a functioning proof-of-concept prototype of auto-function-multi-versioning capability to the Gnu Compiler Collection (GCC) for AArch64 systems, building on previous work.

Project Stage 1: Preparation

1. Become familiar with the GCC build process. Build the current development version of GCC on AArch64 and x86 platforms. Get to know how long a full build takes, how to change the build options, and how to install a local (non-system, personal) copy of GCC.

2. Learn how to navigate the GCC codebase. Specifically, find out what code implements these aspects of the compiler and how to add to or change the code:

a. Find the code that controls the compilation passes, and how passes can be added.

b. Find the code that controls the argument parsing. Add a dummy argument and experiment with messages for the user that describe how and when that argument can be used.

c. Find out where argument information is stored and how it can be accessed in code.

d. Find out how dumps are produced during the compilation passes (in particular, during the tree passes). Become familiar with producing and reviewing these dumps. Create a dummy pass that produces a useful diagnostic dump.

Resources

Due Date

  • May 31 for Stage 1
spo600/2024_sumer_project.1716378601.txt.gz · Last modified: 2024/05/22 15:50 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki