Skip to content
This repository has been archived by the owner on Jul 1, 2021. It is now read-only.
/ swpp202101-team4 Public archive

소프트웨어 개발의 원리와 실습 (2021년도, 1학기, M1522.002400_001) 프로젝트

Notifications You must be signed in to change notification settings

CookieHCl/swpp202101-team4

Repository files navigation

SWPP Compiler

This compiler converts LLVM IR to SWPP assembly.

NOTE: Please don't just fork this and use it as your team repository! It will make your team repository public (visible to other teams). Instead, create an empty private repository, copy the contents of this repo to yours.

Whenever there is a change in this repo, you can cherry-pick the new commits. Relevant links: here, here.

We have taken a powerful register allocation algorithm from the last competition winner team (special thanks to swpp202001 team number 1) and patched it to support vector instructions(vload and vstore). Our purpose was to give you a solid backend to focus more on the IR level optimizations.

How to compile

To compile this project, you'll need to clone & build LLVM 12.0 first. Please follow README.md from https://github.com/aqjune/llvmscript using llvm-12.0.json. If you did the assignments, you will already have built this.

After LLVM 12.0 is successfully built, please run:

./configure.sh <LLVM bin dir (ex: ~/llvm-12.0-releaseassert/bin)>
make

How to test

You should implement test part inside Makefile.template to support the underlying test command:

make test

How to run

Compile LLVM IR input.ll into an assembly a.s using this command:

bin/sf-compiler input.ll a.s

For more information, run bin/sf-compiler -h.

About

소프트웨어 개발의 원리와 실습 (2021년도, 1학기, M1522.002400_001) 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages