Back To Schedule
Wednesday, October 17 • 12:00pm - 12:30pm
Sound Devirtualization in LLVM

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

Devirtualization is an optimization transforming virtual calls into direct calls.

The first proposed model for handling devirtualization for C++ in LLVM, that was enabled by -fstrict-vtable-pointers flag, had an issue that could potentially cause miscompilation. We took a step back and built the model in more structured way, thinking about semantics of the dynamic pointers, not what kind of barriers we need to use and what kind of transformations we can do on them to make it work. Our new model fixes this issue and enables more optimizations. In this talk we are going to explain how it works and what are the next steps to turn it on by default.

avatar for Piotr Padlewski

Piotr Padlewski

masters student, University of Warsaw

Krzysztof Pszeniczny

University of Warsaw

Wednesday October 17, 2018 12:00pm - 12:30pm PDT
1 - General Session (Rm LL20ABC)