)]}'
{
  "commit": "e67e980cd077de77bb1683f4a9ad948f13ad4289",
  "tree": "0fb7c084b806d605986aa1153159e7436ba22e58",
  "parents": [
    "f9f2f00dc37d979b459c7d9d1dc6f52ec3466206"
  ],
  "author": {
    "name": "Markus Böck",
    "email": "markus.boeck02@gmail.com",
    "time": "Fri Feb 02 12:47:05 2024 +0100"
  },
  "committer": {
    "name": "Markus Böck",
    "email": "markus.boeck02@gmail.com",
    "time": "Fri Feb 02 13:15:15 2024 +0100"
  },
  "message": "[mlir] Start moving some builtin type formats to the dialect\n\nMost types and attributes in the builtin dialect are parsed and printed using special-purpose printers and parsers for that type. They also use the low-level `Printer` rather than the `AsmPrinter`, making the implementations inconsistent compared to all other dialects in MLIR.\n\nThis PR starts moving some builtin types to be parsed using the usual `print` and `parse` methods like all other MLIR dialects. This has the following advantages:\n* The implementation now looks like any other dialect\u0027s types\n* It is now possible to use `assemblyFormat` for builtin types and attributes\n* The code can be easily moved to other dialects if desired\n* Arguably better layering and less code\n* As a side-effect, it is now also possible to write `!builtin.\u003ctype\u003e` for any types moved\n\nA future benefit would include being able to print types and attributes in stripped format as well (e.g. `\u003cf32\u003e` vs `complex\u003cf32\u003e`), just like all other dialect types and attributes. This is currently explicitly disabled as it causes a LOT of changes in IR syntax and I believe some ambiguities in the parser.\n\nFor the purpose of reviewing and incremental development, this PR only moves `tuple`, `tensor`, `none`, `memref` and `complex`. The plan is to eventually move all attributes and types where the current syntax can be implemented within the dialect.\n\nFor backwards compatibility with the existing syntax, the builtin dialect is special-cased in the printer where the `builtin.` prefix is omitted.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c131107634b44e99dc851f753fc49183a7e62967",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/IR/BuiltinDialect.td",
      "new_id": "a8627170288c972f908da194dc4c00ea41611e4c",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/IR/BuiltinDialect.td"
    },
    {
      "type": "modify",
      "old_id": "4cade83dd3c32a1085b52435cfe09cd32b95b2c0",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/IR/BuiltinTypes.td",
      "new_id": "f3a51d215504050b6291c2fc1734f694d8ba9d82",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/IR/BuiltinTypes.td"
    },
    {
      "type": "modify",
      "old_id": "50e6cc59ca459387c08e103bd767f298bd16dd7b",
      "old_mode": 33188,
      "old_path": "mlir/include/mlir/IR/OpImplementation.h",
      "new_id": "2a5587d43901ae79440a5d1ecbc2aec092d41729",
      "new_mode": 33188,
      "new_path": "mlir/include/mlir/IR/OpImplementation.h"
    },
    {
      "type": "modify",
      "old_id": "80cce7e6ae43f58834e98780d8b194fc83006afd",
      "old_mode": 33188,
      "old_path": "mlir/lib/AsmParser/DialectSymbolParser.cpp",
      "new_id": "400d26398afc393b7da2463a6085156b68715e89",
      "new_mode": 33188,
      "new_path": "mlir/lib/AsmParser/DialectSymbolParser.cpp"
    },
    {
      "type": "modify",
      "old_id": "b959e67b8e2583126ea6df2404a07570b271416d",
      "old_mode": 33188,
      "old_path": "mlir/lib/AsmParser/Parser.h",
      "new_id": "73080c88ff6b091b7c99c0f79fb8afd7e5fc229f",
      "new_mode": 33188,
      "new_path": "mlir/lib/AsmParser/Parser.h"
    },
    {
      "type": "modify",
      "old_id": "5da931b77b3beaadc52e02663d4a54d032962cab",
      "old_mode": 33188,
      "old_path": "mlir/lib/AsmParser/TypeParser.cpp",
      "new_id": "95df69b899b8a8f072b8e02836e0a3a4b9ffb175",
      "new_mode": 33188,
      "new_path": "mlir/lib/AsmParser/TypeParser.cpp"
    },
    {
      "type": "modify",
      "old_id": "6b8b7473bf0f8a15cade73c408f8a1d2bbea6a69",
      "old_mode": 33188,
      "old_path": "mlir/lib/IR/AsmPrinter.cpp",
      "new_id": "0679d4135048a8bdb7e3c91b22f7762389be1a9a",
      "new_mode": 33188,
      "new_path": "mlir/lib/IR/AsmPrinter.cpp"
    },
    {
      "type": "modify",
      "old_id": "9b8ee3d452803531ca3ca02b042681f47347bc64",
      "old_mode": 33188,
      "old_path": "mlir/lib/IR/BuiltinTypes.cpp",
      "new_id": "e160c0ff4c33d670a180d10ed73bf25c30d3cb0f",
      "new_mode": 33188,
      "new_path": "mlir/lib/IR/BuiltinTypes.cpp"
    },
    {
      "type": "modify",
      "old_id": "9884212e916c1f1f2a85ea4d1f4dc6326fbecb1d",
      "old_mode": 33188,
      "old_path": "mlir/test/IR/invalid-builtin-types.mlir",
      "new_id": "04995bf7338aafc1968616d2d5be8942ace38b52",
      "new_mode": 33188,
      "new_path": "mlir/test/IR/invalid-builtin-types.mlir"
    },
    {
      "type": "modify",
      "old_id": "861f4ef6c020dfcd09b1ab6a8af26c93de92a40b",
      "old_mode": 33188,
      "old_path": "mlir/test/IR/invalid.mlir",
      "new_id": "1e01b477b1adbef7d901fbf3f2530ca3be1d86c3",
      "new_mode": 33188,
      "new_path": "mlir/test/IR/invalid.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a2f9e63ea66ba1b4543a0e36ff2dabb4a7435313",
      "new_mode": 33188,
      "new_path": "mlir/test/IR/qualified-builtin.mlir"
    }
  ]
}
