================ @@ -158,15 +164,35 @@ template <> struct MappingTraits<bolt::BinaryBasicBlockProfile> { std::vector<bolt::CallSiteInfo>()); YamlIO.mapOptional("succ", BBP.Successors, std::vector<bolt::SuccessorInfo>()); - YamlIO.mapOptional("pseudo_probes", BBP.PseudoProbes, + YamlIO.mapOptional("probes", BBP.PseudoProbes, std::vector<bolt::PseudoProbeInfo>()); } }; +namespace bolt { +struct InlineTreeInfo { + uint32_t ParentIndexDelta; + uint32_t CallSiteProbe; + // Index in PseudoProbeDesc.GUID + 1, 0 for same as previous + uint32_t GUIDIndex; ---------------- aaupov wrote:
If you mean using `std::optional`, I don't think so. However we can distinguish `0` from "same as previous" and avoid `idx+1` by using a different default value (e.g. UINT32_MAX) for same as previous. 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