================ @@ -95,24 +95,30 @@ template <> struct MappingTraits<bolt::SuccessorInfo> { namespace bolt { struct PseudoProbeInfo { - llvm::yaml::Hex64 GUID; - uint64_t Index; - uint8_t Type; + uint32_t InlineTreeIndex = 0; + uint64_t BlockMask = 0; // bitset with probe indices + // Assume BlockMask == 1 if no other probes are set + std::vector<uint64_t> BlockProbes; + std::vector<uint64_t> CallProbes; + std::vector<uint64_t> IndCallProbes; + std::vector<uint32_t> InlineTreeNodes; bool operator==(const PseudoProbeInfo &Other) const { - return GUID == Other.GUID && Index == Other.Index; - } - bool operator!=(const PseudoProbeInfo &Other) const { - return !(*this == Other); + return InlineTreeIndex == Other.InlineTreeIndex && + BlockProbes == Other.BlockProbes && CallProbes == Other.CallProbes && + IndCallProbes == Other.IndCallProbes; } }; } // end namespace bolt template <> struct MappingTraits<bolt::PseudoProbeInfo> { static void mapping(IO &YamlIO, bolt::PseudoProbeInfo &PI) { - YamlIO.mapRequired("guid", PI.GUID); - YamlIO.mapRequired("id", PI.Index); - YamlIO.mapRequired("type", PI.Type); + YamlIO.mapOptional("blk", PI.BlockMask, 0); ---------------- wlei-llvm wrote:
nit: `blk` makes me feel it's the only ID for the block, consider another name? https://github.com/llvm/llvm-project/pull/107137 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits