)]}'
{
  "commit": "c76e2800e3d78fa6e8618431a6893f66f2fd3496",
  "tree": "cff744bc4d83de96eafe29059c1a7aababcbac37",
  "parents": [
    "63eb00483fe97bbf6b7f26d1827b777518544e8f"
  ],
  "author": {
    "name": "Ivan Ho",
    "email": "ihkh2@cam.ac.uk",
    "time": "Sun May 25 15:42:30 2025 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sun May 25 16:42:30 2025 +0200"
  },
  "message": "[MLIR][IRDL] Added IRDL to C++ Translation (#141248)\n\nThis PR introduces a new tool, mlir-irdl-to-cpp, that converts IRDL to\nC++ definitions.\n\nThe C++ definitions allow use of the IRDL-defined dialect in MLIR C++\ninfrastructure, enabling the use of conversion patterns with IRDL\ndialects for example. This PR also adds CMake utilities to easily\nintegrate the IRDL dialects into MLIR projects.\n\nNote that most IRDL features are not supported. In general, we are only\nable to define simple types and operations.\n\n- The only type constraint supported is irdl.any.\n- Variadic operands and results are not supported.\n- Verifiers for the IRDL constraints are not generated.\n- Attributes are not supported.\n\n---------\n\nCo-authored-by: Théo Degioanni \u003ctheo.degioanni.llvm.deluge062@simplelogin.fr\u003e\nCo-authored-by: Fehr Mathieu \u003cmathieu.fehr@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "daedc2be22588462738e58613e6bfc8a9e2c7670",
      "old_mode": 33188,
      "old_path": "mlir/CMakeLists.txt",
      "new_id": "44493b75b8a8ca639076b34eefe5b8edcf079580",
      "new_mode": 33188,
      "new_path": "mlir/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "96c27044c4e8d8ce5825a5653e4da1bd2a4facbf",
      "old_mode": 33188,
      "old_path": "mlir/cmake/modules/CMakeLists.txt",
      "new_id": "47349f0c7eb621aa4b42202fef8c906c09b723d9",
      "new_mode": 33188,
      "new_path": "mlir/cmake/modules/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8470ccdf551661ebf358f369bccd7fe60f0ec0da",
      "new_mode": 33188,
      "new_path": "mlir/cmake/modules/IRDLToCpp.cmake"
    },
    {
      "type": "modify",
      "old_id": "c695b5787af6685d11b76ef598f010cd3f9a100c",
      "old_mode": 33188,
      "old_path": "mlir/cmake/modules/MLIRConfig.cmake.in",
      "new_id": "71f3e028b1e88812d61b92be03a8847250d3772d",
      "new_mode": 33188,
      "new_path": "mlir/cmake/modules/MLIRConfig.cmake.in"
    },
    {
      "type": "modify",
      "old_id": "78b24ecd207735ace696f4fd977b9608c3768d79",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td",
      "new_id": "4a83eb62fba32a844e26f33b572b80a6d07921cd",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td"
    },
    {
      "type": "modify",
      "old_id": "3de3e02ff3f816155f6d4bf21b66845330372a7b",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/InitAllTranslations.h",
      "new_id": "1ab80fb27fa9a7e25d904fd70451eb3d5ccf277e",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/InitAllTranslations.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "940ce5632cb41a7f8ecbc36817582dbe24558919",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Target/IRDLToCpp/IRDLToCpp.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "430c519570862ebc6cef035b7fab7db80496a4d4",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/Target/IRDLToCpp/TranslationRegistration.h"
    },
    {
      "type": "modify",
      "old_id": "c0778d478619a0f694b577ba49366821e34a16a8",
      "old_mode": 33188,
      "old_path": "mlir/lib/Dialect/IRDL/IR/IRDL.cpp",
      "new_id": "bcc9f0b109ac2d5e7ed9cb19a2e28e4e0a94ea3f",
      "new_mode": 33188,
      "new_path": "mlir/lib/Dialect/IRDL/IR/IRDL.cpp"
    },
    {
      "type": "modify",
      "old_id": "f14ec49b5a0c296dd49a4f9ea007444da1fa77aa",
      "old_mode": 33188,
      "old_path": "mlir/lib/Target/CMakeLists.txt",
      "new_id": "6eb0abc214d383ca0bc18f7f8984ed2670e1fbf7",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "731f3fea374519e32de416b78f0af67094eb7ec5",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "538ea4f450b297a8f6ae5bb1423d98a4a7f31fbf",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/IRDLToCpp.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e0f85feadd196c367c1e47bbf2291d88593f0dae",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/Templates/DialectDecl.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cd52de11dd6b0aeeba31b80b78dde609113f3457",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/Templates/DialectDef.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c081d6431778a0c108b3301e2204166095dd109a",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/Templates/Header.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9e787b8056a89f1bddbadc93036c909dcb5f0f3e",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/Templates/PerOperationDecl.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "88f19d0f22ca4302441bfab93ab0c25918135ae9",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/Templates/PerOperationDef.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "201a550a29ef07f9f6b77d06f25112c6ccf55f91",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/Templates/TypeDecl.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aaca4430507fb2f6449ee86ff8a92e68036f1130",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/Templates/TypeDef.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "878bbdb7d3bd2af28792baa5f994ea3b160d7dfb",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDecl.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "be5ba2f390fce53970295b0f3fd631de265034ae",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/Templates/TypeHeaderDef.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "aeb3c09543213f1239ddc883e695e7d52e23fec0",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/TemplatingUtils.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2a991662738ba395af57cb38f3d10e9454fc8f96",
      "new_mode": 33188,
      "new_path": "mlir/lib/Target/IRDLToCpp/TranslationRegistration.cpp"
    },
    {
      "type": "modify",
      "old_id": "1e66161b800dfea5343ba3e3e08c16872be0c7db",
      "old_mode": 33188,
      "old_path": "mlir/test/Dialect/IRDL/invalid.irdl.mlir",
      "new_id": "8a7fffe1a9cbd90059ba145d43754ab9700fe118",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/IRDL/invalid.irdl.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e2d2be52fc3db1b70e59e3c7cbaf74322d3aa3b8",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/IRDL/invalid_names.irdl.mlir"
    },
    {
      "type": "modify",
      "old_id": "7c2efc6c96e418b13b0f91f41b441b7c166240c3",
      "old_mode": 33188,
      "old_path": "mlir/test/Dialect/IRDL/regions-ops.irdl.mlir",
      "new_id": "e5f884c99e5f4b994e2b97d1726ee74ee6a0740d",
      "new_mode": 33188,
      "new_path": "mlir/test/Dialect/IRDL/regions-ops.irdl.mlir"
    },
    {
      "type": "modify",
      "old_id": "a8fd70e6397a524c90803c0cfbd9de7360291d9d",
      "old_mode": 33188,
      "old_path": "mlir/test/lib/Dialect/CMakeLists.txt",
      "new_id": "2a3b2dce360b09cc25834c46b70cb342f628af60",
      "new_mode": 33188,
      "new_path": "mlir/test/lib/Dialect/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "98a4bd3058a2ae20bb48ea574369ec867de99b73",
      "new_mode": 33188,
      "new_path": "mlir/test/lib/Dialect/TestIRDLToCpp/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bda614a97ab42afa6d8332582a36a50d7f89825a",
      "new_mode": 33188,
      "new_path": "mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5d2e3d7b4cd4855d36c3be86daed577dffd04618",
      "new_mode": 33188,
      "new_path": "mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "30f27934857a59103cd334a00b264c92d80b137b",
      "new_mode": 33188,
      "new_path": "mlir/test/lib/Dialect/TestIRDLToCpp/test.testd.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f6233ee18190a1821b33b4b2a1496d53dd92db18",
      "new_mode": 33188,
      "new_path": "mlir/test/lib/Dialect/TestIRDLToCpp/test_conversion.testd.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "42e713e0adecdc8401a9c3c82608ebfc52797d2e",
      "new_mode": 33188,
      "new_path": "mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp.irdl.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "403b49235467c77c95ec01f9c070291ad63a90e3",
      "new_mode": 33188,
      "new_path": "mlir/test/lib/Dialect/TestIRDLToCpp/test_irdl_to_cpp_invalid_unsupported_types.irdl.mlir"
    },
    {
      "type": "modify",
      "old_id": "913b9b1b759e2121499ec4a50bf690ae757edc4d",
      "old_mode": 33188,
      "old_path": "mlir/test/tblgen-to-irdl/TestDialect.td",
      "new_id": "4ab1750e30fb4d6f9b890988a72a387cd4b546d0",
      "new_mode": 33188,
      "new_path": "mlir/test/tblgen-to-irdl/TestDialect.td"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3a0f77d856b4406dedce0478534d6847b90a0e16",
      "new_mode": 33188,
      "new_path": "mlir/tools/mlir-irdl-to-cpp/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a63b289ffaea2e2e6825482eece254ec85f0781c",
      "new_mode": 33188,
      "new_path": "mlir/tools/mlir-irdl-to-cpp/mlir-irdl-to-cpp.cpp"
    },
    {
      "type": "modify",
      "old_id": "3220dca282eac21cb348d6c92ac8585b2ccfc93c",
      "old_mode": 33188,
      "old_path": "mlir/tools/mlir-opt/CMakeLists.txt",
      "new_id": "67fea55d141c03605150a5dd9bf0277478cde36f",
      "new_mode": 33188,
      "new_path": "mlir/tools/mlir-opt/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "cdcf59b2add13327d3159fada43101017bbd91c1",
      "old_mode": 33188,
      "old_path": "mlir/tools/mlir-opt/mlir-opt.cpp",
      "new_id": "b51da0e0383d67cea2b749ca3d0c04009f40d026",
      "new_mode": 33188,
      "new_path": "mlir/tools/mlir-opt/mlir-opt.cpp"
    }
  ]
}
