)]}'
{
  "commit": "78cf86150e5a716b149046dcbab555ff7684a0a4",
  "tree": "23da135946c3df25d506f417c7c96deb900216b9",
  "parents": [
    "b0310a4156345aa84d758284b8e43e55f31d8bd2"
  ],
  "author": {
    "name": "Andrey Tuganov",
    "email": "andreyt@google.com",
    "time": "Wed Aug 02 16:47:25 2017 -0400"
  },
  "committer": {
    "name": "David Neto",
    "email": "dneto@google.com",
    "time": "Thu Aug 10 18:44:52 2017 -0400"
  },
  "message": "Add id descriptor feature to SPIR-V\n\nId descriptors are computed as a recursive hash of all instructions used\nto define an id. Descriptors are invarint of actual id values and\nthe similar code in different files would produce the same descriptors.\n\nMultiple ids can have the same descriptor. For example\n%1 \u003d OpConstant %u32 1\n%2 \u003d OpConstant %u32 1\nwould produce two ids with the same descriptor. But\n%3 \u003d OpConstant %s32 1\n%4 \u003d OpConstant %u32 2\nwould have descriptors different from %1 and %2.\n\nDescriptors will be used as handles of move-to-front sequences in SPIR-V\ncompression.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6ea6ad26039031d11bfc71c5ea15f0d1054283c6",
      "old_mode": 33188,
      "old_path": "source/CMakeLists.txt",
      "new_id": "44bb9731a88a10c6f8bcd67b77cb411aa0cdbbdb",
      "new_mode": 33188,
      "new_path": "source/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d2c6220b2faff8187be395fbbd4316a6ccb4dcaa",
      "new_mode": 33188,
      "new_path": "source/id_descriptor.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b4947a78f3b2fc54e8e2430f13e6eb2aee9f14f5",
      "new_mode": 33188,
      "new_path": "source/id_descriptor.h"
    },
    {
      "type": "modify",
      "old_id": "0c628d5d6d4e91b03a0beee653bb3c45011d4c10",
      "old_mode": 33188,
      "old_path": "source/spirv_stats.cpp",
      "new_id": "34cab6d5b2c0ee44c94ebfefc0973a4c52d76119",
      "new_mode": 33188,
      "new_path": "source/spirv_stats.cpp"
    },
    {
      "type": "modify",
      "old_id": "4b169514e35858e1f96b652fdac981fb9c8bb6fe",
      "old_mode": 33188,
      "old_path": "source/spirv_stats.h",
      "new_id": "541dd036152c3f385005726079eef9f8d6191368",
      "new_mode": 33188,
      "new_path": "source/spirv_stats.h"
    },
    {
      "type": "modify",
      "old_id": "43026e802f446b88d4c8b167ad6c7e386a5cbc85",
      "old_mode": 33188,
      "old_path": "test/stats/stats_aggregate_test.cpp",
      "new_id": "6ea38923c1317596e72a141a07500df232cab2c8",
      "new_mode": 33188,
      "new_path": "test/stats/stats_aggregate_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "6e6878d33ea5ec1290d285aee1c90f63f354ac27",
      "old_mode": 33188,
      "old_path": "tools/stats/stats.cpp",
      "new_id": "3eea98215cf0a19d9cc96ba725a5d628be21b16f",
      "new_mode": 33188,
      "new_path": "tools/stats/stats.cpp"
    },
    {
      "type": "modify",
      "old_id": "e196e49ab55b5578bd4e4ca2910847abb4710d3f",
      "old_mode": 33188,
      "old_path": "tools/stats/stats_analyzer.cpp",
      "new_id": "3f2e7ec0e98e6fd4212bbe2dfcafbcdeb80becef",
      "new_mode": 33188,
      "new_path": "tools/stats/stats_analyzer.cpp"
    },
    {
      "type": "modify",
      "old_id": "54e2c3d8db59de90cf7dc409f1edbe64cab82b90",
      "old_mode": 33188,
      "old_path": "tools/stats/stats_analyzer.h",
      "new_id": "6cff20a09d3bb5cb01cbb3eeea394a4c993c2ced",
      "new_mode": 33188,
      "new_path": "tools/stats/stats_analyzer.h"
    }
  ]
}
