)]}'
{
  "commit": "e734c618bb3e65e65e026ff8270fc76b6a686118",
  "tree": "eea035583356ae1727a2aa47a211787499a4354e",
  "parents": [
    "ae38fb9a8603e76f3536bb2509dfedf0d78c1f29"
  ],
  "author": {
    "name": "Lei Zhang",
    "email": "antiagainst@google.com",
    "time": "Thu Apr 14 13:51:06 2022 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Apr 14 10:51:06 2022 -0700"
  },
  "message": "[spirv] Add a pipeline to use workgroup memory (#8425)\n\nThis commit adds a pipeline for using workgroup memory in\r\nSPIR-V CodeGen. It basically moves existing LLVM GPU\r\ncode into Common/ directory and use them. This pipeline\r\nis meant to support desktop/server class GPUs where using\r\nshared memory can give nice performance gains. So along\r\nthe way, added configuration stubs for NVIDIA/AMD GPUs.\r\nThey are not tuned yet, just to get started.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d681159ecdf14a05c318f6097c21932a202c5fa1",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/Common/BUILD",
      "new_id": "f4783b40823b9405f9a74e717e8f293ef7a1d175",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Common/BUILD"
    },
    {
      "type": "modify",
      "old_id": "c613a6bf119462f503206ca9ea3c7ea3e5738d64",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/Common/CMakeLists.txt",
      "new_id": "80ef1e81fc7b17c90189e77ec8787d5c9febac45",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Common/CMakeLists.txt"
    },
    {
      "type": "rename",
      "old_id": "c0702f57478966814d7935c3a404488d4f59fc97",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/LLVMGPU/LLVMGPUDistributeSharedMemoryCopy.cpp",
      "new_id": "0499715540d0e251121e59a3dc9fea11ab579974",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Common/GPUDistributeSharedMemoryCopy.cpp",
      "score": 91
    },
    {
      "type": "rename",
      "old_id": "8e6355cdc1bb2ab3e1e8faca9423b1ddadd759fa",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/LLVMGPU/LLVMGPUPipelining.cpp",
      "new_id": "1ff28658b7fa7849025b3df5eb413908e49de18d",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Common/GPUPipelining.cpp",
      "score": 94
    },
    {
      "type": "modify",
      "old_id": "d6abde2b3d15b7c1d82655a713cd1684dd7097bc",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/Common/test/BUILD",
      "new_id": "b78d8229548df929b80143d5baddf20e4934fe2d",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Common/test/BUILD"
    },
    {
      "type": "modify",
      "old_id": "f45b163f59d06e3ed7af98b164ffa24221f5e23d",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/Common/test/CMakeLists.txt",
      "new_id": "7e9b53b93a5915ef2cec7a7bd64461923badbc24",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Common/test/CMakeLists.txt"
    },
    {
      "type": "rename",
      "old_id": "dde4b515e4933bc91b4257031402339e4b3f8585",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/LLVMGPU/test/distribute_wg_copy.mlir",
      "new_id": "51cbc0f07668d7e6583baed52d26eceb68251442",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Common/test/distribute_gpu_shared_memory.mlir",
      "score": 91
    },
    {
      "type": "modify",
      "old_id": "9293a89660a4aef61ef9c686055f8116a0bc8552",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/Dialect/LoweringConfig.td",
      "new_id": "e4108de703feb3f3f6a1383111657b05b6143161",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Dialect/LoweringConfig.td"
    },
    {
      "type": "modify",
      "old_id": "2bb56150ae4d80f6007bcad7fb459fc52cae02fe",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/LLVMGPU/BUILD",
      "new_id": "038d634dadc19d717a68871d5cb2fc198710b00f",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/LLVMGPU/BUILD"
    },
    {
      "type": "modify",
      "old_id": "586059db9b0f2a8c9e1a41f2c1edad36810cb236",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/LLVMGPU/CMakeLists.txt",
      "new_id": "2abeefdd3bc631cd341dadabe203319a6a23bdb4",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/LLVMGPU/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "828069c658ec412ce42e0d22cc0d03e8098e4628",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/LLVMGPU/LLVMGPUTileAndDistribute.cpp",
      "new_id": "8f0c24f65c574cf8abe9880f29eb88b08c7f381e",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/LLVMGPU/LLVMGPUTileAndDistribute.cpp"
    },
    {
      "type": "delete",
      "old_id": "c7ab1aadac95544359b14e5391694474877d65bd",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/LLVMGPU/LLVMGPUUtils.cpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "aaca6bd5099c2b6aa59c7dc76dfb52165be62c08",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/LLVMGPU/LLVMGPUUtils.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "a70bc33299a0b7b138834699aae088a85f496ad6",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/LLVMGPU/Passes.cpp",
      "new_id": "a1224ed618716504c7527c7c1cdf1bbce31c7553",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/LLVMGPU/Passes.cpp"
    },
    {
      "type": "modify",
      "old_id": "c4854ea6c55f4cb15ed611a286fd30d6a0fef672",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/LLVMGPU/Verifiers.cpp",
      "new_id": "e8325178d3c26dc3a9cabf6f704aacee2ab4d353",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/LLVMGPU/Verifiers.cpp"
    },
    {
      "type": "modify",
      "old_id": "5011132a63c2c06d17a8238acc5d5c0eaa3585f4",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/LLVMGPU/test/BUILD",
      "new_id": "36d1d956a145e94d3eed747c20805b40f9d18522",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/LLVMGPU/test/BUILD"
    },
    {
      "type": "modify",
      "old_id": "7069e4f4c52562b6713cf1c5b7ccc0bcd27a1d7f",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/LLVMGPU/test/CMakeLists.txt",
      "new_id": "547de8a0ef918a218113dc6319b449df1694ca61",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/LLVMGPU/test/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "a89bbb659fbd619084d68aaee2c05caa9915b8fe",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/Passes.h",
      "new_id": "b84ec6b764d9ce3804379ff6808f42c780f17ced",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Passes.h"
    },
    {
      "type": "modify",
      "old_id": "d4f23b61d16ae072ed07f9d7b8101df18657d754",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/Passes.td",
      "new_id": "05e8fcbf16d67ac99f6b3de149ad73e1c8b3c9a5",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Passes.td"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4fb689a5901d193a5e89017f8eb701ae0a4fd74d",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/AMDConfig.cpp"
    },
    {
      "type": "modify",
      "old_id": "d4511cd4972acc50dcc6c5eb5f87ae54096c11bd",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/AdrenoConfig.cpp",
      "new_id": "bfbd2f47345cea9f94a7999e31403ebae5a7f16c",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/AdrenoConfig.cpp"
    },
    {
      "type": "modify",
      "old_id": "12115b01a585ccb6d7315b39b70ca0ff34d75a42",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/BUILD",
      "new_id": "e2543c53430d7c2127338e041c98c02ba1ad60a0",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/BUILD"
    },
    {
      "type": "modify",
      "old_id": "cea4c3b8ac378fea48f93787290a14c4b1caecd6",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/CMakeLists.txt",
      "new_id": "e222de58a7dea3c820e1b80b8ed9d29711b7d768",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "d8e6e2c1eb66aa5bd3e11a589f8a029b47100b85",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/KernelConfig.cpp",
      "new_id": "6dd8f8027bc4e40680b6da3b4aa79b5826814173",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/KernelConfig.cpp"
    },
    {
      "type": "modify",
      "old_id": "a11c0aa832d8636a33b97b46ee118f8a4efb4a27",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/KernelConfig.h",
      "new_id": "3d273547c9962fabf2f369e6f029209ebcf95f1a",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/KernelConfig.h"
    },
    {
      "type": "modify",
      "old_id": "9411ec557e496944787235ea5b98dea1b4d0fec7",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/MaliConfig.cpp",
      "new_id": "caf65c99e66ce0de1e47b531643c1282e826465f",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/MaliConfig.cpp"
    },
    {
      "type": "modify",
      "old_id": "c4b121a2f7be5e1292bbb6208a937a3472f20998",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/NVIDIAConfig.cpp",
      "new_id": "bd7aeb40299a56aab0d7377d9335e615b1e94d6b",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/NVIDIAConfig.cpp"
    },
    {
      "type": "modify",
      "old_id": "d8e5c535b525010bfe6598d9eb7b255b63893bfc",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/Passes.cpp",
      "new_id": "ec8356586839ced9f940c35bed42fe4c31a20677",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/Passes.cpp"
    },
    {
      "type": "modify",
      "old_id": "c65e1e349e52c2af0f40bec2831917ec104d12e7",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/SPIRVLowerExecutableTargetPass.cpp",
      "new_id": "dd0639221a2cb04c349ec86460f94efff3a84b4f",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/SPIRVLowerExecutableTargetPass.cpp"
    },
    {
      "type": "modify",
      "old_id": "5bbbb2e85bb5a5ba39b2b19f515ead08e57ae788",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/SPIRVTile.cpp",
      "new_id": "256114a15b126ea5b2d6c8fcd979ffceccfea789",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/SPIRVTile.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d409a815abf31e9523a5de57a0d79c2b0277b9e5",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/SPIRVTileAndPromote.cpp"
    },
    {
      "type": "modify",
      "old_id": "4e0bc804a1d6c2048dce9cae9b4fb0fd674e20a6",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/SPIRVVectorize.cpp",
      "new_id": "fd2ae6bff31f6f88646f3960ff95a6a6a7e3854b",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/SPIRVVectorize.cpp"
    },
    {
      "type": "modify",
      "old_id": "7b91b13c16578fe4a7c8c7d8236490e86d5d75f9",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/Utils.cpp",
      "new_id": "b3c1dc4ef4f65096b288e13c896660c38599588f",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/Utils.cpp"
    },
    {
      "type": "modify",
      "old_id": "c213d564ca7b5d7155e77ff18b9853fb0f171303",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/Utils.h",
      "new_id": "edcfe26557b24e6997f76731f3fac44cdeefc8f6",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/Utils.h"
    },
    {
      "type": "modify",
      "old_id": "2fa72eb284965bf4984b14aab7a73d61603182c2",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/test/BUILD",
      "new_id": "7016e86f8e1cc9bddcc700e9df4dedc869e4d832",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/test/BUILD"
    },
    {
      "type": "modify",
      "old_id": "2714f0b360ec674d448b5d8f6e8ce7939af7a0f5",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/test/CMakeLists.txt",
      "new_id": "9ee969129ca10017d475e868e97eed4da3e5b885",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bf27da5c54b186402c32b43759f837683ffce3ad",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/test/pipeline_matmul_promotion.mlir"
    },
    {
      "type": "delete",
      "old_id": "252ceb3f5e825a43806c353720770ca49878d244",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/test/promote_workgroup_memory.mlir",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "548c498f87a8de4c2065c440380a302c109b6c3f",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/test/tile_and_promote_matmul.mlir"
    },
    {
      "type": "modify",
      "old_id": "83067fb460eb695c2d58c3a7bd387a84895c6bdd",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/SPIRV/test/vectorize_matmul.mlir",
      "new_id": "0279fcd8d5ee6949001730fd6e944ec09360968a",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/SPIRV/test/vectorize_matmul.mlir"
    },
    {
      "type": "modify",
      "old_id": "19bddadfd52e253e97d7188020c63a262b440dc7",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/Utils/BUILD",
      "new_id": "e7510ff3045bb7365ebf76d7003eb358357e4bf2",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Utils/BUILD"
    },
    {
      "type": "modify",
      "old_id": "de6f31c15a352f4fb2bcc768733d274d6083015b",
      "old_mode": 33188,
      "old_path": "iree/compiler/Codegen/Utils/CMakeLists.txt",
      "new_id": "ce45f4e12af7e12c1db0245124b4d6f22f3f10b0",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Utils/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "09efafd2e64764f1e5529fc23dc67a178a7806ce",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Utils/GPUUtils.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "49593c370839074b5cf2749f1bbfdab2a0d44ea8",
      "new_mode": 33188,
      "new_path": "iree/compiler/Codegen/Utils/GPUUtils.h"
    }
  ]
}
