)]}'
{
  "commit": "fe7d4ab49dc603058d026cc5a929969410febaa2",
  "tree": "d9604ff1330294554438b03d019ac4e88fdf20dc",
  "parents": [
    "d59bf937fca81a571f8f42625e21286856dd055c"
  ],
  "author": {
    "name": "Teresa Johnson",
    "email": "tejohnson@google.com",
    "time": "Thu Aug 11 12:56:40 2016 +0000"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Oct 08 02:38:32 2020 -0700"
  },
  "message": "Resolution-based LTO API.\n\nSummary:\nThis introduces a resolution-based LTO API. The main advantage of this API over\nexisting APIs is that it allows the linker to supply a resolution for each\nsymbol in each object, rather than the combined object as a whole. This will\nbecome increasingly important for use cases such as ThinLTO which require us\nto process symbol resolutions in a more complicated way than just adjusting\nlinkage.\n\nPatch by Peter Collingbourne.\n\nReviewers: rafael, tejohnson, mehdi_amini\n\nSubscribers: lhames, tejohnson, mehdi_amini, llvm-commits\n\nDifferential Revision: https://reviews.llvm.org/D20268\n\nAddress review comments\n\nllvm-svn: 278330\nGitOrigin-RevId: f99573b3ee6009494d431348ec92dcab7b6a218b\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b28cf0d3244967982292160cb339d9aea3c26b49",
      "new_mode": 33188,
      "new_path": "include/llvm/LTO/Config.h"
    },
    {
      "type": "modify",
      "old_id": "5154c0007aaa5df79f79acfdfb4a1e8420af4b78",
      "old_mode": 33188,
      "old_path": "include/llvm/LTO/LTO.h",
      "new_id": "548edd88754b0e6db53377a8a6edcfd6897dfe2a",
      "new_mode": 33188,
      "new_path": "include/llvm/LTO/LTO.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fd7d063c81d0157f35de9835782f03b652271d4e",
      "new_mode": 33188,
      "new_path": "include/llvm/LTO/LTOBackend.h"
    },
    {
      "type": "modify",
      "old_id": "2007ef21a614c4392a0a8705b2786010acff1f4a",
      "old_mode": 33188,
      "old_path": "lib/LTO/CMakeLists.txt",
      "new_id": "c5e34fb0b3af2dff4f6497c99d014053afc9512f",
      "new_mode": 33188,
      "new_path": "lib/LTO/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "cf0158c8b10e517bd0ee7fced5166c253aa6dcbb",
      "old_mode": 33188,
      "old_path": "lib/LTO/LLVMBuild.txt",
      "new_id": "f6bcaf558bc61feedd67dceccad599110232adb9",
      "new_mode": 33188,
      "new_path": "lib/LTO/LLVMBuild.txt"
    },
    {
      "type": "modify",
      "old_id": "10226c4a3ff6454556adf25f3088280ef63c8390",
      "old_mode": 33188,
      "old_path": "lib/LTO/LTO.cpp",
      "new_id": "f4be9b4205b8ab580852a967ad83f6420ce352dd",
      "new_mode": 33188,
      "new_path": "lib/LTO/LTO.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2a5e97dc686df812077019910f2890cbecd3b5f2",
      "new_mode": 33188,
      "new_path": "lib/LTO/LTOBackend.cpp"
    },
    {
      "type": "modify",
      "old_id": "42c8ecd62da82932bae5041e047c812541cfcf35",
      "old_mode": 33188,
      "old_path": "lib/Object/IRObjectFile.cpp",
      "new_id": "f86576f3d69e83a3951d8d65505c3562d0552830",
      "new_mode": 33188,
      "new_path": "lib/Object/IRObjectFile.cpp"
    },
    {
      "type": "modify",
      "old_id": "e5773bda0e714265e3a30900cea2b47a4e5c9e91",
      "old_mode": 33188,
      "old_path": "test/CMakeLists.txt",
      "new_id": "56fff69bad33f5146e11d26679fac1d4c5438499",
      "new_mode": 33188,
      "new_path": "test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "01c9987fd3f9d8450ef702ed47a923aed185a8cd",
      "new_mode": 33188,
      "new_path": "test/LTO/Resolution/X86/Inputs/alias-1.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ca4bbb4bf81efd68c7830276b2f06d47300b1561",
      "new_mode": 33188,
      "new_path": "test/LTO/Resolution/X86/Inputs/comdat.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bd3fcb381b385460ba0c576476718e6189ae315a",
      "new_mode": 33188,
      "new_path": "test/LTO/Resolution/X86/alias.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "29bdcc325f3cb0d2a6cbe07e748e10897b3db2d1",
      "new_mode": 33188,
      "new_path": "test/LTO/Resolution/X86/comdat.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "afde89be896d46f65bc90ca8828802c63affec39",
      "new_mode": 33188,
      "new_path": "test/LTO/Resolution/X86/lit.local.cfg"
    },
    {
      "type": "modify",
      "old_id": "f9f82d16833dea80ea80879e7925356d8eb6ecc5",
      "old_mode": 33188,
      "old_path": "test/lit.cfg",
      "new_id": "12676372b07f001d1d2c128e1669a044d6f91fc2",
      "new_mode": 33188,
      "new_path": "test/lit.cfg"
    },
    {
      "type": "modify",
      "old_id": "7ab80707ba1bff7b9f9a4dad1615ab316dc19f10",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/coff.ll",
      "new_id": "70d4f91615919b24ce0e67d0dc55dd6fb008a3e2",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/coff.ll"
    },
    {
      "type": "modify",
      "old_id": "b5a09d8329c1189dee94f248c369d67738aab46c",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/comdat.ll",
      "new_id": "2170bf89d0c295fbd01ef7eed9ca0bebad53f663",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/comdat.ll"
    },
    {
      "type": "modify",
      "old_id": "335f6e9a88a13f09ea106f793d2efac46696fff9",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/common.ll",
      "new_id": "d0c5f1873e07daf792a6981c7c7955b7b8f29a34",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/common.ll"
    },
    {
      "type": "modify",
      "old_id": "0a955088c4047190f968103688e533a0c7ba1c54",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/emit-llvm.ll",
      "new_id": "da59c707ea682e99c9207b20cc50aeea262d5886",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/emit-llvm.ll"
    },
    {
      "type": "modify",
      "old_id": "a3cd844a14218d0b55ef6e53990656d80b491acd",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/opt-level.ll",
      "new_id": "a680a169836434da35ba7761ecdbffd0522891ff",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/opt-level.ll"
    },
    {
      "type": "modify",
      "old_id": "57d13768cd42e2d9823dfae41feb98ead95cc24e",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/parallel.ll",
      "new_id": "4b078fa211168b9a92aaf3be62176cacd84e3ae0",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/parallel.ll"
    },
    {
      "type": "modify",
      "old_id": "30950b2d2de87562c87a51319dddabb68e87443c",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/slp-vectorize.ll",
      "new_id": "3464359afbf5e8e3eba9409056578958d9f8e53a",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/slp-vectorize.ll"
    },
    {
      "type": "modify",
      "old_id": "89bdbef223432ddce4cd0369f10913b3b35701a6",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/start-lib-common.ll",
      "new_id": "7c8945585a57e50ef9ab42a866db1d0a25f9350b",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/start-lib-common.ll"
    },
    {
      "type": "modify",
      "old_id": "495eac9d54164626b10a36f8a969f6ba515b67d2",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/strip_names.ll",
      "new_id": "c196f25703dbf3adeab42f82460d786e30a11da2",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/strip_names.ll"
    },
    {
      "type": "modify",
      "old_id": "09bf21d4a82c7a3671b9b4bb059dda9afc1039ba",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/thinlto.ll",
      "new_id": "9b0d96db47c2ac07ca33a8728d7a65afac282fb2",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/thinlto.ll"
    },
    {
      "type": "modify",
      "old_id": "f91c9bd2808efba18f7ac74c0dd5b89a1f2b72f6",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/thinlto_alias.ll",
      "new_id": "33c888daf1706f83e21c48c5c799779a8b03702b",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/thinlto_alias.ll"
    },
    {
      "type": "modify",
      "old_id": "4d626ee0d60266a0747c1347a8ee2bd78c1461a3",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/thinlto_internalize.ll",
      "new_id": "8d0033c1f98e5946c753f7b4d810e3b2b20cf714",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/thinlto_internalize.ll"
    },
    {
      "type": "modify",
      "old_id": "1d2bb230860a3b4a347ee1fbcf6917e04807c319",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/thinlto_linkonceresolution.ll",
      "new_id": "810b2dd7b2d089b369543969bd4b08ec658a047e",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/thinlto_linkonceresolution.ll"
    },
    {
      "type": "modify",
      "old_id": "a6c6f37895b107279ecc6a1ed9107a813b6a1dec",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/thinlto_weak_resolution.ll",
      "new_id": "afa6fd07bae0c80a12d6b38c58fe1f839782f39d",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/thinlto_weak_resolution.ll"
    },
    {
      "type": "modify",
      "old_id": "449fd2165036d744c616dde57259b8bfbfe14b9c",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/type-merge2.ll",
      "new_id": "c66ba22cf08337ada333bd4da9e0689449506dc2",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/type-merge2.ll"
    },
    {
      "type": "modify",
      "old_id": "5f003dd02e215aae6023fcfe9561f7252192a406",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/vectorize.ll",
      "new_id": "9b5c97259b2b482812911329ae69fef1cb5d2a23",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/vectorize.ll"
    },
    {
      "type": "modify",
      "old_id": "9af8788889d8915a27567f8c923879f6651b3c9b",
      "old_mode": 33188,
      "old_path": "test/tools/gold/X86/visibility.ll",
      "new_id": "f7e085a45fce781087449900d6d6f584bb5105b8",
      "new_mode": 33188,
      "new_path": "test/tools/gold/X86/visibility.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cd2394dc0121626c64c8e5ab866cbc912cb7a3e9",
      "new_mode": 33188,
      "new_path": "test/tools/llvm-lto2/errors.ll"
    },
    {
      "type": "modify",
      "old_id": "c8b02e6fa14b44ca8377c9b44df9ef5319d4edc8",
      "old_mode": 33188,
      "old_path": "tools/gold/gold-plugin.cpp",
      "new_id": "eb7f7aa8d05bed75ecffd76b62018a6537275211",
      "new_mode": 33188,
      "new_path": "tools/gold/gold-plugin.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9dde2f3f3d558d78118b456b0b8bcd3357538393",
      "new_mode": 33188,
      "new_path": "tools/llvm-lto2/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "37f8c172c2fe7e0cba7f94d0c8c7f2b5e4e586c3",
      "new_mode": 33188,
      "new_path": "tools/llvm-lto2/LLVMBuild.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6eadfb1351dd1125d9f0c59e78e687c7775c1621",
      "new_mode": 33188,
      "new_path": "tools/llvm-lto2/llvm-lto2.cpp"
    }
  ]
}
