Author: Mahiethan Nitharsan
University ID: 2158063
-
It is recommended that you run the compiler passes on the DCS lab machines, since it has a working version of LLVM required for this project. Otherwise, please install the version LLVM-18 or newer on your current system.
- If you are using your own system, there is no guarantee that the programs or compiler passes will work out of the box. If errors occur when running the programs or compiler passes, ensure that you re-compile the programs and compiler passes on your system before using it. Refer to the README files present in each folder for instructions on how to do this.
-
Alternatively, to test the compiler passes on multiple files simultaneously, or to get more accurate results, you can run this project on the DCS Batch Compute system. This platform works with this project, as it was used to collect the test results.
The compiler passes are found in ./passes
. The existing .so
files were already compiled on the lab machines, and there might be a chance that it will not work on the current computer this project is running on (especially if you are not running this on the DCS lab machines). Therefore, please re-compile the passes using the included README.md
file in that folder which describes the steps for compiling the passes into .so
files.
After compiling the passes, feel free to utilise them with the C programs stored in the folder ./demo-programs
. This folder contains specific C programs that were used to test the functionality of the compiler passes during the implementation, and these compiler passes are guaranteed to work on these test programs.
Additionally, you can insert your own custom C programs and test the compiler passes on them. A README
file is included in this folder to which leads to other README files that give instructions on how to apply the compiler passes on C programs.
Please see the README file in ./test-results
folder for more information about this directory.
Copies of the Specification, Progress Report and the Final Report are all available within this project as .pdf
files, which can be viewed alongside the source code and test results of this project.