)]}'
{
  "commit": "1e907e89605c8c87a07321677fd4a6d7f2c8d73a",
  "tree": "f58632fbf3c248f2e574743f1933c99feb73d741",
  "parents": [
    "90187bd9b6b09b1236b0e5d26676e9973e5ed2ff"
  ],
  "author": {
    "name": "harsh-nod",
    "email": "harsh@nod-labs.com",
    "time": "Fri Jan 20 10:57:00 2023 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jan 20 10:57:00 2023 -0800"
  },
  "message": "Add softmax op to linalg_ext (#11911)\n\nThis patch adds the softmax op to the linalg ext dialect. It also adds a\r\nlowering that decomposes the softmax into a sequence of linalg generic\r\nops. Finally, we add the pass into the CPU and CUDA pipeline along with\r\nan e2e test to validate functional accuracy.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c988062063a02999f31de4b2368235c9280a258f",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Interfaces/BufferizationInterfaces.cpp",
      "new_id": "1edcaa9a91bebef2c9e414ad150d7510665dba0c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Interfaces/BufferizationInterfaces.cpp"
    },
    {
      "type": "modify",
      "old_id": "1441b588cb4b60c624bc2d116cf4a348ec988a99",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Interfaces/PartitionableLoopsInterface.cpp",
      "new_id": "38ac3068ef93e4fffa9b423843e783fdab78b2aa",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Interfaces/PartitionableLoopsInterface.cpp"
    },
    {
      "type": "modify",
      "old_id": "4159e418bd3b6df6ddc4b6ce722c7a73ea7b60e2",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/Passes.cpp",
      "new_id": "4982f7292c3bd78be86976896b0b1b9f9378120c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/Passes.cpp"
    },
    {
      "type": "modify",
      "old_id": "bf93104e6964f4fdc429803a9a81f2ca0be87af5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/Passes.cpp",
      "new_id": "661fbec991ff06b6fc7f967cb7bb5902e35c087f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/Passes.cpp"
    },
    {
      "type": "modify",
      "old_id": "2f31c23fa21bebc27a0bc3594b2ae74839b5a742",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Util/IR/UtilExternalModels.cpp",
      "new_id": "a8b88b9921df7c408ecd42cdec044f8ac26951ea",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Util/IR/UtilExternalModels.cpp"
    },
    {
      "type": "modify",
      "old_id": "1a43a05295f09c10031f2bd955bfe6a463623bc2",
      "old_mode": 33188,
      "old_path": "llvm-external-projects/iree-dialects/include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtOps.td",
      "new_id": "780716b489474bc8dbcf89dc734f080f9e6c9345",
      "new_mode": 33188,
      "new_path": "llvm-external-projects/iree-dialects/include/iree-dialects/Dialect/LinalgExt/IR/LinalgExtOps.td"
    },
    {
      "type": "modify",
      "old_id": "9a84f1040fbc043bd8ed750e8c3e6349f5149ba8",
      "old_mode": 33188,
      "old_path": "llvm-external-projects/iree-dialects/include/iree-dialects/Dialect/LinalgExt/Passes/Passes.h",
      "new_id": "29226648946732278c0538ffd4c7b9133c169841",
      "new_mode": 33188,
      "new_path": "llvm-external-projects/iree-dialects/include/iree-dialects/Dialect/LinalgExt/Passes/Passes.h"
    },
    {
      "type": "modify",
      "old_id": "badb6584ea06f2941a3d07b28bfbb3f85ed82f4f",
      "old_mode": 33188,
      "old_path": "llvm-external-projects/iree-dialects/include/iree-dialects/Dialect/LinalgExt/Passes/Passes.td",
      "new_id": "c06d01dd27bd91ca6995d04f26b2bc7da16c8d68",
      "new_mode": 33188,
      "new_path": "llvm-external-projects/iree-dialects/include/iree-dialects/Dialect/LinalgExt/Passes/Passes.td"
    },
    {
      "type": "modify",
      "old_id": "9f3698ba532aa4b1d0d89035a284635b9043e94d",
      "old_mode": 33188,
      "old_path": "llvm-external-projects/iree-dialects/lib/Dialect/LinalgExt/IR/LinalgExtOps.cpp",
      "new_id": "721f56e5970c254f5bbb87a845f5445c0bddeb0e",
      "new_mode": 33188,
      "new_path": "llvm-external-projects/iree-dialects/lib/Dialect/LinalgExt/IR/LinalgExtOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "68fdab83c168a445ce461fd1192d7afa09935d62",
      "old_mode": 33188,
      "old_path": "llvm-external-projects/iree-dialects/lib/Dialect/LinalgExt/Passes/CMakeLists.txt",
      "new_id": "2ab8c4d513be7d9419d2197fccb714932319803e",
      "new_mode": 33188,
      "new_path": "llvm-external-projects/iree-dialects/lib/Dialect/LinalgExt/Passes/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6bb7329ed5de2b32777e2bfcb350af3ffbfcc562",
      "new_mode": 33188,
      "new_path": "llvm-external-projects/iree-dialects/lib/Dialect/LinalgExt/Passes/DecomposeSoftmax.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "82b9a27a7076956c8a76fbec754d95b9cf12b0f8",
      "new_mode": 33188,
      "new_path": "llvm-external-projects/iree-dialects/test/Dialect/iree_linalg_ext/decompose_softmax.mlir"
    },
    {
      "type": "modify",
      "old_id": "5fc2a69f37edd9d8939e64004f7fd9ff98d94f13",
      "old_mode": 33188,
      "old_path": "llvm-external-projects/iree-dialects/test/Dialect/iree_linalg_ext/invalid.mlir",
      "new_id": "e789b73a02af410737d451b6709f63b8276f8417",
      "new_mode": 33188,
      "new_path": "llvm-external-projects/iree-dialects/test/Dialect/iree_linalg_ext/invalid.mlir"
    },
    {
      "type": "modify",
      "old_id": "18df16c86580ed087e40d206a1a903103909aa9c",
      "old_mode": 33188,
      "old_path": "llvm-external-projects/iree-dialects/test/Dialect/iree_linalg_ext/roundtrip.mlir",
      "new_id": "6e1b5c36579734dc2a29c1aed2e0c13a7f2157eb",
      "new_mode": 33188,
      "new_path": "llvm-external-projects/iree-dialects/test/Dialect/iree_linalg_ext/roundtrip.mlir"
    },
    {
      "type": "modify",
      "old_id": "854a6e837c95e35241f867568a722dbe75b50f0d",
      "old_mode": 33188,
      "old_path": "llvm-external-projects/iree-dialects/test/Dialect/iree_linalg_ext/tiling.mlir",
      "new_id": "31774a0593c721ce2cf8da65b5ce972c5e11dd06",
      "new_mode": 33188,
      "new_path": "llvm-external-projects/iree-dialects/test/Dialect/iree_linalg_ext/tiling.mlir"
    },
    {
      "type": "modify",
      "old_id": "67e356ee44724738118873945829d6f2d0dd4073",
      "old_mode": 33188,
      "old_path": "tests/e2e/linalg_ext_ops/BUILD",
      "new_id": "78c040dd0a3b016ea6f3e479f291a0d670dd7cb4",
      "new_mode": 33188,
      "new_path": "tests/e2e/linalg_ext_ops/BUILD"
    },
    {
      "type": "modify",
      "old_id": "2f708e8dceb669436f1246c6bea1b38e3e5b5dcb",
      "old_mode": 33188,
      "old_path": "tests/e2e/linalg_ext_ops/CMakeLists.txt",
      "new_id": "7eb764567387bcaac5d3f8154fe85017e85106ff",
      "new_mode": 33188,
      "new_path": "tests/e2e/linalg_ext_ops/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d53fff716566ed9f926e339cc04be198e80a3d6c",
      "new_mode": 33188,
      "new_path": "tests/e2e/linalg_ext_ops/softmax.mlir"
    }
  ]
}
