Compiler Systems Portfolio

Optimizing compilers and runtimes.

I build compiler infrastructure for program optimization, equality saturation, hardware-aware compilation, managed runtimes, and MLIR tooling. The projects below span research prototypes, open-source infrastructure, and production-minded systems work.

Featured Systems

Recent compiler research

Compiler Infrastructure

IRs, runtimes, and optimizers

Semantic library-call discovery

CGO 2024

Latent Idiom Recognition

Recognizes hidden BLAS and PyTorch idioms by representing programs and idioms in a minimalist functional array language.

Impact
1.46x geometric mean speedup
Role
Functional array IR and equality-saturation recognizer
  • array IRs
  • BLAS
  • PyTorch
  • optimization search
Managed-language compiler framework

Open source

Flame

A long-running hobby compiler framework for managed languages, CIL optimization, SSA-based analysis, and LLVM-oriented lowering.

Impact
Evolved from expression trees into an SSA CFG optimizer
Role
Designed the IR, analyses, optimization passes, back ends
  • C#
  • .NET IL
  • SSA
  • LLVM IR
MLIR.NET typed MLIR infrastructure teaser silhouette
Typed MLIR infrastructure for .NET

Open source

MLIR.NET

Models MLIR operations, regions, attributes, and types in C#, then reconstructs ODS to generate safer dialect-specific APIs.

Impact
TableGen-driven typed APIs
Role
Building parser, printer, IR model, and generated dialect APIs
  • C#
  • MLIR
  • TableGen
  • ODS
  • typed IRs
Julia GPU garbage collection teaser illustration
Runtime support for GPU languages

Master's thesis

Julia GPU Garbage Collection

Added LLVM IR-level GC lowering hooks to Julia and used them to build transparent mark-and-sweep garbage collection for CUDAnative GPU kernels.

Impact
2x faster than CUDA malloc baseline; thesis-prize nominated
Role
Designed Julia compiler GC hooks and a GPU mark-and-sweep runtime
  • Julia
  • LLVM IR
  • GPU
  • garbage collection
  • CUDAnative
Tiered compilation for graph bytecode

Research project

Modelverse JIT

A tiered just-in-time compiler for graph-based bytecode, moving hot programs from interpretation to SSA-based optimization.

Impact
37x speedup over reference implementation
Role
Built interpreter, baseline JIT, and optimizing SSA JIT
  • JIT
  • SSA
  • bytecode
  • runtime optimization
FlashFreeze JavaScript function serialization teaser
JavaScript function serialization

META 2019

FlashFreeze

Low-overhead JavaScript instrumentation for serializing functions, closures, and captured variables by making lexical environments queryable.

Impact
3% Octane overhead vs 76% prior work
Role
Designed the capture-list instrumentation and serializer
  • JavaScript
  • TypeScript
  • source rewriting
  • closures
  • serialization