Simon Tatham is a software engineer based in Cambridge with eight years’ experience specializing in compiler and toolchain development for Arm architectures. He contributes to high-profile open-source projects such as LLVM/Clang and the Arm ABI documentation, where his work spans backend compiler fixes, linker improvements, and precise specification authoring. His technical strengths include AArch64 target support, link-time relocation handling, and low-level runtime features like setjmp/longjmp, reflecting deep knowledge of compiler internals and CPU-specific quirks. Regularly updating formal ABI documents shows an unusual combination of implementation skill and meticulous technical writing. Colleagues benefit from his pragmatic problem-solving on subtle overflow and conversion bugs as well as his ability to bridge specification and implementation.
Application Binary Interface for the Arm® Architecture
Role in this project:
Technical Writer
Contributions:22 reviews, 15 commits, 15 PRs in 5 months
Contributions summary:Simon's commits primarily involve the import and updating of various specification documents related to the Arm Architecture's Application Binary Interface (ABI). These commits focus on integrating specifications like RTABI32, AAELF32, CPPABI32, and BPABI32. Furthermore, the user consistently updates cross-references and diagrams within these documents, ensuring the specifications are accurate, well-formatted, and easily accessible.
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Role in this project:
Back-end Developer
Contributions:126 reviews, 43 PRs, 124 pushes in 5 years 5 months
Contributions summary:Simon primarily contributed to the LLVM project by addressing issues within the Clang compiler and the LLD linker. Their work included fixing a driver issue related to incorrect multilib flags generation, particularly for AArch64 targets. They also fixed an issue in the AArch64 linker's handling of SHT_REL relocations and contributed to adding setjmp/longjmp functionality for AArch64, expanding the project's capabilities. Additionally, they addressed overflow issues in the libc mktime function and made improvements to the BigInt to decimal conversion in IntegerToString.
compilerstechnologiesclangsubmittoolchain
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.