)]}'
{
  "commit": "6245db1c0423340d09e5f356ddb1c9463ff08a1d",
  "tree": "92230cfcbe04861815d2ef748d6aab9edfe712a9",
  "parents": [
    "c793f90267c946930761fd257c3685721074abc2"
  ],
  "author": {
    "name": "Han-Chung Wang",
    "email": "hanhan0912@gmail.com",
    "time": "Thu Jan 09 21:29:16 2025 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jan 10 05:29:16 2025 +0000"
  },
  "message": "[Stream] Attach layouts to tensor ops in encoding specialization pass. (#19649)\n\nThe revision attaches the layouts to Stream tensor ops, e.g.,\r\nstream.tensor.sizeof, etc. Each layout is wrapped with an attribute\r\nwhere the attribute should implement the `calculateStorageSizeInBytes`\r\ninterface method. Because only the device/target knows the details. It\r\nprovides a way to materialize the serialized layouts into actual storage\r\nsize.\r\n\r\nTo teach the pass about layouts, there are few core changes happening in\r\nthe revision.\r\n\r\n1. The revision introduces `cloneWithSimplifiedConfig` interface method\r\nto EncodingLayoutAttrInterface. Each backend encoding attribute can\r\nfilter needed configurations when making layout resolvers in\r\nHALAffinityAnalysisDialectInterface. This is needed because attributes\r\nare not mutable. We always need to create a new attribute if we want to\r\nupdate the parameters. The main benifit is that it makes the IR dump\r\nmuch less verbose.\r\n2. The revision also introduces `getLayout` interface method, which\r\nreturns the encoded layouts into encoding attributes. The CPU and VMVX\r\nencoding attributes implement it in the revision, and it returns the\r\nserialized MaterializeEncodingInfo struct as a dictionary attribute. See\r\nbelow example for more details.\r\n\r\n```\r\n... layouts \u003d [#iree_cpu.vmvx_encoding_layout\u003cconfiguration \u003d\r\n  {encoding_info \u003d\r\n    {innerDimsPos \u003d [0, 1],\r\n     innerTileSizes \u003d [8, 4],\r\n     outerDimsPerm \u003d [0, 1]}}\u003e\r\n]\r\n```\r\n\r\n---------\r\n\r\nSigned-off-by: hanhanW \u003chanhan0912@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "640e1ef1c55b14260b1c9ad263fb88a7b6efeee2",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/BUILD.bazel",
      "new_id": "ec9b711f42d5183f71dc693b09407eb0725931f2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "46d06270fbbfd3499a677ce127cd7751c2717792",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/CMakeLists.txt",
      "new_id": "3f14e773eb1975c5b93258bbef26de3eae93ab15",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "3461a29c6b630cf2a4bcc6fca33a2a59341e0662",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/CPUEncodingExternalModels.cpp",
      "new_id": "187cef73de0d5f80d5855811a848e1b9e21a2bf8",
      "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": "12542e276f78055edddd98fa4e6c89a46b8f2d8f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/Utils.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f4649d6ced89fc1aa59d43e19548a14bdc885c39",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/ExternalInterfaces/Utils.h"
    },
    {
      "type": "modify",
      "old_id": "c615972968a51516ba3d512d5510196c45114782",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Encoding/IR/EncodingAttrs.cpp",
      "new_id": "8552645d08fed14aa50809c5bade5a04903dfd8a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Encoding/IR/EncodingAttrs.cpp"
    },
    {
      "type": "modify",
      "old_id": "4dfa4b5c8531a595f11559a40b7f454aff802b14",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Encoding/IR/EncodingInterfaces.td",
      "new_id": "6eb994f522e9359387733a654b7ec6207fcd56ec",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Encoding/IR/EncodingInterfaces.td"
    },
    {
      "type": "modify",
      "old_id": "576e77dc14ea30a2a4ac7bd15cc61fd1c45691ec",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/BUILD.bazel",
      "new_id": "26311de7fb2ad90809bc599fff9c502f7c24f0e9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "e0b68bdf56b91d16e67785d25d1bf1318a5eaf08",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/CMakeLists.txt",
      "new_id": "ae649634a00300ea8ce25e8757fb6adcab40f47d",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "e28d08fb9a894a65e964f8a7d6880fd8c0109637",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALDialect.cpp",
      "new_id": "a4335a7665e447d9f864395d008c9afd536f0cb2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALDialect.cpp"
    },
    {
      "type": "modify",
      "old_id": "b177bedb718d49552161280186140e4641bbe0aa",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/SpecializeEncodings.cpp",
      "new_id": "40571f341ab9e81d5fd81e035ad4cc2416ba1767",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/SpecializeEncodings.cpp"
    },
    {
      "type": "modify",
      "old_id": "1ae03e6047639d8ea207eea7b96c98c5407e96da",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/test/specialize_encodings.mlir",
      "new_id": "5fab86a79e79658eb498f58320901bbff840f89f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/test/specialize_encodings.mlir"
    }
  ]
}
