[PATCH] D69452: [ThinLTO/WPD] Fix index-based WPD for available_externally vtables

Alexandre Ganea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 4 09:14:09 PST 2019


aganea added inline comments.


================
Comment at: llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp:874
       continue;
     for (auto VTP : VS->vTableFuncs()) {
       if (VTP.VTableOffset != P.AddressPointOffset + ByteOffset)
----------------
Hi Theresa!
I'm getting a crash when building Clang with ThinLTO.
The issue seems that `VS` ends up pointing an `AliasSummary *` instead of a `GlobalVarSummary *`, because of the `!GlobalValue::isAvailableExternallyLinkage()` test above, which leads to a crash when dereferencing the first element of `VS->vTableFuncs().begin()`, because it doesn't point to the right thing.
I'm at checkout 1cc0ba4 (from yesterday)
Please see the full repro: {F10964861}


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69452/new/

https://reviews.llvm.org/D69452





More information about the llvm-commits mailing list