[PATCH] D116784: [ProfileData] Read and symbolize raw memprof profiles.

Nico Weber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 3 15:59:54 PST 2022


thakis added inline comments.


================
Comment at: llvm/lib/ProfileData/CMakeLists.txt:25
   Object
+  Symbolize
   DebugInfoDWARF
----------------
snehasish wrote:
> thakis wrote:
> > This dependency is a problem. At the moment, Symbolize adds a dep to libcurl, and clang transitiviely depends on llvm/lib/ProfileData. So this makes clang depend on libcurl (even in statically linked builds), which is something we want to avoid. See also the discussion on D113717 (in particular, https://reviews.llvm.org/D113717#3295350).
> > 
> > Since this likely has no super quick fix, would you mind reverting this until that dependency can be prevented somehow?
> I assume you mean this patch and not the sort/dedupe suggestion above. Reading through the discussion then we would have to wait for a refactoring to move the libcurl dep to llvm-symbolize instead of debuginfod. Is it possible to split debuginfod out of Symbolize so that we can unblock this patch sooner?  
>From what I understand, that refactoring should be fairly small (make Symbolize take a default-noop "FetchSymbols" callback instead of calling Debuginfod directly, change llvm-symbolize to pass in a function that calls Debuginfod instead, remove dep from Symbolize on Debuginfod. For bonus points, tweak the cmake setup so that Debuginfod isn't linked into libllvm by default, but that's not needed for your use case here). I can't think of a much smaller change to unblock things.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D116784



More information about the llvm-commits mailing list