Skip to content

Welcome



Welcome to my blog. This site is intended to be a repository of the projects I’m quite proud of.

Feel free to explore my posts and projects. Check out my Github!

Tuning LLVM's SLP Vectorizer Cost Model

Similar to my last post, this writeup covers how I solved a performance regression on LLVM by analyzing a benchmark from a RISCV-target.

Read more →

May 24, 2026

Tracking down a 25% Regression on LLVM RISC-V

Similar to the previous post, this post covers my analysis of a benchmark on RISC-V targets. Unlike the previous post, I was able to land a patch to eliminate the performance gap to GCC (for this benchmark)!

Read more →

April 9, 2026

Analysing a Benchmark on LLVM RISCV

This was my attempt at improving a benchmark on LLVM RISCV. Unfortunately, the solution to this problem is kind of out of my league. But the attempt does make for a good blog post.

Read more →

April 5, 2026

My intro to the RISCV LLVM Backend: modifying an existing LLVM pass to merge GPRPair moves

For a while now I’ve been interested in the RISCV architecture, and recently I had the opportunity to indulge this interest by working on a pass improving code gen on the RISCV backend for LLVM. Credits to @lenary to raising this issue.

Read more →

February 27, 2026

My First LLVM PR

Honestly, it’s actually my second upstreamed PR, but I think it’s worth writing a blog about and the title sounds better then ‘My Second LLVM PR’.

Read more →

November 21, 2025

Nes Emulator

This blog covers my journey of emulating the NES, a popular console from the 1980s made by Nintendo.

Read more →

June 9, 2025

Rust-based Quadcopter Part 1

This post covers the details of how I made a flight controller for a quadcopter using Rust and an STM32.

Read more →

June 8, 2024