For full conference details, please visit the 2018 European LLVM Developers’ Meeting website.
Back To Schedule
Tuesday, April 17 • 2:00pm - 2:40pm
Organising benchmarking LLVM-based compiler: Arm experience

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

The ARM Compiler 6 is a product based on Clang/LLVM projects. Basing your product on Clang/LLVM sources brings challenges in organizing the product development lifecycle. You need to decide how to synchronize downstream and upstream repositories. The decision impacts ways of testing and benchmarking. The Arm compiler team does development of the compiler on the upstream trunk keeping a downstream repository synchronized with the upstream trunk. Upstream public build bots guard us from commits which can break our builds. We also have infrastructure to do additional testing. There are a few public performance tracking bots which run the LLVM test-suite benchmarks. Although the LLVM test-suite covers many use cases, products often have to care about a wider variety of use cases. So you will have to track quality of code generation on other programs too.

In this presentation we will explain how we protect the Arm compiler product from code generation quality issues that the public bots don’t catch. We will cover topics like continuous regression tracking, process of fixing regressions, a benchmarking infrastructure. We will show that the most important part of protecting the quality of a LLVM-based product is to be closely involved into development of the upstream LLVM which means detect issues in the upstream LLVM as early as possible and report them as soon as possible. We hope our experience will enable both better LLVM-derived products to be made and for product teams of other companies to contribute to LLVM itself more effectively.

avatar for Evgeny Astigeevich

Evgeny Astigeevich

Staff Software Engineer, Arm
Evgeny Astigeevich is a staff engineer at Arm in Cambridge, UK. He has experience in performance analysis and in implementing compiler optimisations for different architectures. He was leading the Arm Compiler optimization team.

Tuesday April 17, 2018 2:00pm - 2:40pm BST
Bristol 2