/RTL-Compiler

Optimizing compiler for RTL files generated by GCC with register allocation and instruction scheduling

Primary LanguageJava

Milestone 3

Summary

Parse RTL into JSON using Python and compile into ARMv7 assembly using Java. Allocate registers using a graph coloring algorithm.

Authors

  • Brian Hicks (bthicks)
  • Eitan Simler (eitan12345om)

Prerequisities

  • Python 3.4+
  • Java 9
  • org.json (should be in a directory called /lib)

Build

  1. Build program with make FILE=<folder_with_expand>
    • e.g. make FILE=fib/fib
  2. Run with ./a.out
  3. Clean up with make clean