[PseudoProbe] Encode/Decode FS discriminator
authorHongtao Yu <hoy@fb.com>
Wed, 5 Apr 2023 18:35:17 +0000 (11:35 -0700)
committerHongtao Yu <hoy@fb.com>
Wed, 10 May 2023 18:27:54 +0000 (11:27 -0700)
commit9849291dccee91001dbd0473943f6958413c74af
tree2ef2869b2ea3abfc84f24e35e34117af22de96f4
parent9272d0f07932d3b6804360cd6f3e754a07df4fb2
[PseudoProbe] Encode/Decode FS discriminator

Encoding FS discriminators for block probes. Decoding them correspondingly.

The encoding/decoding of FS discriminators are conditional, only for probes with a non-zero discriminator. This saves encoding size, also ensures downwards-compatiblity.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D147651
llvm/include/llvm/IR/PseudoProbe.h
llvm/include/llvm/MC/MCPseudoProbe.h
llvm/include/llvm/MC/MCStreamer.h
llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.cpp
llvm/lib/MC/MCAsmStreamer.cpp
llvm/lib/MC/MCParser/AsmParser.cpp
llvm/lib/MC/MCPseudoProbe.cpp
llvm/lib/MC/MCStreamer.cpp
llvm/test/tools/llvm-profgen/Inputs/fs-discriminator-probe.perfbin [new file with mode: 0755]
llvm/test/tools/llvm-profgen/pseudoprobe-decoding-discriminator.test [new file with mode: 0644]