)]}'
{
  "commit": "0b705b2b79431b27a359e8dcfb721e33594816fe",
  "tree": "3bbbaa6a36620744ff7acc9f910ca62337bcb9e3",
  "parents": [
    "cb4e752a6dcb9700d86f715d9682dd8a47d61376"
  ],
  "author": {
    "name": "Daniel Thornburgh",
    "email": "dthorn@google.com",
    "time": "Wed May 06 14:10:51 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed May 06 21:10:51 2026 +0000"
  },
  "message": "Reland \"[LTO][LLD] Prevent invalid LTO libfunc transforms (#164916)\" (#196177)\n\nThis reverts commit 24154a55d698a98e7b6d2aae1778b79f15ce5b09.\n\nThe issue that lead to this being reverted was subtle, but entirely\ndownstream. Note that by making LTO DCE more conservative, this patch\nmay uncover latent undefined references caused by build system issues.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c47c7baf4d4b05b10d2819c6e4fcf48f8201af15",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/BackendUtil.cpp",
      "new_id": "a46a25c4492f213aaac55106cea900ed130c565c",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/BackendUtil.cpp"
    },
    {
      "type": "modify",
      "old_id": "0c29e7f670550fe7dbc14b48b7aa13803a3daf1f",
      "old_mode": 33188,
      "old_path": "lld/COFF/InputFiles.cpp",
      "new_id": "3821c9366c56ab595de58d25411716ff46f4cb79",
      "new_mode": 33188,
      "new_path": "lld/COFF/InputFiles.cpp"
    },
    {
      "type": "modify",
      "old_id": "2d38a13830dad3c57a3b02acfa83bcf8148fe171",
      "old_mode": 33188,
      "old_path": "lld/COFF/LTO.cpp",
      "new_id": "445ea52e995da6c99546d7c3926adebc476ec764",
      "new_mode": 33188,
      "new_path": "lld/COFF/LTO.cpp"
    },
    {
      "type": "modify",
      "old_id": "6826251b5ffa79c669d8da8718624a305e53b530",
      "old_mode": 33188,
      "old_path": "lld/COFF/LTO.h",
      "new_id": "73e855e567b099b2ad05d2fbc257aeab7df550d1",
      "new_mode": 33188,
      "new_path": "lld/COFF/LTO.h"
    },
    {
      "type": "modify",
      "old_id": "4d4e57591c0f1581737798a274e2eafd5704db36",
      "old_mode": 33188,
      "old_path": "lld/COFF/SymbolTable.cpp",
      "new_id": "df540be800e41912dd304435499be19328a84cb8",
      "new_mode": 33188,
      "new_path": "lld/COFF/SymbolTable.cpp"
    },
    {
      "type": "modify",
      "old_id": "ce8eb25a0d5da197ecb5d72dd8bdc689bda3e290",
      "old_mode": 33188,
      "old_path": "lld/ELF/Driver.cpp",
      "new_id": "10141c201083be81d01af4cb0dd46caa86a63899",
      "new_mode": 33188,
      "new_path": "lld/ELF/Driver.cpp"
    },
    {
      "type": "modify",
      "old_id": "352848af1551da48904f87f0a684c4dc781187f5",
      "old_mode": 33188,
      "old_path": "lld/ELF/LTO.cpp",
      "new_id": "7b0fe2001439eda9db2ecf69eab14d30e96c72e0",
      "new_mode": 33188,
      "new_path": "lld/ELF/LTO.cpp"
    },
    {
      "type": "modify",
      "old_id": "acf3bcff7f2f103a1ec4fb9bb299bfe2444e77a6",
      "old_mode": 33188,
      "old_path": "lld/ELF/LTO.h",
      "new_id": "c8cb2156d90ca95164f7f9c23dca9f2409da5f5b",
      "new_mode": 33188,
      "new_path": "lld/ELF/LTO.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bd172f1ff395522c3ba134d8633754a9c0bddc5e",
      "new_mode": 33188,
      "new_path": "lld/test/COFF/lto-libcall-archive-bitcode.test"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "00726a2e6aeb5f00120be9df338bfa48fc174696",
      "new_mode": 33188,
      "new_path": "lld/test/ELF/lto/libcall-archive-bitcode.test"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3b640efc1091f785af6bfdee85903b5ece96df4d",
      "new_mode": 33188,
      "new_path": "lld/test/wasm/lto/libcall-archive-bitcode.ll"
    },
    {
      "type": "modify",
      "old_id": "9fcb95b84b5458a0659742ab709f9efd688bca09",
      "old_mode": 33188,
      "old_path": "lld/wasm/LTO.cpp",
      "new_id": "2c068bf5189052c7b5a717db2023a717e128f6eb",
      "new_mode": 33188,
      "new_path": "lld/wasm/LTO.cpp"
    },
    {
      "type": "modify",
      "old_id": "21b1d59024663bf3ed66d730d50a3eb13c2f7b6c",
      "old_mode": 33188,
      "old_path": "lld/wasm/LTO.h",
      "new_id": "6fa110d6099bfbda0ef9b91ac1e89fd223d0baad",
      "new_mode": 33188,
      "new_path": "lld/wasm/LTO.h"
    },
    {
      "type": "modify",
      "old_id": "05e653ea23eda2271cc782d0f8ebb799b5ebae8a",
      "old_mode": 33188,
      "old_path": "lld/wasm/SymbolTable.cpp",
      "new_id": "93d3e5f71a3e5558dccd53ee52699256558338e5",
      "new_mode": 33188,
      "new_path": "lld/wasm/SymbolTable.cpp"
    },
    {
      "type": "modify",
      "old_id": "330fdec377d156007873b696c41fec443b524684",
      "old_mode": 33188,
      "old_path": "llvm/docs/ReleaseNotes.md",
      "new_id": "56580b9ecc93d9f8a913d655bee856689dc5cbf1",
      "new_mode": 33188,
      "new_path": "llvm/docs/ReleaseNotes.md"
    },
    {
      "type": "modify",
      "old_id": "3fec06b8bd78db5d0188c8706d518bc1af5d0ff0",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/LTO/LTO.h",
      "new_id": "aba2661e81c4773925ef7d3e25f9dd1e653df01a",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/LTO/LTO.h"
    },
    {
      "type": "modify",
      "old_id": "48ad5aa64f61f42d8c0e4eaba560e8ac17ffcc5c",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/LTO/LTOBackend.h",
      "new_id": "4bb38529ec75400cfbe4fbb8732e3eb2c6bd4c37",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/LTO/LTOBackend.h"
    },
    {
      "type": "modify",
      "old_id": "1a6976eea8088a22cc04a29fdcac89343baf18a5",
      "old_mode": 33188,
      "old_path": "llvm/lib/LTO/LTO.cpp",
      "new_id": "95faf3484c4565a2a993e5617739c0bad4d91f79",
      "new_mode": 33188,
      "new_path": "llvm/lib/LTO/LTO.cpp"
    },
    {
      "type": "modify",
      "old_id": "7ee2557a68bd57c076098f422f7713ea078833d5",
      "old_mode": 33188,
      "old_path": "llvm/lib/LTO/LTOBackend.cpp",
      "new_id": "16a42e526eb8aa60d53b0cab08d6ba3d0d14df67",
      "new_mode": 33188,
      "new_path": "llvm/lib/LTO/LTOBackend.cpp"
    },
    {
      "type": "modify",
      "old_id": "321826618bc69afd4f3eecb44d6deaebc095ed4d",
      "old_mode": 33188,
      "old_path": "llvm/lib/LTO/LTOCodeGenerator.cpp",
      "new_id": "15d2929ec2162f69a84b7575c4175a46411bc41d",
      "new_mode": 33188,
      "new_path": "llvm/lib/LTO/LTOCodeGenerator.cpp"
    },
    {
      "type": "modify",
      "old_id": "41d83a591a37b518df20a984825476f379697388",
      "old_mode": 33188,
      "old_path": "llvm/lib/LTO/ThinLTOCodeGenerator.cpp",
      "new_id": "4bedd610ea8b2d24494d57b7490361bf14b7bb6a",
      "new_mode": 33188,
      "new_path": "llvm/lib/LTO/ThinLTOCodeGenerator.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "46756b387668c6e4182694fde696c76b77bd1467",
      "new_mode": 33188,
      "new_path": "llvm/test/LTO/Resolution/X86/libcall-external.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fe8e492580d42f72a58620cfa1e6f27afc4e1615",
      "new_mode": 33188,
      "new_path": "llvm/test/LTO/Resolution/X86/libcall-in-thin-link.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cddf5d30697d0eed7676b616e6fa10b3cc32e4d8",
      "new_mode": 33188,
      "new_path": "llvm/test/LTO/Resolution/X86/libcall-in-tu.ll"
    },
    {
      "type": "modify",
      "old_id": "8c676251cb391ad12054e8b9af8054f5834882f2",
      "old_mode": 33188,
      "old_path": "llvm/tools/llvm-lto2/llvm-lto2.cpp",
      "new_id": "839324e3968509ff14c21ca6c4e253fd090cb30f",
      "new_mode": 33188,
      "new_path": "llvm/tools/llvm-lto2/llvm-lto2.cpp"
    }
  ]
}
