Roger Ibáñez

Research Engineer at Barcelona Supercomputing Center

Barcelona, Catalonia, Spain
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
🎓
Top School
Roger Ibáñez is a Research Engineer with 20 years of experience specializing in compilers, programming languages, and low-level optimization, currently coordinating the Compiler & Toolchains for High Performance Computing group at the Barcelona Supercomputing Center. He bridges software and hardware, applying deep compiler backend expertise—particularly for LLVM/Clang and RISC-V targets—to enable high-performance systems and user-facing tooling. His contributions include adding SelectionDAG nodes, implementing RISC-V trampolines, and custom lowering for llvm.clear_cache, reflecting hands-on influence in one of the flagship open-source compiler projects. Trained in computer architecture and networks at Universitat Politècnica de Catalunya, he combines academic rigor with practical systems work and a knack for making complex architectures accessible to developers.
code20 years of coding experience
bookUPC Universitat Politècnica de Catalunya
languagesEnglish, Spanish, Catalan
github-logo-circle

Github Skills (15)

c1710
risc-v10
compiler10
compiler-design10
compiler-compiler10
c-language10
code-generation10
cprogramming-language10
c1110
assembler10
llvm10
assemble9
cplus9
assembly9
cpp9

Programming languages (9)

C++CRustLLVMMakefileGoHTMLAssembly

Github contributions (5)

github-logo-circle
llvm/llvm-project

Nov 2019 - Feb 2025

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Role in this project:
userBack-end Developer
Contributions:34 reviews, 13 PRs, 29 pushes in 5 years 4 months
Contributions summary:Roger primarily contributes to the LLVM project by implementing and modifying code related to the SelectionDAG and RISC-V target. Their work includes introducing new nodes like `CLEAR_CACHE`, which involved changes in `ISDOpcodes.h`, `TargetLoweringBase.cpp`, and other relevant files. Additionally, the user implemented support for RISC-V trampolines, including custom lowering for `llvm.clear_cache` on Linux targets to `__riscv_flush_icache`. This involved modifications to `RISCVISelLowering.cpp`, and associated test files.
compilerstechnologiesclangsubmittoolchain
llvm-mirror/clang

Sep 2018 - Sep 2019

Mirror kept for legacy. Moved to https://github.com/llvm/llvm-project
Role in this project:
userBack-end Developer
Contributions:7 commits in 1 year
Contributions summary:Roger primarily contributed to the RISC-V target support within the Clang compiler. Their work involved modifying the driver and assembler to correctly handle target ABIs, specifically related to the RISC-V architecture. They also made changes to default ABI settings and moved architecture-specific parsing logic into its own function. These changes improve the compiler's support for different RISC-V configurations and target features.
keptwindowsllvmcc-plus-plus
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
Roger Ibáñez - Research Engineer at Barcelona Supercomputing Center