Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/salekinsirajus/licm-optimization-pass-llvm
Loop Invariant Code Motion Optimization Pass - Implemented with LLVM. For ECE566 class project.
https://github.com/salekinsirajus/licm-optimization-pass-llvm
compiler compiler-optimization llvm llvm-pass loop-optimization
Last synced: about 13 hours ago
JSON representation
Loop Invariant Code Motion Optimization Pass - Implemented with LLVM. For ECE566 class project.
- Host: GitHub
- URL: https://github.com/salekinsirajus/licm-optimization-pass-llvm
- Owner: salekinsirajus
- Created: 2022-04-04T02:17:48.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-06-01T01:09:28.000Z (over 1 year ago)
- Last Synced: 2023-06-01T02:25:45.886Z (over 1 year ago)
- Topics: compiler, compiler-optimization, llvm, llvm-pass, loop-optimization
- Language: C
- Homepage:
- Size: 76.7 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LLVM Optimization Pass: Loop Invariant Code Motion
This is a class project for ECE566: Compiler Optimization and Scheduling at NC State## Running Locally
Build a docker container using the docker file provided.
```
docker build -t llvmp3:latest .
```### Build Executable
Get into the docker container
```
docker run -v $(pwd):/ece566 -it llvmp3:latest /bin/bash
```
Create a build directory
```
mkdir build
```
Run cmake
```
cmake ..
```
Now run make
```
make
```## Building Test
Create a test directory in the root folder and `cd` into it
```
mkdir test
cd test
```
Configure the benchmark tool to find the executable that we built earlier
```
/ece566/wolfbench/wolfbench/configure --enable-customtool=/ece566/build/p3
```## Running Test
while you are in the `test` directory, run the following command to compile
all the benchmark.
```
make all test
```
To ensure that our optimization pass did not break things, run the following:
```
make test compare
```