C0 Compiler Optimizations and Functional Programming Features
15-411 Compiler Design Course Project | Fall 2021
Collaborators
- Ishan Bhargava
Languages Involved
- Implementation: Rust
- Source: C0, a safe subset of C
- Target: x86 asm
Overview
- Studied and implemented compiler optimizations including Partial Redundancy Elimination (PRE) and Aggressive Dead Code Elimination (ADCE) for a C0 to x86 asm compiler, achieving speedups on par with GCC -O1
- Expanded compiler to support algebraic datatypes (ADTs) and function closures, including parsing, typechecking, and codegen