)]}'
{
  "commit": "c261bb76499e3b6f9cd1b589410531a44dd29834",
  "tree": "403c56f54da484cf17b5ae07c4b563c5babfe9ee",
  "parents": [
    "77e2e3f64158939316ca576c4178663bc9dfee1b"
  ],
  "author": {
    "name": "Kazu Hirata",
    "email": "kazu@google.com",
    "time": "Mon Jun 02 07:59:34 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jun 02 07:59:34 2025 -0700"
  },
  "message": "[memprof] Deduplicate alloc site matches (#142334)\n\nWith:\n\n  commit 2425626d803002027cbf71c39df80cb7b56db0fb\n  Author: Kazu Hirata \u003ckazu@google.com\u003e\n  Date:   Sun Jun 1 08:09:58 2025 -0700\n\nwe print out a lot of duplicate alloc site matches.\n\nThis patch partially reverts the patch above.  The core idea of using\na map to deduplicate entries remains the same, but details are\ndifferent.  Specifically:\n\n- This PR uses the [FullStackID, MatchLength] as the key, where\n  MatchLength is the length of an alloc site match.\n\n- AllocMatchInfo in this PR no longer has Matched because we always\n  report matches.\n\n- AllocMatchInfo in this PR no longer has NumFramesMatched because it\n  has become part of the key.\n\nThis deduplication roughly halves the amount of messages printed out.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a64dfc02f6bf3fae10e43b5529f1a76847cc4b34",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Instrumentation/MemProfiler.cpp",
      "new_id": "e06add7cf313bf4eda0aee5f906bd66244051486",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Instrumentation/MemProfiler.cpp"
    },
    {
      "type": "modify",
      "old_id": "e48da36a6d97cc556c874db184c1b4704b14f021",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/PGOProfile/memprof.ll",
      "new_id": "c69d0311e038890ad51f486bf89b9b0f7fa6baaa",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/PGOProfile/memprof.ll"
    }
  ]
}
