spo600:2024_sumer_project
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
spo600:2024_sumer_project [2024/05/22 11:50] – created chris | spo600:2024_sumer_project [2024/06/05 19:31] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== SPO600 | + | Wrong page! See [[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, | + | |
- | + | ||
- | 2. **Learn how to navigate the GCC codebase.** Specifically, | + | |
- | + | ||
- | 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 ==== | + | |
- | + | ||
- | * [[https:// | + | |
- | * See especially the [[https:// | + | |
- | + | ||
- | ==== Due Date ==== | + | |
- | + | ||
- | * May 31 for Stage 1 | + | |
spo600/2024_sumer_project.1716378601.txt.gz · Last modified: 2024/05/22 15:50 (external edit)