Guy David is a compiler engineer with six years of experience building low-level tooling and architecture, currently at Apple after four years at NextSilicon. He has a strong background in backend compiler work, contributing to LLVM/MLIR—implementing constant propagation for ops like ZeroOp/UndefOp/PoisonOp and validating AArch64 vector register behavior in tbl/tbx instructions. His contributions to MachineVerifier around stack protector ordering and spill-slot scavenging show attention to subtle, safety-critical invariants in code generation. Prior roles include embedded and systems software at Hi Auto and service as a software engineer in the IDF, giving him practical experience across constrained and mission-critical environments. Based in Israel, he combines rigorous verification habits with pragmatic implementation skills, helping turn formal compiler concepts into production-quality toolchain behavior. Notably, his open-source work targets one of the most widely used compiler projects, reflecting both technical depth and community-facing impact.
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Role in this project:
Back-end Developer
Contributions:14 reviews, 24 PRs, 49 pushes in 10 months
Contributions summary:Guy primarily contributed to the LLVM project by implementing and verifying code related to the MLIR dialect, specifically focusing on constant propagation for operations like `ZeroOp`, `UndefOp`, and `PoisonOp`. They also verified the proper implementation of consecutive vector registers in `tbl` and `tbx` instructions for the AArch64 architecture. Additionally, the user made changes to the MachineVerifier to ensure that the stack protector is the top-most object in the stack, along with changes related to marking scavenging spill-slots.
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.