[PATCH] D91756: [CSSPGO] Pseudo probes for function calls.
Wei Mi via Phabricator via llvm-commits
llvm-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 llvm-commits
mailing list