[PATCH] D107529: [llvm-profgen] Fix bug of loop scope mismatch

Lei Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 4 21:41:01 PDT 2021


wlei added inline comments.


================
Comment at: llvm/tools/llvm-profgen/ProfileGenerator.cpp:523
   extractProbesFromRange(RangeCounter, ProbeCounter, Binary);
   std::unordered_map<MCDecodedPseudoProbeInlineTree *, FunctionSamples *>
       FrameSamples;
----------------
wlei wrote:
> hoy wrote:
> > wlei wrote:
> > > I'm wondering here if `FunctionSamples *` should be `Vector<FunctionSamples *>` as same frame can point to different  FunctionSamples?
> > An inline context under a given calling context should uniquely identify an inline frame, therefore can only point to one leaf profile. Am I missing anything?
> Sorry I meant `std::set<FunctionSamples *>`.
> 
> I'm thinking the multiple probes cases from different call stack and they have the same leaf probe. like
> [Probe1, Probe3] and [Probe1, Probe2]
> 
> Here Probe1 will have two `FunctionSamples`.
> 
> 
Oh. Here in `populateBodySamplesWithProbes` has already guaranteed to have unique call stack, so no multiple probe cases. Sorry for the confusing.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D107529



More information about the llvm-commits mailing list