Almost-C Compiler
A compiler that lowers a C-like language into an IR and
generates Intel x86-64 assembly code, built from scratch in C++.
Implements graph coloring register allocation, abstract syntax
tree instruction selection, and optimizations including constant
propagation and dead-code elimination.
CAT LLVM Pass
An LLVM pass written in C++ that optimizes programs that use a
toy language that supports basic arithmetic operations.
Efficiently performs reaching definition and liveness analyses
to eliminate unnecessary operations. Reduced execution cost with
optimizations such as constant folding, dead-code elimination,
function inlining, and loop unrolling.