)]}'
{
  "commit": "41c0b19d878f2bb9b2c0a4ccb08f81da992e4fef",
  "tree": "8dc60b8ba5332c0e821b7286f4a05508f4ef511e",
  "parents": [
    "413153581af02d413b597470f0b87ee3342bde55"
  ],
  "author": {
    "name": "Razvan Lupusoru",
    "email": "razvan.lupusoru@gmail.com",
    "time": "Tue Mar 10 12:17:41 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Mar 10 12:17:41 2026 -0700"
  },
  "message": "[mlir][acc] Add ACCComputeLowering pass (#185501)\n\nIntroduce a pass that lowers OpenACC compute constructs to a\nrepresentation that separates the data environment from the compute body\nand prepares for parallelism assignment and privatization at the right\ngranularity.\n\n- Decompose acc.parallel, acc.serial, and acc.kernels into\nacc.kernel_environment and acc.compute_region. Launch arguments\n(num_gangs, num_workers, vector_length) are turned into acc.par_width\nand passed as compute_region launch operands.\n- Convert acc.loop to SCF based on context: unstructured loops to\nscf.execute_region; sequential (serial or seq) to scf.parallel with\npar_dims\u003dsequential; auto loops to scf.for (with collapse when\nmulti-dimensional); orphan loops to scf.for; independent loops in\nparallel/kernels to scf.parallel with par_dims from the GPU mapping.\n\n---------\n\nCo-authored-by: Scott Manley \u003crscottmanley@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fe5b42807236fbbeab4537565dc217a8448979b0",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/OpenACC/OpenACC.h",
      "new_id": "55fc8251a9bbdd9aa6ab03791d5cc3f1db41a40b",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/OpenACC/OpenACC.h"
    },
    {
      "type": "modify",
      "old_id": "ebb0e6132fee3e0ddbcd695e49699185d991a639",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td",
      "new_id": "f6ae871eb99363f092d85bdb176ecd8160d40a81",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td"
    },
    {
      "type": "modify",
      "old_id": "aac3bf7ed67c8ae84aa42fb8c3bc8e92d8182380",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h",
      "new_id": "dd3d34b8252d35cba982693f31cfdaadbce7bb91",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h"
    },
    {
      "type": "modify",
      "old_id": "7bead720b10774f1da2f565092f862b63767cf0c",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h",
      "new_id": "5a0d70c53beceabc30c3cf925570d512bf4edd5a",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h"
    },
    {
      "type": "modify",
      "old_id": "67ae2d1ede04e4d01d066c5cb413185245a6303f",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsLoop.h",
      "new_id": "e0428bec620ca9a862d00dfd08abac62bdf0e6bb",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsLoop.h"
    },
    {
      "type": "modify",
      "old_id": "8e008462552543da60a05e4acf5d8c94f24bc4e6",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td",
      "new_id": "9ab99208f83c79a39ddd01d39cedb508e0571974",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td"
    },
    {
      "type": "modify",
      "old_id": "e77a955ef3045e100de4a8c70978300b6a22fd34",
      "old_mode": 33188,
      "old_path": "mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp",
      "new_id": "d57c65694da611d42267a860ae41d7a4b9c7d237",
      "new_mode": 33188,
      "new_path": "mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "db504afafc2242385affa7ac63e13efba7e67294",
      "new_mode": 33188,
      "new_path": "mlir/lib/Dialect/OpenACC/Transforms/ACCComputeLowering.cpp"
    },
    {
      "type": "modify",
      "old_id": "3d85fd805ace1e1ea05bf82c9d6d0661a2a56433",
      "old_mode": 33188,
      "old_path": "mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt",
      "new_id": "1bb16b4b9642d01dc92f93b64b02b79841366b39",
      "new_mode": 33188,
      "new_path": "mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "911f256a3d2a690046cd2a42eb74594a9cee3685",
      "old_mode": 33188,
      "old_path": "mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp",
      "new_id": "1c63760a6984bb9dcc2cb32a1c72ccb5f22b66c5",
      "new_mode": 33188,
      "new_path": "mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "5c5c453f2cae097f820fd8ef2febbf6f3ca86693",
      "old_mode": 33188,
      "old_path": "mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp",
      "new_id": "f5e0e5c33fee4f64da321f085794b0f9297b5e24",
      "new_mode": 33188,
      "new_path": "mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "77c4ba94c4f18bc6e2c236d158ad6e274250a0af",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/OpenACC/acc-compute-lowering-compute.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bd2f006396c6e4e345541542aaf6bf82bcf72a9c",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/OpenACC/acc-compute-lowering-loop.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f22d7872ecc3247bd9406a43e4e43911cd4cd78d",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/OpenACC/acc-compute-lowering-unstructured.mlir"
    },
    {
      "type": "modify",
      "old_id": "b2d5409f495f5ad4bebdc1dce6df13ea8fbfac43",
      "old_mode": 33188,
      "old_path": "mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp",
      "new_id": "671fa6c5560ebc421176585d54986aab795a7d9b",
      "new_mode": 33188,
      "new_path": "mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp"
    }
  ]
}
