)]}'
{
  "commit": "c54764e8dffa9e02c03ba28f28ccbdbc3504fd2b",
  "tree": "77b6ee13b86b2dde57c5c8caed224c7ccdee44f0",
  "parents": [
    "5ed90416b82523b26d0d8fdc9919a25a30ea5fad"
  ],
  "author": {
    "name": "Quinn Dawkins",
    "email": "quinn.dawkins@gmail.com",
    "time": "Fri Dec 12 09:24:56 2025 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Dec 12 12:24:56 2025 -0500"
  },
  "message": "[Codegen] Add PCF dialect (#22804)\n\nThis introduces a new dialect for \"Parallel Control Flow\" (named a la\nscf). This is motivated by expressivity gaps in the current constructs\nwe use to represent distributed compute for the next set of algorithms\nwe\u0027re working towards supporting in the compiler. To name a few:\n - Stream-K\n - Warp/Clustered reductions\n - Named Barriers\n - Improved robustness of fusion support\n - Persistent-ish kernels (things that need to communicate across wkgps)\n\nNaturally the base added here does not directly cover all of the above\nbut should make it much easier to do so. The core idea behind the\ndialect hinges on three concepts:\n1. Shaped references of unspecified layout and memspace\n2. Execution scopes which threads are forked out of\n3. Synchronization scopes which control access to associated memory\n\nThe dialect includes further documentation behind the above 3 points.\n\nThe initial proposal can be found here:\nhttps://hackmd.io/iHdqgU7MQnSvX6H_y_6JrQ (Much of the\nnaming/representation has changed since this writeup)",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2b5d92c29b77b56df1774f5580d198d553b0a642",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/BUILD.bazel",
      "new_id": "ca01b33d56742489f2d9d9e4f1e8f8357ad31432",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "ca40ac2c913a4a2bbc3f94ca5ae0893085a3e456",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/CMakeLists.txt",
      "new_id": "1fac2285b89b36d02505596f4b7fdcd9cfba7183",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "2c0e0c911f462a6e58937b16a4d78dd42b68de18",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/CommonDialectRegistration.cpp",
      "new_id": "a5876d77e427578aa1609028c534775f0333a9ab",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/CommonDialectRegistration.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5e68f0007984a7240c0e32e44e91acb1889d3c14",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9edd8d2461aaf7cb5d443877ca8befdc630103bc",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8078de7c450d748b3c2e3b22840c429d174f0b3",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bc6b58f313051b1b474974f41e52534396ee7b5d",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8c6237245d62c1dd6b7005066335a3f7d37a16f8",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCF.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "660c0836e7cb41450eeff956c683de4196dec781",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFAttrs.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d7dc2f5ae801630c8c84e5788649ad9d11aae0ca",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFAttrs.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "245030681a4a2d05578e556bd2066dea70b32a38",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFBase.td"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c0b9b8b074a756b694dc8a1dab477f96e1153295",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFDialect.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3bce3385b8580256c0ffbfb58e8b212565ae391e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFDialect.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9be637914f73f976d42fc69bdbcd331c5507b273",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFInterfaces.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f18cedc450156a241001b8592c289a81638a01bd",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFInterfaces.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ba91e1aa0dfe4cad22158a92881a857881a298fb",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFInterfaces.td"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a03c52f667cf2136f4003b4ae0cdc5216c8791bc",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFOps.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "930c9965c7caaf2c2fdc9887deb7de0f1d33a22e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFOps.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "38abfb594a7cabd3f4adefa6d26746d1d3df66d8",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFOps.td"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "16a9ff3b5e30638cf336b093a14c4a61b8145c28",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFTypes.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "33c434dfe0259542c12c96b663e980be5b6114fa",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/PCFTypes.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7fa829131cde10919b2dd96602dc673545272145",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/test/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4fab54a909318c96fb9f04dd7869afe131f5cd96",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f294b894394184ef2d2a25f256075962eac34373",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/test/control_flow_ops.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "40c61c09db4b5ffdaf78e53348930eee972b9ce0",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/test/folders.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "97443b0191ca95c27895d8c738c307d7f7ed0e23",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/test/invalid.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b9757d8b2041d5cbb9736f6b9254f4ccd37c6b7d",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/test/types.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8429420b34fd29f486a72ac59b150e69b43ed305",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/PCF/IR/test/write_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "0b45bcc075c4f02c9b8eb6654b212708209c240b",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Tools/BUILD.bazel",
      "new_id": "8a3c6ce521df8b2337bf110d2f84da778c1fd329",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Tools/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "9f8f3b76721738a53d9ab43a7867d5dca9797d8d",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Tools/CMakeLists.txt",
      "new_id": "0acbd366a3c98d51d0537bb5f69a781b5c3aec6e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Tools/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "ab27c77b6d487f54f0d0b6749558ee1c51339f5f",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Tools/init_iree_dialects.h",
      "new_id": "c47ae6cb436812903362888886200a05ac8cb241",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Tools/init_iree_dialects.h"
    },
    {
      "type": "modify",
      "old_id": "40cdefc23874de9ef39db8d26e422ff7e1ff647d",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Utils/CommonTypeConstraints.td",
      "new_id": "7c96968fd0168dcce07584abce6277fde6d7ed20",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Utils/CommonTypeConstraints.td"
    }
  ]
}
