)]}'
{
  "commit": "f7c9bc8cf095e8397eecea3a33e77f88cb2f83dc",
  "tree": "3394b0399b1ef7cc718312cdfbe526411db2deda",
  "parents": [
    "ff68838a28422a9a9bf4b871a18c837552d2afa0"
  ],
  "author": {
    "name": "bjacob",
    "email": "benoitjacob@google.com",
    "time": "Mon Oct 31 21:03:08 2022 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Oct 31 21:03:08 2022 +0000"
  },
  "message": "Tightening ukernel common definitions (#10950)\n\n* Complete rewrite of the big comment at the start of ukernel/common.h.\r\nPlease read carefully as I might be saying things that are incorrect.\r\n* Ukernel local types prefixed to disambiguate from standard types, e.g.\r\n`int32_t` --\u003e `iree_ukernel_int32_t`.\r\n* This caught a place in `vmvx/module.c` that now requires an explicit\r\ncast from `unsigned long*` to `unsigned long long*`. I know these are\r\nalways the same 64bit stuff in practice, but it\u0027s worth an explicit\r\ncast.\r\n* Actually no longer including various platform headers in ukernels. In\r\nukernel/common.h, we were including iree/base/attributes.h, which was\r\nincluding target_platform.h, which was including windows.h etc.\r\n* Now ukernels that need a RESTRICT keyword can use\r\nIREE_UKERNEL_RESTRICT, forked from IREE_RESTRICT.\r\n* We can almost, but not quite, simply use `restrict`, since ukernels\r\nare C code. The problem is that C++ code may need to include the\r\ndeclarations. At least, the macro can make it easy to experiment with\r\nwhat\u0027s the impact of restrict. And it leaves the door open to C++\r\nkernels if someone really wants that in the future.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b322d67a4257270261f940a2f8aceb189c794696",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/BUILD",
      "new_id": "6ceb4034a1238c433c71af5605b0c5b10a2061e2",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/BUILD"
    },
    {
      "type": "modify",
      "old_id": "49f437bec8e7cb3bc2d4cb80e697003a8b1864e9",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/CMakeLists.txt",
      "new_id": "c28c6f54aa17dd692776f3500667351cd2d66d60",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "2b033f3cafb3321974988f1a65038452a4b0766e",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_tile_arm_64.S",
      "new_id": "2b5a6da2f2f9138f81574b4575c35e114590900c",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_tile_arm_64.S"
    },
    {
      "type": "modify",
      "old_id": "d1395a62a152ac4b5a6df1d76eda36c77aecb4d9",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_tile_arm_64_dotprod.S",
      "new_id": "ad67d5ba98e86b114391268c1c6fec8cdce47d8b",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_tile_arm_64_dotprod.S"
    },
    {
      "type": "modify",
      "old_id": "427770ea833e1f1bda6aa3f233f8a91f4d436a78",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_tile_arm_64_i8mm.S",
      "new_id": "c412f8113b6b7d6228dc992e1ff4e8768ff93eb8",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_tile_arm_64_i8mm.S"
    },
    {
      "type": "modify",
      "old_id": "cabea96c658be858a79dde4fd2ccbc1902993c3b",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/common.h",
      "new_id": "56bf69dce8618135d019c3a5748e2a67dd0fb17d",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/common.h"
    },
    {
      "type": "modify",
      "old_id": "f4818d344e8202109cccde47e5f0364afa20264e",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/elementwise.h",
      "new_id": "b005b07cd48e5604be87772929aa75b0a61cf5a0",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/elementwise.h"
    },
    {
      "type": "modify",
      "old_id": "896940931a44e7fd3ff602dc2021ca1195eba25c",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/elementwise_generic.c",
      "new_id": "9abfbc8e014d2d2b687a4a3f7f48ed27abf8a61c",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/elementwise_generic.c"
    },
    {
      "type": "modify",
      "old_id": "3f4ee4024dc2c06ab7bd728464308905902aa65c",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/elementwise_impl.c.inc",
      "new_id": "01e5680c64e664169acd6e66c52acfbed37d4836",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/elementwise_impl.c.inc"
    },
    {
      "type": "modify",
      "old_id": "3db7cf584e4f0ac5a2e6212133f5128eecb090d7",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/mmt4d.c",
      "new_id": "17685e19993515ac612ec4a47360b612ed4de137",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/mmt4d.c"
    },
    {
      "type": "modify",
      "old_id": "4ca51d0bc1ff3a02cc7ce9a562b3ccc341cd10ea",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/mmt4d_select_tile_generic.c",
      "new_id": "722469b739aa22ddae52376d6f9e6825168fc6dc",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/mmt4d_select_tile_generic.c"
    },
    {
      "type": "modify",
      "old_id": "6b083fd4195ab25a6d02598a1431006e9c5efc02",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/mmt4d_types.h",
      "new_id": "de65c9dd16ac3fa2b028946335c1a5c8df027005",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/mmt4d_types.h"
    },
    {
      "type": "modify",
      "old_id": "abb15f60ac370071688a767c3da4f0095d636bb7",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/pack.c",
      "new_id": "35ad50621401c9eeac8b5f0039424900b98b22fe",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/pack.c"
    },
    {
      "type": "modify",
      "old_id": "5295b342902b0d4932e1304f66a98056c2508aa0",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/pack_types.h",
      "new_id": "f25bf1d98479bf7cab2279967a31c2d8675fa172",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/pack_types.h"
    },
    {
      "type": "modify",
      "old_id": "68b29912e8ac0eccff304af5c50d29ba0582f68e",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/tools/mmt4d_benchmark.c",
      "new_id": "dd15a887d36b0ff96bdd2634f5828f9d3503ef28",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/tools/mmt4d_benchmark.c"
    },
    {
      "type": "modify",
      "old_id": "695fcd52f4ed29db789d77f0afeb18e48fd87b63",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/tools/mmt4d_test.cc",
      "new_id": "5b2fd76d6ba2bf83db6047359caf02b60f0e4c55",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/tools/mmt4d_test.cc"
    },
    {
      "type": "modify",
      "old_id": "878b9969d2fb675a9cf6a3550896d69b4b4a9ec5",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/tools/mmt4d_test_utils.cc",
      "new_id": "2982685e2040227e25cd304a00909035c0240061",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/tools/mmt4d_test_utils.cc"
    },
    {
      "type": "modify",
      "old_id": "057665239da80d35a14638484509d3422b4add92",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/modules/vmvx/module.c",
      "new_id": "5fa7ba741aff23f1d62f42986e5b74aa2d28315f",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/modules/vmvx/module.c"
    }
  ]
}
