)]}'
{
  "commit": "acddd0c2542f79ea681cf5cea8364eccfdcfe137",
  "tree": "af8ea1739631ee800a66859b74a281fd1bd4274e",
  "parents": [
    "d7f97bac19721a133545ba4bc237857fb639ca2e"
  ],
  "author": {
    "name": "Ben Vanik",
    "email": "ben.vanik@gmail.com",
    "time": "Mon Oct 16 14:59:05 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Oct 16 17:59:05 2023 -0400"
  },
  "message": "Adding hal.dispatch.extern op. (#15193)\n\nThis is an inline dispatch op on tensors that can be inserted in source\r\nprograms to fully specify an externally derived dispatch region.\r\nImprovements were made for external executables in flow/stream/hal.\r\n\r\nThere\u0027s a decent amount of cruft on these paths that\u0027ll need to be\r\ncleaned up; particularly MaterializeInterfaces has long been in need of\r\na reworking (likely decomposing with the assistance of a new op or two)\r\nand it\u0027s not great that flow now has handling of a HAL pseudo-op. The\r\nstream convert HAL-\u003estream which handles hal.tensor.import/export would\r\nbe a better place but executable deduplication happens in flow today and\r\nwe need inlined dispatches like this to deduplicate. I toyed with also\r\nhaving a DeduplicateExecutables in stream but decided against it for\r\ntoday.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8cd88bbd00d1bc8a43e41b7200b33cfed7923d98",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/SPIRV/ConvertToSPIRVPass.cpp",
      "new_id": "83de13f17dfb2a4a036cb4fd4262fde33d2f54ba",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/SPIRV/ConvertToSPIRVPass.cpp"
    },
    {
      "type": "modify",
      "old_id": "cd2876eb25e8291a9c69bb19ec9659921711d48e",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/IR/FlowOps.cpp",
      "new_id": "0fc10cfe5b59c4c6afdc959fd44d5d8c77c9c2f4",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/IR/FlowOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "f9e76a811b55bfe1c8957e2612621d94f7f5248a",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/IR/FlowOps.td",
      "new_id": "c15da61ddf19b4a5156da1766304ea4170b6d6ab",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/IR/FlowOps.td"
    },
    {
      "type": "modify",
      "old_id": "1d5d4e61e6b3e5f965788090865713d66e0386c3",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/AnnotateDispatches.cpp",
      "new_id": "30e32aad8ee26f98fea55d79af31863532b2c68b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/AnnotateDispatches.cpp"
    },
    {
      "type": "modify",
      "old_id": "b741e577159cad1d4bd96dcc89317def7a09d005",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/DumpDispatchGraph.cpp",
      "new_id": "1603d1584b3134ba0880d77d8c7a7c2c34ba509b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/DumpDispatchGraph.cpp"
    },
    {
      "type": "modify",
      "old_id": "f90df6aa4884ab540b0fdcef268d0e008507b371",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/OutlineDispatchRegions.cpp",
      "new_id": "c8d097a135966c93bd7c3d622781e78be6ef17e6",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/OutlineDispatchRegions.cpp"
    },
    {
      "type": "modify",
      "old_id": "2500b4388bdb749436e42ffd4f58bd3b3a8a20a5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/Passes.cpp",
      "new_id": "803e3697bea282c07161706e3a857d2a2e32f512",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/Passes.cpp"
    },
    {
      "type": "modify",
      "old_id": "669271f00ce834fda3948a51db3f639374e6d6bd",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/test/annotate_dispatches.mlir",
      "new_id": "ec6e497a5f315f1478384cbe8324c772f307cfbc",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/test/annotate_dispatches.mlir"
    },
    {
      "type": "modify",
      "old_id": "446268544e81ef75ceca8cdfc774207e910da401",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/test/outline_dispatch_regions.mlir",
      "new_id": "56f05a5ffc76107907df2e5b61414bcafbdd7310",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/test/outline_dispatch_regions.mlir"
    },
    {
      "type": "modify",
      "old_id": "7ee324257250b26fbff6ddb00d56cd2124e26d82",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/Analysis/BindingLayout.cpp",
      "new_id": "f906675325827467a0fd26781a843728710ef124",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/Analysis/BindingLayout.cpp"
    },
    {
      "type": "modify",
      "old_id": "986356ffca2c401a7dc779a22e329448d1954c88",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALBase.td",
      "new_id": "5f5a8787621cb3237abbc338ad85b7ff4497f07b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALBase.td"
    },
    {
      "type": "modify",
      "old_id": "11cbbae88cc3420753147a63aeb4eba8b792b540",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALOps.cpp",
      "new_id": "2a07681fd5ad7a14c78d8acb7b262fa8e1a590d5",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "8e849dde8951c76cc0c9b903fca6829e72c460ea",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALOps.td",
      "new_id": "bc58f6fa25554baade505cd36c0c0f2c5ebb6a84",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALOps.td"
    },
    {
      "type": "modify",
      "old_id": "04e0c2df476cd8f483cd4993da2e577d11593fe7",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALTypes.h",
      "new_id": "665625e88044649e3fbcf83bed9ade743f7172d3",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALTypes.h"
    },
    {
      "type": "modify",
      "old_id": "13d238c03ffcbea01fc49791d875856a0c87c9ff",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/test/tensor_ops.mlir",
      "new_id": "86b81c971679a4ee31b9c469dcd7cfd87b8057e2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/test/tensor_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "90a6f45b358dba10e529fda4355d6425ff9ab811",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/Target/LLVMCPU/LLVMCPUTarget.cpp",
      "new_id": "7b2e4813cccb8b775aa1f0be8bc8a68eddb7632f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/Target/LLVMCPU/LLVMCPUTarget.cpp"
    },
    {
      "type": "modify",
      "old_id": "97c63a4e4ff7a25370b75208c18d515f56b1b3b3",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeInterfaces.cpp",
      "new_id": "63cf4b711a2bc443648ce271a8d6b9bb5a67897c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/Transforms/MaterializeInterfaces.cpp"
    },
    {
      "type": "modify",
      "old_id": "0ed49554618596d6a51d799c3692e95619e45dac",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Conversion/FlowToStream/Patterns.cpp",
      "new_id": "297eba646a33f4fa4ca5433e7629cdc64adb0079",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Conversion/FlowToStream/Patterns.cpp"
    },
    {
      "type": "modify",
      "old_id": "e80095ebbbb7f8815799f1a40340ce88f3e4e0c2",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Conversion/FlowToStream/test/executable_ops.mlir",
      "new_id": "36305db3b905e75cf69c5714d8a0b0ac5c970ffa",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Conversion/FlowToStream/test/executable_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "f7d30afe4964368a2574a00caa6a1abca5dc1f57",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/IR/StreamOps.cpp",
      "new_id": "8d6db3798f69ffb0e211f66ffe013fcf499d942c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/IR/StreamOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "d49ad4a02c4b495320a2334958d94e7d7d317df5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/IR/StreamOps.td",
      "new_id": "7f3ed5ba0ec9560eb8685e87ac6c7aff7f732fc3",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/IR/StreamOps.td"
    },
    {
      "type": "modify",
      "old_id": "3d9a8597479c43f091e6da4bd5f64da5ddbfae38",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/AnnotateDispatchArguments.cpp",
      "new_id": "2e5d5a9331f8d9c7f5f0218ccfceb9963b369268",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/AnnotateDispatchArguments.cpp"
    },
    {
      "type": "modify",
      "old_id": "365f847fa3b69160f2de06b5a6581ab5abaf4adc",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/FoldUniformOperands.cpp",
      "new_id": "b799352d01b8b7261d75a7800e761780941e1e78",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/FoldUniformOperands.cpp"
    },
    {
      "type": "modify",
      "old_id": "667abd72f73e1aee8f8fc88af8ae27072ad4f5be",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/FuseDispatchBindings.cpp",
      "new_id": "f00e05686bd3768dd5e55194dd416ddda1d65b3e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/FuseDispatchBindings.cpp"
    },
    {
      "type": "modify",
      "old_id": "e83aa084278b1bf5f8123729bb84eda5c4757753",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/PackDispatchOperands.cpp",
      "new_id": "baa6f659657a0445b50aea5609ac0afd9263a3bf",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/PackDispatchOperands.cpp"
    },
    {
      "type": "modify",
      "old_id": "502441513d30094a190a678cae36531ae5525c8d",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/test/annotate_dispatch_arguments.mlir",
      "new_id": "c43d679e59e07c842bde02cf397cc80fe435d796",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/test/annotate_dispatch_arguments.mlir"
    },
    {
      "type": "modify",
      "old_id": "43191643d38023e5d85de2b02334ff71570e8179",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Util/IR/UtilTraits.h",
      "new_id": "07aa445e76c455ed26e0da319274cd92a374dcb0",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Util/IR/UtilTraits.h"
    },
    {
      "type": "modify",
      "old_id": "7cbaae0f0b026359ace7ca8f0b672baec4370343",
      "old_mode": 33188,
      "old_path": "samples/custom_dispatch/vulkan/shaders/CMakeLists.txt",
      "new_id": "ce15498a25ba095a87c3fed7746adb6ce903d118",
      "new_mode": 33188,
      "new_path": "samples/custom_dispatch/vulkan/shaders/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b213bd384b363adbc4de0ad9930c2470a347656a",
      "new_mode": 33188,
      "new_path": "samples/custom_dispatch/vulkan/shaders/example_inline.mlir"
    }
  ]
}
