I am a software engineer specializing in performance critical software, performance optimization, optimizing compilers, programming languages, developer tools, and open source software. I also care deeply about building inclusive and welcoming communities, especially in the tech and OSS space. This is my personal blog, where I share random thoughts on all of these subjects and more.
I have a long history of contributions to various parts of the LLVM project. My particular focus areas in LLVM over the years include:
- Pass pipeline structuring, phase ordering, fixed-point optimization
- Intermediate representation design
There isn’t a ton of information about many of these topics I can link to, but over time I’ll try to post and add to it here. I also gave a talk that provides a high level introduction to how compiler optimization works:
I currently work at Google where I am the overall technical lead for its Software Foundations and Programming Languages teams. Over the years, I have worked extensively on Google’s C++ programming language platform, including WG21, LLVM, and Clang. I have also worked on parts of Google’s distributed build and source management system, and contributed to a few common libraries. That said, all views on this site are my own and not those of my employer.
When not hammering away on a weirdly shaped keyboard, I enjoy sushi, fine dining, brown spirits, and everything about wine.