Stockholm Cpp

0x32: LLVM internals && learning some ARM Assembly Skills

Join us for our milestone 50th StockholmCpp meetup as we wrap up Season 24 with an exciting program and a return to the fantastic FooCafe Stockholm!

A big thank you to think-cell, our newest SwedenCpp Pro Partner. Thank you, think-cell, not just for supporting our local C++ community, but also for your engagement in the international C++ developer community!

We are looking forward to an evening of learning, networking, and celebration with all of you!

As usual, Door open: 17:30, the program starts at 18:00

Hans Wennborg: C++ switch statements under the hood in LLVM
Are switch statements more efficient than if-else chains? How do they get optimized? This deep dive into Clang/LLVM's handling of the switch construct will tell you everything you wanted to know, and probably more.

Sebastian Theophil: Passive ARM Assembly Skills for Debugging, Optimization (and Hacking)
Reading assembly code is an important skill for debugging and optimization. Is there a bug in a 3rd party framework that you don't have the source code for? Are you calling into a system framework and it does not behave the way you expect? Do you want to understand the code the compiler generates, depending on the optimization level you choose? I have done all of these things more often than I would have liked in the past and I had acquired a solid understanding of x86 assembler code over the years. All was well until, suddenly, I had an ARM machine on my desk.
If you are, like me, using ARM machines a lot and always wanted a gentle introduction to ARM assembler code, this is the talk for you

Speaker:

Hans Wennborg - is a software engineer at Google and long-time contributor to LLVM.

Sebastian Theophil - has been working at think-cell since its founding in 2002. In the last few years, among many other things, he has ported think-cell to run on macOS. He is also the maintainer of the typescripten project which lets programmers call JavaScript libraries from C++ code compiled to WebAssembly in a convenient and type-safe way. He enjoys leaving his desk from time to time to talk at international C++ conferences.

Agenda:

17:30, Door open
18:00, Intro and event host presentation
18:10, Hans: C++ switch statements under the hood in LLVM
18:50, Casual mingling and networking with refreshments 🍕🥤🤝
20:00, Sebastian: Passive ARM Assembly Skills for Debugging, Optimization (and Hacking)