Graham Hunter is a senior software engineer based in England with 8 years of professional experience and a deep background in systems and compiler engineering. He currently engineers at Arm, bringing long-tenured expertise from roles at IBM and Transitive that span embedded, toolchain and back-end systems. His open-source contributions to the high-profile LLVM project focus on Target Transform Information and code generation, including implementing getScalingFactorCost and adding a histogram intrinsic with AArch64 lowering and vectorization support. Graham combines practical production delivery with low-level performance optimization skills, making him adept at turning architecture-level decisions into measurable code improvements. He holds a BSc in Computer Science from the University of Manchester and often works at the intersection of compiler internals and real-world instruction set targets. Notably, his work reveals a knack for squeezing performance out of addressing modes and vectorized operations that benefit both compilers and downstream hardware.
7 years of coding experience
11 years of employment as a software developer
Bachelor of Science (BSc), Computer Science, Bachelor of Science (BSc), Computer Science at The University of Manchester
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Role in this project:
Back-end Developer
Contributions:198 reviews, 60 PRs, 65 pushes in 5 years 5 months
Contributions summary:Graham primarily contributed to the LLVM project by working on the Target Transform Information (TTI) component. Their work involved implementing and optimizing the `getScalingFactorCost` function, which is crucial for compiler optimizations related to addressing modes. They also added a new histogram intrinsic, including support for lowering to specific AArch64 instructions, demonstrating expertise in code generation and compiler architecture. Furthermore, the user implemented vectorization support for the all-in-one histogram intrinsic.
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Contributions:69 pushes, 53 branches in 1 year 6 months
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.