Momchil Velikov is a staff software engineer specializing in compilers and low-level toolchains with over 25 years of systems and embedded development experience and a dozen years focused in compiler engineering. Based in Cambridge, he brings deep C, C++ and Go expertise and proven mastery of front- and middle-end compiler design: parsing, SSA-based analyses, instruction scheduling and register allocation. At Arm he influences AArch64 code generation and ABI evolution, contributing notable LLVM and ARM-architecture work that improves vector intrinsics, debug info and control-flow integrity features like return address authentication. His background spans debuggers, linkers, DWARF/ELF formats, kernel and driver development, plus hands-on ISA knowledge across ARM, MIPS and x86-64. He combines architect-level thinking (ABI/system architecture) with pragmatic engineering—implementing disassemblers, trace decoders and runtime loaders—and has a track record of shipping toolchain features used by widespread projects like LLVM.
12 years of coding experience
22 years of employment as a software developer
Computer Science, Computer Science at Sofia University St. Kliment Ohridski
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Role in this project:
Back-end Developer
Contributions:303 reviews, 223 PRs, 177 pushes in 5 years 5 months
Contributions summary:Momchil's primary contributions involved adding intrinsics for multi-vector to ZA array vector accumulators, adding intrinsics for 16-bit non-widening FMLA/FMLS, and adding intrinsics for non-widening FMOPA/FMOPS. The user also refactored handling of vector subscript expressions, improved the efficiency of getActiveLaneMask with vector_extract, and added support for conversions using fixed-point scvtf. These contributions demonstrate a focus on improving the performance and functionality of the LLVM compiler for AArch64 architecture.
Application Binary Interface for the Arm® Architecture
Role in this project:
System Architect / Software Architect
Contributions:11 reviews, 5 commits, 8 PRs in 25 days
Contributions summary:Momchil primarily contributes to the definition and evolution of the Arm architecture's Application Binary Interface (ABI). Their work involves specifying and implementing ABI details for DWARF unwinding, EHABI, and other related features, focusing on areas like return address authentication and branch target identification. The contributions range from defining new pseudo-registers (e.g., `RA_AUTH_CODE`) and unwinding instructions to modifying existing ABI documentation to accommodate new features, ensuring alignment with the overall ABI specifications. The impact is to improve security and control flow integrity.
bare-metalcortexarmv8armv7armhf
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.
Request Free Trial
Momchil Velikov - Staff Software Engineer - Compilers at Arm