[clang] [llvm] Enable WPD without lto (PR #141777)

Hassnaa Hamdi via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 2 12:13:29 PDT 2025


hassnaaHamdi wrote:

> This is an interesting idea, thanks for the performance numbers. It could also be useful for LTO without whole program visibility enabled, where most of the vtables and type tests will end up with public visibility making them ineligible for WPD. But I suspect it may not be profitable when there is any type of PGO, which will cause speculative devirtualization to be applied for profiled indirect calls via ICP. Can you share the detailed SPEC performance results?

Hi @teresajohnson Thanks so much for looking at it.
Here are screenshots for the change rate results for SPECv6.
<img width="359" alt="specv6_int" src="https://github.com/user-attachments/assets/596d7c87-6dab-418e-9a62-b6919c7a7262" />
<img width="359" alt="specv6_fp" src="https://github.com/user-attachments/assets/5fadbe4a-5172-4239-8ef4-2ed0c3f2e4e0" />



https://github.com/llvm/llvm-project/pull/141777


More information about the llvm-commits mailing list