================ @@ -100,8 +101,15 @@ class MCDecodedPseudoProbe; using InlineSite = std::tuple<uint64_t, uint32_t>; using MCPseudoProbeInlineStack = SmallVector<InlineSite, 8>; // GUID to PseudoProbeFuncDesc map -using GUIDProbeFunctionMap = - std::unordered_map<uint64_t, MCPseudoProbeFuncDesc>; +class GUIDProbeFunctionMap : public std::vector<MCPseudoProbeFuncDesc> { +public: + auto find(uint64_t GUID) const { + return llvm::lower_bound( + *this, GUID, [](const MCPseudoProbeFuncDesc &Desc, uint64_t GUID) { + return Desc.FuncGUID < GUID; ---------------- wlei-llvm wrote:
This is similar to the previous PR. we need to make sure return `end()` when GUID doesn't exist. (this case did happen before https://github.com/llvm/llvm-project/issues/98127) https://github.com/llvm/llvm-project/pull/102905 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits