)]}'
{
  "commit": "2380a08ca40ef15d8e3406d9bcc53a799f283758",
  "tree": "96ae3240a3fc35693cc943eaad3922f87c4ef33d",
  "parents": [
    "8b8342596bb399f0c699e980d87b17875905d66e"
  ],
  "author": {
    "name": "Max191",
    "email": "44243577+Max191@users.noreply.github.com",
    "time": "Fri Jul 19 11:00:32 2024 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jul 19 14:00:32 2024 -0400"
  },
  "message": "[Codegen] Do not consider parallel regions in bufferization analysis (#17757)\n\nWhen there is a buffer used inside of an `scf.forall` op that is defined\r\noutside of the `scf.forall`, bufferization will unconditionally\r\nbufferize out of place by default in order to avoid race conditions.\r\nHowever, handling parallel accesses to a buffer should generally be the\r\nresponsibility of the source program, and if there is a race condition,\r\nthen it should be handled outside of bufferization. This PR disables the\r\nparallel region check in IREE to simplify the bufferization analysis and\r\nenable more buffer reuse.\r\n\r\nIt is possible that this PR could cause race conditions if data races\r\nare not handled properly, and we are relying too much on bufferization\r\nto be conservative. Turning this option off could be a good early step\r\nin diagnosing data races on GPU.\r\n\r\n---------\r\n\r\nSigned-off-by: Max Dawkins \u003cmax.dawkins@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "97a28212ccbb879f29667bbbbdd035d8c4e2ba15",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/IREEComprehensiveBufferizePass.cpp",
      "new_id": "9b46b845e9354e17d0266d862fcb9b21c479dc5a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/IREEComprehensiveBufferizePass.cpp"
    }
  ]
}
