Amy Kwan is a compiler developer with eight years of experience building and optimizing LLVM backends for PowerPC at IBM Toronto Lab. She specializes in low-level systems engineering, contributing to LLVM project work such as GlobalMerge enhancements and adapting the llvm-test-suite for AIX to resolve platform-specific issues. Proficient in C/C++, LLVM IR, and PPC assembly, she has a track record of performance-focused codegen, peephole optimizations, and cross-platform compatibility fixes on Linux and AIX. Her background in software engineering and mathematics (Honours) complements practical skills in debugging, benchmarking, and systems integration. Beyond compilers she brings interests in usability engineering and photography, reflecting a detail-oriented approach to both code and user experience. Colleagues can rely on her blend of rigorous academic training and hands-on contributions to widely used open-source toolchains.
8 years of coding experience
International Baccalaureate
High School, International Baccalaureate Graduate, 9 - 12, High School, International Baccalaureate Graduate, 9 - 12 at Bedford Road Collegiate
Bachelor's of Science (Honours Degree), Computer Science (Software Engineering), Bachelor's of Science (Honours Degree), Computer Science (Software Engineering) at University of Saskatchewan
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Role in this project:
Back-end Developer & System Architect
Contributions:213 reviews, 2 commits, 23 PRs in 17 days
Contributions summary:Amy made significant contributions to the LLVM project, particularly focusing on the PowerPC architecture. Their work involved enhancing the GlobalMerge pass to handle private global variables and reduce TOC usage. They also added the GlobalMerge pass to the PPCTargetMachine pipeline and implemented changes to emit the PowerPC version for XCOFF. These commits demonstrate expertise in compiler optimization and system-level programming.
Contributions summary:Amy primarily focused on adapting the test suite for the AIX operating system, indicated by numerous commits targeting AIX-specific issues. Their work included modifying code to accommodate AIX's differences in handling NaN values, memory allocation, file system interactions, and time-related functions. They also addressed compatibility issues related to header files and compiler behavior on AIX, and updated printf formatting for compatibility. This involved modifying benchmark code and test scripts to ensure consistent results across platforms.
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.