)]}'
{
  "commit": "e3db25473735733fd5dc14bfd16fe229ed17d6fb",
  "tree": "e4720ee2d6079e0d5b882d754474876eceaa9234",
  "parents": [
    "51c30abe242e6b411601072da1804b8ee01a5bcc"
  ],
  "author": {
    "name": "Benoit Jacob",
    "email": "benoitjacob@google.com",
    "time": "Wed Jan 17 13:01:11 2024 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jan 17 18:01:11 2024 +0000"
  },
  "message": "Simplify how mmt4d ukernels deal with the K\u003d0 case. (#16137)\n\nThe case of K\u003d0 is vacuous when accumulating, so we just early-return.\r\nThis doesn\u0027t change.\r\n\r\nWhen not accumulating, it amounts to clearing the accumulator. We used\r\nto have dedicated code for that in `mmt4d.c`. That then allowed our\r\nukernels tile-functions to `IREE_UK_ASSUME(K \u003e\u003d 1);`. That makes the asm\r\na little simpler. However, that only really mattered when we thought we\r\nwould be hand-writing that assembly. Now that we\u0027re not, it doesn\u0027t\r\nreally matter, and the slightly smaller tile function code size is\r\noutweighed by the additional code in `mmt4d.c`.\r\n\r\nOverall, this PR drops 40 lines of source code and makes bitcode 2%\r\nsmaller.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2c5222516e9a561fa09d8b31d62f8fc3b588256c",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_arm_64.c",
      "new_id": "cdadc7d852d345fe4cc1f4cdedd810d347fa8d7f",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_arm_64.c"
    },
    {
      "type": "modify",
      "old_id": "4425ec577436d031d80d15a04e5acdb1a4e6e214",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_arm_64_bf16.c",
      "new_id": "242550069ade1954a0b675c1d471cba6fd44e6bd",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_arm_64_bf16.c"
    },
    {
      "type": "modify",
      "old_id": "dce52005f502c8391ea5586221c4e328ecdc38b5",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_arm_64_dotprod.c",
      "new_id": "8bf713ce2f12e4406c8e9b64c03a806338667841",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_arm_64_dotprod.c"
    },
    {
      "type": "modify",
      "old_id": "919613b0b2dccdf0d65bb51124c51e3c5575c853",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_arm_64_fp16fml.c",
      "new_id": "0b574e4cbeb448a35cc7ce71ad01f377122fbf90",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_arm_64_fp16fml.c"
    },
    {
      "type": "modify",
      "old_id": "6d1660d8f5801752bf57ee304dc02b40ae7ddd9f",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_arm_64_fullfp16.c",
      "new_id": "e869d78ad0818055eb7438ab7fa1e21adb3f75e0",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_arm_64_fullfp16.c"
    },
    {
      "type": "modify",
      "old_id": "97c6a52539809dd5540aab88213465ba15399b59",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_arm_64_i8mm.c",
      "new_id": "49f41160c838efe32646cb5bb8661bae745a544a",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/arm_64/mmt4d_arm_64_i8mm.c"
    },
    {
      "type": "modify",
      "old_id": "5389c821b5e157887dbd98a2d480df6951f2e80a",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/arch/x86_64/mmt4d_x86_64_avx512_vnni.c",
      "new_id": "ffd38c75a0c45fb9156d43e2532dca24f4906994",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/arch/x86_64/mmt4d_x86_64_avx512_vnni.c"
    },
    {
      "type": "modify",
      "old_id": "450c5465c4fe070c0cb1348797db648b3534cd91",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/common.h",
      "new_id": "21f03421d8a7bf08812591545f1ec938ac0bc5f3",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/common.h"
    },
    {
      "type": "modify",
      "old_id": "e775ca1265145154b9a1fc656afd57b9545868f3",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/builtins/ukernel/mmt4d.c",
      "new_id": "e5820856ecd2d740474379c19b0ab7305c01019f",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/builtins/ukernel/mmt4d.c"
    }
  ]
}
