Uploaded November 2025 | Updated September 2026, 2 weeks ago
2025 US LLVM Developers' Meeting
llvm.org/devmtg/2025-10
------
Title: An investigation of missed devirtualization opportunities
Speaker: Ehsan Amiri
------
Slides: llvm.org/devmtg/2025-10/slides/quick_talks/amiri.pdf
-----
We will present two groups of missed opportunities in whole program devirtualization (WPD). Currently we have statistics that shows catching one the two cases will increase the number of devirtualized callsites in some popular C++ open source programs by thousands or hundreds (0.5% to 3.5% of all virtual calls that are not devirtualized by WPD). In both groups of missed opportunities there is enough information to devirtualize the call in the source code and in the same function as the virtual callsite. Unfortunately catching these missed cases does not seem easy. We will discuss why currently devirtualization misses these opportunities and what are the challenges to make it happen. One notable issue that is highlighted during the discussion is the existing tension between WPD and non-strict-aliasing. After reminding this issue using an example, we will discuss why we think a language level improvement is needed to address this issue.
-----
Videos Edited by Bash Films: BashFilms.com
2025 US LLVM Developers' Meeting
llvm.org/devmtg/2025-10
------
Title: An investigation of missed devirtualization opportunities
Speaker: Ehsan Amiri
------
Slides: llvm.org/devmtg/2025-10/slides/quick_talks/amiri.pdf
-----
We will present two groups of missed opportunities in whole program devirtualization (WPD). Currently we have statistics that shows catching one the two cases will increase the number of devirtualized callsites in some popular C++ open source programs by thousands or hundreds (0.5% to 3.5% of all virtual calls that are not devirtualized by WPD). In both groups of missed opportunities there is enough information to devirtualize the call in the source code and in the same function as the virtual callsite. Unfortunately catching these missed cases does not seem easy. We will discuss why currently devirtualization misses these opportunities and what are the challenges to make it happen. One notable issue that is highlighted during the discussion is the existing tension between WPD and non-strict-aliasing. After reminding this issue using an example, we will discuss why we think a language level improvement is needed to address this issue.
-----
Videos Edited by Bash Films: BashFilms.com










