)]}'
{
  "commit": "c9a8e15494c84730a2a8c0713281b3c8aa5b67c4",
  "tree": "792a597304c195ce6c8c1d0947167404e5201cd0",
  "parents": [
    "36a19c5bfe2f808365b8ccdacd4c6f2bb25fc3ef"
  ],
  "author": {
    "name": "xur-llvm",
    "email": "59886942+xur-llvm@users.noreply.github.com",
    "time": "Thu Jul 24 09:55:28 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jul 24 09:55:28 2025 -0700"
  },
  "message": "[ICP] Add a few tunings to indirect-call-promotion  (#149892)\n\n[ICP] Add a few tunings to indirect-call-promtion\n\nIndirect-call promotion (ICP) has been adjusted with the following\ntunings:\n(1) Candidate functions can be now ICP\u0027d even if only a declaration is\n     present.\n(2) All non-cold candidate functions are now considered by ICP.\n      Previously, only hot targets were considered.\n(3) If one target cannot be ICP\u0027d, proceed with the remaining targets\n     instead of exiting the callsite.\n    \nThis update hides all tunings under internal options and disables them\nby default. They\u0027ll be enabled in a later update. There\u0027ll also be\nanother update to address the \"not found\" issue with indirect targets.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e8d4e37a4eb7ec87dfa2437427a271d3c5f6fa34",
      "old_mode": 33188,
      "old_path": "llvm/lib/Analysis/ProfileSummaryInfo.cpp",
      "new_id": "f1c3155f2f141d427354f755358f3033e234665f",
      "new_mode": 33188,
      "new_path": "llvm/lib/Analysis/ProfileSummaryInfo.cpp"
    },
    {
      "type": "modify",
      "old_id": "854db0ff6864cc959b00e2cb7e145e7c3be2ee56",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp",
      "new_id": "f451c2b471aa650371c58f00b91e9d265a469095",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp"
    },
    {
      "type": "modify",
      "old_id": "dbc532ee52828436b1c860508b2ce6e1b4688210",
      "old_mode": 33188,
      "old_path": "llvm/test/ThinLTO/X86/memprof-icp.ll",
      "new_id": "3a68cd89e0b16b3f2e010f4b37d2380f32f10fb4",
      "new_mode": 33188,
      "new_path": "llvm/test/ThinLTO/X86/memprof-icp.ll"
    },
    {
      "type": "modify",
      "old_id": "a81fb364a6f7a6d5cd7165497a06280d7c33a8ee",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/PGOProfile/icp_mismatch_msg.ll",
      "new_id": "3ea196aec3086cb8262005f1ed4e1fbdb4e0245a",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/PGOProfile/icp_mismatch_msg.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3dfc9269b8409d7953d10afc9f40d7c0052e5c82",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/PGOProfile/indirect_call_promotion2.ll"
    }
  ]
}
