[PATCH] D135714: [MemProf] ThinLTO summary support

Teresa Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 16 06:22:40 PST 2022


tejohnson added a comment.

In D135714#3930308 <https://reviews.llvm.org/D135714#3930308>, @jmorse wrote:

> Hi Teresa,
>
> I've reverted this (and Maskray's followup) in rG5d938eb6f <https://reviews.llvm.org/rG5d938eb6f79b16f55266dd23d5df831f552ea082>, as MSVC doesn't seem to be able to link it:
>
> https://lab.llvm.org/buildbot/#/builders/123/builds/14137
>
>   LLVMAnalysis.lib(ModuleSummaryAnalysis.cpp.obj) : error LNK2019: unresolved external symbol "public: __cdecl llvm::memprof::CallStack<class llvm::MDNode,class llvm::MDOperand const *>::CallStackIterator::CallStackIterator(class llvm::MDNode const *,bool)"
>   LLVMAnalysis.lib(ModuleSummaryAnalysis.cpp.obj) : error LNK2019: unresolved external symbol "public: unsigned __int64 __cdecl llvm::memprof::CallStack<class llvm::MDNode,class llvm::MDOperand const *>::CallStackIterator::operator*(void)"
>   bin\llvm-extract.exe : fatal error LNK1120: 2 unresolved externals
>
> I'm not completely sure why MSVC is unhappy, but it seems to have something to do with the template specialisation of CallStackIterator's constructor -- a reduced example here https://godbolt.org/z/EoEez3Wo5 doesn't generate any code with MSVC, wheras with clang and gcc it does.

Sorry,  I had missed that bot failure. Hmm, not sure what is wrong with the specialization, but thanks for the reduced example in godbolt, will use that to test a fix.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D135714



More information about the llvm-commits mailing list