Amir Ayupov is a compiler engineer with 10 years of experience specializing in post-link binary optimization and HW/SW co-design, currently working on Meta’s BOLT project in Mountain View. He brings deep backend and performance engineering skills honed at Intel, where he implemented compiler optimizations, ISA prototyping in LLVM’s x86 backend, and simulator features for microarchitecture analysis. His open-source contributions to LLVM and the Facebook BOLT archive focus on jump-table handling, multi-way split functions, profile integration, and efficient binary layout—skills that directly improve real-world runtime performance. With strong academic credentials from MIPT in applied mathematics and a background in language interpretation, he pairs rigorous analytical thinking with a knack for practical tooling that squeezes measurable gains from complex binaries.
9 years of coding experience
8 years of employment as a software developer
Bachelor's Degree, Applied Mathematics, 4.54/5, Bachelor's Degree, Applied Mathematics, 4.54/5 at Moscow Institute of Physics and Technology (State University) (MIPT)
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Role in this project:
Back-end Developer
Contributions:400 reviews, 5 commits, 346 PRs in 5 days
Contributions summary:Amir's contributions primarily revolve around enhancing the LLVM BOLT (Binary Optimization and Layout Tool) project, focusing on performance improvements and profile integration. They introduced mechanisms for handling call target information within the YAML profile writer, specifically for BAT (Binary Address Translation) scenarios. They also worked on support for multi-way split functions and fixed issues with the encoding of basic block counts within BAT. Furthermore, the user addressed several bugs related to profile handling, call continuation, and improved the efficiency of the data aggregation process.
Binary Optimization and Layout Tool - A linux command-line utility used for optimizing performance of binaries
Role in this project:
Back-end Developer & Performance Engineer
Contributions:1 review, 261 commits, 29 PRs in 1 year 8 months
Contributions summary:Amir primarily focused on optimizing the performance of the `bolt` binary optimization tool. They implemented changes to improve jump table handling, particularly for split functions and fragments. Further improvements included code related to tail calls, debug information, and instrumentation, indicating a focus on core functionality and efficiency enhancements. The contributions suggest a role focused on improving the core logic and the analysis and transformation of the target binaries.
compilersclanglayoutcommand-line-utilitylinux
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.