Christian Ulmann is a Senior Compiler Engineer based in Zurich with a decade of experience designing and implementing compiler infrastructure and programming abstractions. He has deep, practical expertise across IR design, compiler transformations, static analysis, lowerings, DSLs, and hardware abstractions, honed through active contributions to high-profile open-source projects such as LLVM and CIRCT. His work on LLVM’s Mem2Reg pass, alias analysis in the inliner, and IR refactorings directly improved optimization and code generation, while contributions to CIRCT advanced HandshakeToFIRRTL lowering, tuple support, and buffer/cycle handling for hardware compilation. At NextSilicon he progressed from software engineer to senior compiler engineer, bringing research-grade knowledge from an MS in Computer Science at ETH Zürich into production compiler and hardware toolflows. Colleagues value him for bridging academic rigor and pragmatic engineering—he’s as comfortable prototyping IR design as shipping robust backend transformations.
10 years of coding experience
3 years of employment as a software developer
Matura, Matura at BME Neufeld
Master of Science - MS Computer Science, Master of Science - MS Computer Science at ETH Zürich
Informatiker EFZ Applikationsentwicklung, Informatiker EFZ Applikationsentwicklung at BIT
Technische Berufsmaturität, Technische Berufsmaturität at gibb Berufsfachschule Bern
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Role in this project:
Back-end Developer
Contributions:367 reviews, 4 commits, 174 PRs in 5 days
Contributions summary:Christian's contributions primarily focused on enhancements and modifications to the LLVM IR dialect within the LLVM project. They implemented changes to the Mem2Reg pass, enhancing its capabilities related to partial loads and stores, and also worked on improvements to the alias analysis infrastructure within the inliner. Their work also included refactoring and removing outdated features and the integration of new features within the LLVM IR. This user's modifications directly impact the compiler's optimization and code generation stages.
Contributions:146 reviews, 61 commits, 114 PRs in 8 months
Contributions summary:Christian primarily contributed to enhancing the HandshakeToFIRRTL conversion process. They added support for tuple types, and also implemented lowerings for `PackOp`, `UnpackOp` and the `SyncOp`. Additional work included improving buffer initialization and cycle detection, alongside fixing issues related to external functions and the mux input order.
compilersbazelmlircircuitunikernel
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.