[PATCH] D91756: [CSSPGO] Pseudo probes for function calls.

Wei Mi via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 2 11:46:29 PST 2020


wmi accepted this revision.
wmi added a comment.
This revision is now accepted and ready to land.

In D91756#2427795 <https://reviews.llvm.org/D91756#2427795>, @hoy wrote:

> In D91756#2427759 <https://reviews.llvm.org/D91756#2427759>, @wmi wrote:
>
>> Another question. Sorry for not bringing it up earlier. When a call with probe metadata attached is inlined, the probe will be gone or it will be kept somehow? I think you want to keep the probe especially for inline instance to reconstruct the context but I didn't figure it out how you did that from the description.
>
> No problem. Sorry for not clarifying it in the description. When a callee is inlined, the probe metadata will go with the inlined instructions. The `!dbg` metadata of an inlined instruction is in form of a scope stack. The top of the stack is the instruction's original `!dbg` metadata and the bottom of the stack is the for the original callsite of the top-level inliner. Except for the top of the stack, all other elements of the stack actually refer to the nested inlined callsites whose discriminator fields (which actually represents a calliste probe) can be used to represent the inline context of an inlined `PseudoProbeInst` or a `CallInst`. I'll update the description.

I see. Thanks for the explanation.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D91756



More information about the cfe-commits mailing list