[PATCH] D100235: [CSSPGO][llvm-profgen] Fixing an obselete iterator issue.

Hongtao Yu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 9 15:43:37 PDT 2021


hoy created this revision.
Herald added subscribers: wenlei, arphaman.
hoy requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Pseudo probes are stored in `Address2ProbesMap` and their pointers are used in `PseudoProbeInlineTree`. Previously `std::vector` was used to store probes and the pointers to probes may get obselete as the vector grows. I'm changing `std::vector` to `std::list` instead.

This was discovered when I was debugging the pseudo probe decorder, though the obselete pointers were not used anywhere. They could be used to visit all probes that are associated to an inline frame, which is something else I'll be working on.

Another issue being fixed is that all outlined functions shared the same inline frame previously due to the unchanged `Index` value as the dummy inlineSite identifier.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D100235

Files:
  llvm/include/llvm/MC/MCPseudoProbe.h
  llvm/test/Transforms/SampleProfile/pseudo-probe-slotindex.s
  llvm/tools/llvm-profgen/PseudoProbe.cpp
  llvm/tools/llvm-profgen/PseudoProbe.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D100235.336573.patch
Type: text/x-patch
Size: 5465 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210409/a06dec00/attachment.bin>


More information about the llvm-commits mailing list