Simon Tatham

Software Engineer 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
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.
code8 years of coding experience
github-logo-circle

Github Skills (31)

assembly10
c-language10
restructuredtext10
architecture10
llvm10
technical-writing10
rs10
c1110
c1710
compiler-compiler10
cplus10
assemble10
assembler10
arm10
compiler10

Programming languages (8)

C++CLLVMCMakeTeXHTMLVim ScriptPython

Github contributions (5)

github-logo-circle
ARM-software/abi-aa

Sep 2020 - Mar 2021

Application Binary Interface for the Arm® Architecture
Role in this project:
userTechnical 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.
bare-metalcortexarmv8armv7armhf
llvm/llvm-project

Oct 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: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.
Request Free Trial
Simon Tatham - Software Engineer at Arm