)]}'
{
  "commit": "d2117d759174cd3e5118debc7f78b3eb9b6631ad",
  "tree": "46aa0742523a2a5f9bba3ced736a774381cb24b2",
  "parents": [
    "08b6af6b773558aaca14f7c8b783eb6d1f3622d0"
  ],
  "author": {
    "name": "Quinn Dawkins",
    "email": "quinn.dawkins@gmail.com",
    "time": "Mon Dec 01 13:30:30 2025 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Dec 01 13:30:30 2025 -0500"
  },
  "message": "[Codegen][GPU] Add fusion barrier after result promotion (#21709)\n\nCurrently result promotion relies on inserting two copies, one to\nworkgroup memory that is supposed to fuse with its producer, and one\nwith `derived_thread_config` that controls the distribution of the\nconsumer. This however has nothing forcing the intended fusion behavior,\nand in all exercised cases today relies on reshapes missing fusion\npatterns.\n\nThis patch introduces a fusion barrier op that sits between the two\ncopies to prevent fusion and gets dropped when bufferizing.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0809e839e2a68b2b5ffeae5890b9bbcd8d9f0863",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUPromoteMatmulOperands.cpp",
      "new_id": "d953725fd6a1211ef87057981d4963e11ba09d1d",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/GPUPromoteMatmulOperands.cpp"
    },
    {
      "type": "modify",
      "old_id": "e74a7ceefd81069386b1a019ade247c52967b709",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/Passes.td",
      "new_id": "87c4402c23e3254d84f7a7414ec529ec230e0d83",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/Passes.td"
    },
    {
      "type": "modify",
      "old_id": "d8b7959c98d47f639f38ea551d612e15e9ff08aa",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_promote_matmul_operands.mlir",
      "new_id": "cb209b3db8600af71ee69f0e00b83efc693bc0a6",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/GPU/test/gpu_promote_matmul_operands.mlir"
    },
    {
      "type": "modify",
      "old_id": "6187a9bd4cd941040c51f5d4471991dbc74380ec",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/IREEComprehensiveBufferizePass.cpp",
      "new_id": "c6acdd001089d8c57ed9e300e997281702b40b26",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/IREEComprehensiveBufferizePass.cpp"
    },
    {
      "type": "modify",
      "old_id": "6f223300ddf61a04b73bbfd3919c13fc90fe464d",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/test/iree_comprehensive_bufferize.mlir",
      "new_id": "fb9d0ef6bdc5de5534c8d954a18831cc15a43b9d",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/test/iree_comprehensive_bufferize.mlir"
    },
    {
      "type": "modify",
      "old_id": "efd692fcef21fd69c9596cc2f25e070e031648b2",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/IREECodegenOps.td",
      "new_id": "1cf2d80cb1cb589876a894be1fb08a6d9c54151f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/IREECodegenOps.td"
    },
    {
      "type": "modify",
      "old_id": "f28f9d8eb2def48e0e254c7fd50b411e1346287b",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/test/roundtrip.mlir",
      "new_id": "b3fca6703578691d9900c6aa743265f9ec13cf3f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/IR/test/roundtrip.mlir"
    }
  ]
}
