The coolest part of this compiler is that since I based the design off LLVM basically all of the heavy algorithms (frontend, regalloc, isel, lowering, etc.) are architecture independent.
- Frontend AST to IR
- Lowering and instruction selection (Architecture independent!!)
- Briggs register allocator (Architecture independent!!)
- Abstract target ISA interface
- MIPS32 ISA implementation
make
java -jar cs4240-1.0-SNAPSHOT.jar <file>