Momchil Velikov

Staff Software Engineer - Compilers at Arm

Cambridge, England, United Kingdom
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
🎓
Top School
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.
code12 years of coding experience
job22 years of employment as a software developer
bookComputer Science, Computer Science at Sofia University St. Kliment Ohridski
languagesEnglish
stackoverflow-logo

Stackoverflow

Stats
16,670reputation
1.7mreached
379answers
0questions
Badges
compiler-optimization
top-5%
gcc
top-1%
shared-libraries
top-5%
algorithm
top-5%
pipe
top-5%
pthreads
top-5%
github-logo-circle

Github Skills (47)

debugging10
debug10
assembly10
c-language10
dwarf10
architecture10
c1110
vectorization10
gcc10
c1710
abi10
compiler-compiler10
assemble10
assembler10
unwind10

Programming languages (7)

C++ShellLLVMCMakeGoHTMLPython

Github contributions (5)

github-logo-circle
llvm/llvm-project

Nov 2019 - Mar 2025

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Role in this project:
userBack-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.
compilerstechnologiesclangsubmittoolchain
ARM-software/abi-aa

Mar 2021 - Apr 2021

Application Binary Interface for the Arm® Architecture
Role in this project:
userSystem 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