)]}'
{
  "commit": "eeb6e80d4ade331a4271f92ea776a7afcbdc9ecb",
  "tree": "e58f68bf9b5ef86ba3c0308d81032c324389728f",
  "parents": [
    "dd89a32697a12143e79ecd80b18c52bcc95a5238"
  ],
  "author": {
    "name": "MaheshRavishankar",
    "email": "1663364+MaheshRavishankar@users.noreply.github.com",
    "time": "Wed Aug 09 11:47:54 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Aug 09 11:47:54 2023 -0700"
  },
  "message": "Add a preprocessing pass to move entire function into a single dispatch. (#14578)\n\nFor cases where the model is very small and does not have much concurrency, it is better to move the entire function body into a single dispatch. Eventually the default heuristics can probably figure out when a model is \"too small\", but for now this PR adds a pass to move the entire function body into a single dispatch to use as a way to find codegen issues such an approach throws up, and also to experiment with different heuristics needed to find such dispatches automatically.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "78d4e3b15765ca326f6882489cc13301ab77faa7",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/IR/FlowOps.cpp",
      "new_id": "c1a295f360e69e135d3e53a5571b9ed93d7e31ee",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/IR/FlowOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "8affac2ab52ea51aba69fd2a1b73e3fa47878561",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/IR/FlowOps.td",
      "new_id": "e2a233552386143866de5a34cfc3b11f3f08b718",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/IR/FlowOps.td"
    },
    {
      "type": "modify",
      "old_id": "0c99de0fc6bc01a958578daf3d8d0e8c5246d576",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/CaptureDispatchDynamicDims.cpp",
      "new_id": "614a3917e922632bed68b88b2b7c5c2500aaef9c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/CaptureDispatchDynamicDims.cpp"
    },
    {
      "type": "modify",
      "old_id": "601f640b630dbc419e9824e89933ab1782ec846c",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/ConvertRegionToWorkgroups.cpp",
      "new_id": "802b6efc82e8415946231ad831b5971f9b270f8b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/ConvertRegionToWorkgroups.cpp"
    },
    {
      "type": "modify",
      "old_id": "5a6396f2f1c3f6a8b4e88012381a3471963df5b1",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/FormDispatchWorkgroups.cpp",
      "new_id": "d5cd0fa1a3a7e4f9bd696fb3abd76eeb3884804c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/FormDispatchWorkgroups.cpp"
    },
    {
      "type": "modify",
      "old_id": "60884733ca108624ff2740e43823abf05803e14c",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/OutlineDispatchRegions.cpp",
      "new_id": "f15114e95f8a899bcf12322bbb410b921fff98a2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/OutlineDispatchRegions.cpp"
    },
    {
      "type": "modify",
      "old_id": "01fe2cc5d44d6522c403061417b90efff7f1dbf0",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/test/form_dispatch_workgroups.mlir",
      "new_id": "85f263b6fc86090b761a24d1cfb0a9208764a726",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/test/form_dispatch_workgroups.mlir"
    },
    {
      "type": "modify",
      "old_id": "c7a6702625978b4dec8f30c0c30a178d242898e3",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Preprocessing/Common/BUILD.bazel",
      "new_id": "dfd3178ef3ab2e83959b7e586c9bb50697ffc5d9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "b0ec7b59573f0115af8fe60b6dbcad7720c412f5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Preprocessing/Common/CMakeLists.txt",
      "new_id": "7f59a88e098703885af000a6f7ca2ad3bdfa5da1",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b452302a65f0ba453f45e9f02a75edf64d05ff85",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/MakeSingleDispatchForFunction.cpp"
    },
    {
      "type": "modify",
      "old_id": "bd5d07b78f8d78d9717483442f341ec4e0aaa0a6",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Preprocessing/Common/Passes.h",
      "new_id": "c9835a9bcf9f4d8ea57dc4680f717042da1db099",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/Passes.h"
    },
    {
      "type": "modify",
      "old_id": "e063ef7573d00fe257493b5bc98dbd12ab1969bb",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Preprocessing/Common/Passes.td",
      "new_id": "9c887815862c265bc4b8dd14d2d65c8e4c4cfa79",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/Passes.td"
    },
    {
      "type": "modify",
      "old_id": "9dd501c6bb0e8045648e12abfafbda53ef6bd0e8",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Preprocessing/Common/test/BUILD.bazel",
      "new_id": "37d77d728ab06525fd0bd9e80b815533d2d6a50c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/test/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "a754aeaa755a755f5b73c608cd518ec74ad9f27c",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Preprocessing/Common/test/CMakeLists.txt",
      "new_id": "0cca180114ccf5572174be19478bd0d93f96c9cf",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8b8a1553a380e4441b91b807639fe05fe28897ac",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Preprocessing/Common/test/make_single_dispatch_for_function.mlir"
    },
    {
      "type": "modify",
      "old_id": "bd18c9ca7a22d09a9040ef13513f8ffbcc6e543d",
      "old_mode": 33188,
      "old_path": "tests/e2e/regression/BUILD.bazel",
      "new_id": "11fd2368e2231748e6cad8df3e49f9c81aad4ee8",
      "new_mode": 33188,
      "new_path": "tests/e2e/regression/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "7f506a21071d5b4df046e97e68a02c875c6180bd",
      "old_mode": 33188,
      "old_path": "tests/e2e/regression/CMakeLists.txt",
      "new_id": "cb6b2d155a103a9e6f86521dbd820348ff1cbedc",
      "new_mode": 33188,
      "new_path": "tests/e2e/regression/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8876d95109d88dc99e113096fa9671cc0a2799e6",
      "new_mode": 33188,
      "new_path": "tests/e2e/regression/force_single_dispatch.mlir"
    }
  ]
}
