[PATCH] D135714: [MemProf] ThinLTO summary support

Jeremy Morse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 16 03:27:31 PST 2022


jmorse added a comment.

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.


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