)]}'
{
  "commit": "e84ea8d2079eb9782275303bc5f93d988908b314",
  "tree": "e39db420051652faa401f45998ee7e5557dd6fb1",
  "parents": [
    "ab3c9bb031f82f8481da7d867fab03db9180646a"
  ],
  "author": {
    "name": "Han-Chung Wang",
    "email": "hanhan0912@gmail.com",
    "time": "Mon Dec 09 17:21:45 2024 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Dec 09 17:21:45 2024 -0800"
  },
  "message": "[DT][VMVX] Implement VMVXEncodingLayoutAttr. (#19403)\n\nThe revision implements the VMVX encoding layout attribute for device\r\ncode with the new IREE::CPU dialect.\r\n\r\nSome additional dialect registration is needed because it could create\r\nthe VMVXEncodingLayoutAttr attribute in the pass pipeline; the dialect\r\nneeds to be loaded. The main refactoring changes are:\r\n\r\n- Move chooseMatmulTile to IREECodegen/Utils. We can internalize the\r\n  method once other CPU materialization logic is moved to their own\r\n  attribute implementation.\r\n- Move the enumerateMatmulTilesVMVX method to\r\n  CPUEncodingExternalModels.cpp. It is only used by VMVX implementation.\r\n\r\nOn the Codegen utilitiy side (i.e., Codegen/Utils.[h|cpp]), the revision\r\nadapts config query methods to use `Attribute`, and share the logic with\r\nDictionaryAttr type. Previously, the configuration is wrapped into\r\nIREE::HAL::ExecutableTarget attribute. Now we have DictionaryAttr\r\nvariants and we do not want to duplicate the implementation. Thus, the\r\nfunctions take Attribute input and handle the cases in the\r\nimplementation.\r\n\r\nOn the data-tiling encoding materialization pass side, it creates the\r\nVMVXEncodingLayoutAttr attribute (with the original target\r\nconfiguration).\r\n\r\nNote that the target configuration is an optional parameter and it is\r\nexpected to be used within pass scope, but not the final IR output.\r\n\r\nNo additional tests because they are covered by\r\nvmvx_materialize_encoding.mlir.\r\n\r\n---------\r\n\r\nSigned-off-by: hanhanW \u003chanhan0912@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c086f548118ee1f8b4e9482999c1394a1de602f6",
      "old_mode": 33188,
      "old_path": "compiler/plugins/target/LLVMCPU/BUILD.bazel",
      "new_id": "fc25010b1894fb51700e1ba52caab188e8587279",
      "new_mode": 33188,
      "new_path": "compiler/plugins/target/LLVMCPU/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "fea4eb84b118b059309a338dcc0cc4d3a3da4c4c",
      "old_mode": 33188,
      "old_path": "compiler/plugins/target/LLVMCPU/CMakeLists.txt",
      "new_id": "9011c6de91a710ce3f54abf93f1653aca6789e24",
      "new_mode": 33188,
      "new_path": "compiler/plugins/target/LLVMCPU/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "ee8e256321a53c126618d0215c86048287414738",
      "old_mode": 33188,
      "old_path": "compiler/plugins/target/LLVMCPU/LLVMCPUTarget.cpp",
      "new_id": "c15b65c5da688a2a300ee5b338b1e293964294aa",
      "new_mode": 33188,
      "new_path": "compiler/plugins/target/LLVMCPU/LLVMCPUTarget.cpp"
    },
    {
      "type": "modify",
      "old_id": "31d8b873515b6d2075306f881082f1bc4d41cbd2",
      "old_mode": 33188,
      "old_path": "compiler/plugins/target/VMVX/BUILD.bazel",
      "new_id": "7b0cb11e41b74818a7262642dd13d8c9bbac2158",
      "new_mode": 33188,
      "new_path": "compiler/plugins/target/VMVX/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "7af0a883e33283359fa1037d284fbbe3cf4a4828",
      "old_mode": 33188,
      "old_path": "compiler/plugins/target/VMVX/CMakeLists.txt",
      "new_id": "f13273d866cbc2f5d909d55ddbb116138f4bbaf0",
      "new_mode": 33188,
      "new_path": "compiler/plugins/target/VMVX/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "daba862d1e4401543315bee68496751b0292867b",
      "old_mode": 33188,
      "old_path": "compiler/plugins/target/VMVX/VMVXTarget.cpp",
      "new_id": "20a076ee4e960bc2e95701c3cc8b28890c0457bb",
      "new_mode": 33188,
      "new_path": "compiler/plugins/target/VMVX/VMVXTarget.cpp"
    },
    {
      "type": "modify",
      "old_id": "d6b3c96d110876e785c9f5748898d6fdb3bce04a",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/CPU/BUILD.bazel",
      "new_id": "f1053da29240163eed406b08925344aaaacec30f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/CPU/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "81cefe71999f41d25b390530589a294f8b05e79c",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/CPU/CMakeLists.txt",
      "new_id": "75db95e4329196fbb8a66a339ef29f493a9d9ed9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/CPU/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "a7c1f00fe1d27f350022fd60a6ed61062e7ab6d7",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/CPU/CPUMaterializeEncodings.cpp",
      "new_id": "4d80343970f869115908e9e8f468cb2e695e8966",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/CPU/CPUMaterializeEncodings.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7c309b6c0b246850f7854ca9f79ea01f6bbe6478",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/CPU/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "976e7741637160607d696d1c61bb687a2c700dee",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/CPU/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "676a4fd8c4b9597fd61210399674c6e3cb9fac06",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/CPU/IR/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "13ac5f04cee81ef0e2cf8ad9fbd69cbe8ea49afb",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/CPU/IR/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ff412b0e1b37e142560da6c4fcbaa9346613e6c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/CPU/IR/IREECPUAttrs.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a87b1e0869554e188822647a9d5bb2d14f94392d",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/CPU/IR/IREECPUAttrs.td"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a0ced198066f7d53e6f810e0ce24a24cf9a09666",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/CPU/IR/IREECPUDialect.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "785dc21428c9e1cea23b6ef44754e5df78268e53",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/CPU/IR/IREECPUDialect.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6c77cfb6bb2b7f520c18c94ca9e538a7bc6bb924",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/CPU/IR/IREECPUDialect.td"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "31c59632cd56593c2cf400a8b900814aa69f5b4a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/CPU/IR/IREECPUTypes.h"
    },
    {
      "type": "modify",
      "old_id": "7976b7ed8ba67a4e045b8b5213fd3fe9c48c16a8",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/Utils/Utils.cpp",
      "new_id": "626280e78579bed2a965249e7fa58d7711489b62",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/Utils/Utils.cpp"
    },
    {
      "type": "modify",
      "old_id": "8498a95e11a3381e1269ef18b770701abd2d44a8",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/Utils/Utils.h",
      "new_id": "f08aec26b4a01fceea27858fe005dc8fcc5d6f39",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Dialect/Codegen/Utils/Utils.h"
    },
    {
      "type": "modify",
      "old_id": "9b475446f628fc8569fdffe0921affcda48f0834",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/BUILD.bazel",
      "new_id": "640e1ef1c55b14260b1c9ad263fb88a7b6efeee2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "c637517d8921b5923904967d052ebf85e32997f5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/CMakeLists.txt",
      "new_id": "46d06270fbbfd3499a677ce127cd7751c2717792",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1e09bc64e6f7596f39136a8ba143880399d4e674",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/CPUEncodingExternalModels.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "715ed3f24985a9c7d7d88b6910dea4ccdb7d3e05",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/CPUEncodingExternalModels.h"
    },
    {
      "type": "modify",
      "old_id": "2d197080a11f9f1feb84abf6d9f402e3cab51dfe",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/Interfaces.cpp",
      "new_id": "2f3b36377ec533ad722a177b81dce302acad9003",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/Interfaces.cpp"
    },
    {
      "type": "modify",
      "old_id": "f86f447c49dc1e2f8fdc9e8f0b3a0861e3a811ae",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Utils/Utils.cpp",
      "new_id": "4145311b9f777483c608dea220caab8483b82f47",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Utils/Utils.cpp"
    },
    {
      "type": "modify",
      "old_id": "4603429afd96cf64460ae4e04d2af9ddd6bfd163",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Utils/Utils.h",
      "new_id": "6a43cb4ce58c39e78286cc6ee770927418731646",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Utils/Utils.h"
    },
    {
      "type": "modify",
      "old_id": "7a813c2a51cd9fc02b1f688f57578c1ef4abfa67",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Tools/BUILD.bazel",
      "new_id": "58ac050052f234ec8415497a8710238bd9577c91",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Tools/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "0bc41231dbeac8e006f631bcadbdc0ffd7b7537b",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Tools/init_iree_dialects.h",
      "new_id": "031238220394b4d62a212ac9374a7e2bf0e357b1",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Tools/init_iree_dialects.h"
    }
  ]
}
