)]}'
{
  "commit": "2e49e5eaabefe940e895cc63c47ca488b241a310",
  "tree": "8103a3602f86ef1e2e2f578f0d162861aa9b8db3",
  "parents": [
    "1547ac28f48c6f455adf726828ce548e20a3f3d5"
  ],
  "author": {
    "name": "Han-Chung Wang",
    "email": "hanchung@google.com",
    "time": "Fri Sep 24 06:32:17 2021 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Sep 24 06:32:17 2021 +0800"
  },
  "message": "Update semantics of linalg_ext.reverse. (#7155)\n\n1. Allow the op takes multiple reverse dimensions.\r\n2. Update the loop bound of reverse dim with the whole size.\r\n\r\nRe (2), it is required because of tiling interface. The current tiling\r\ninterface expects the implmenetation returned a tiled op. However, two\r\ntiled ops are required in the previous definition. E.g., say that we\r\nhave `M` tiles in total.\r\n\r\n[T_1], [T_2], ... , [T_M]\r\n\r\nThe result of `T_1` will be stored to the position of `T_M`, and vise\r\nversa. If we iterate only half of the tensor, we need to create reversed\r\n`T_1` and reversed `T_M`, then store them to corresponding offsets. In\r\nthis context, two tiled op are created, but only one can be returned.\r\n\r\nThe updated semantic also meets the current lowering, instead of\r\nemitting the affine maps into the op itself.\r\n\r\nThis PR also adds e2e tests for the op.\r\n\r\nIt is a step toward https://github.com/google/iree/issues/5045",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4ae4556ab0fa450588b826155d06929eabe60987",
      "old_mode": 33188,
      "old_path": "iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.cpp",
      "new_id": "74973971d4fdeb0a1735ebbd10b7cb29b2428fd0",
      "new_mode": 33188,
      "new_path": "iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "9841da18e663da59d03eca5703dcd85cf099430d",
      "old_mode": 33188,
      "old_path": "iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.td",
      "new_id": "98948318c0084b186e01dbf9ed404af4d8f1cba1",
      "new_mode": 33188,
      "new_path": "iree/compiler/Dialect/LinalgExt/IR/LinalgExtOps.td"
    },
    {
      "type": "modify",
      "old_id": "2cea9ce76575b278eb342a863375035884f4384e",
      "old_mode": 33188,
      "old_path": "iree/compiler/Dialect/LinalgExt/IR/test/invalid.mlir",
      "new_id": "f4bb5866ae8315a3ace68577001cd52b926aa4de",
      "new_mode": 33188,
      "new_path": "iree/compiler/Dialect/LinalgExt/IR/test/invalid.mlir"
    },
    {
      "type": "modify",
      "old_id": "e488bc16dc3cb83327cff075d179f9dde03a4496",
      "old_mode": 33188,
      "old_path": "iree/compiler/Dialect/LinalgExt/IR/test/roundtrip.mlir",
      "new_id": "51509f59428eaa1b99a553e9030c39bc981ac25f",
      "new_mode": 33188,
      "new_path": "iree/compiler/Dialect/LinalgExt/IR/test/roundtrip.mlir"
    },
    {
      "type": "modify",
      "old_id": "84883b999a11475122c1cbde8e0931b805c7a789",
      "old_mode": 33188,
      "old_path": "iree/compiler/Dialect/LinalgExt/Transforms/test/convert_to_loops.mlir",
      "new_id": "d3fc5a47b172eda0c2b026c5b1b563f3185567fe",
      "new_mode": 33188,
      "new_path": "iree/compiler/Dialect/LinalgExt/Transforms/test/convert_to_loops.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9752101ade3ff6d878635931afe03c2780bf9a07",
      "new_mode": 33188,
      "new_path": "iree/test/e2e/linalg_ext_ops/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "78b49f431a98f51a47e56827185d6f1ca4d24a88",
      "new_mode": 33188,
      "new_path": "iree/test/e2e/linalg_ext_ops/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "95a69e057a597e4e44ba9844247ef60b59868f8f",
      "new_mode": 33188,
      "new_path": "iree/test/e2e/linalg_ext_ops/reverse.mlir"
    }
  ]
}
