Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simomux/llvm_17
Lab assignments for my Middle-End compilers class A.Y. 2023-2024
https://github.com/simomux/llvm_17
compiler-passes dataflow llvm
Last synced: 2 months ago
JSON representation
Lab assignments for my Middle-End compilers class A.Y. 2023-2024
- Host: GitHub
- URL: https://github.com/simomux/llvm_17
- Owner: simomux
- Created: 2024-03-11T17:59:27.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-06-10T08:43:15.000Z (7 months ago)
- Last Synced: 2024-10-15T17:37:30.260Z (2 months ago)
- Topics: compiler-passes, dataflow, llvm
- Language: C++
- Homepage:
- Size: 1.77 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Lab assignments for my Middle-End compilers class A.Y. 2023-2024
LLVM version: 17.0.6
LLVM was build by it's source code at: [github link](https://github.com/llvm/llvm-project/releases/tag/llvmorg-17.0.6)
Source was then configured with CMake as follows:
```
cmake ../SRC/llvm -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../INSTALL -DBUILD_SHARED_LIBS=on -DLLVM_ENABLE_PROJECTS="clang" -DLLVM_TARGETS_TO_BUILD=host
```After that source was built in separare directory with:
```
make -j
```and finally installed with:
```
make install
```This was all done because during this class we will have to create our own optimization passes and rebuild `opt` to test them, so a binary version of LLVM can't be used.
Final build should be ~3.6 GB.
All exercises are stored in `TEST` with a brief description of them in a README.
All steps about adding function and include to LLVM files are commented in each file that needs that, I didn't load on the git every modified file since it would be a useless waste of space.