)]}'
{
  "commit": "eef462316479bb927c00e63caafccf8a7077f6bc",
  "tree": "4ca62f47fd8a517e1e20b29dcbe4c64a8f625985",
  "parents": [
    "5a6bd8d9ca463f4774b9424047028260fb0d7606"
  ],
  "author": {
    "name": "Jakub Kuderski",
    "email": "jakub@nod-labs.com",
    "time": "Mon Sep 23 09:33:16 2024 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Sep 23 13:33:16 2024 +0000"
  },
  "message": "[LLVMGPU][ROCm] Move kernel annotation before serialization (#18573)\n\nROCMTarget serialization is not the best location for this code because\r\nit violates the following invariant in\r\n`buildLLVMGPUCodegenPassPipeline`:\r\n\u003e  - The module contains the final llvm.module ready to be serialized.\r\n\r\nSpecifically, requiring the ROCDL dialect to be loaded is problemantic\r\nduring serialization, as target-agnostic serialization in\r\n(`iree-hal-serialize-executables`) does not register dependent dialects.\r\n\r\nThis PR moves kernel annotation just after conversion to ROCDL in the\r\n`LowerToGPUPasses` pass pipeline.\r\n\r\nAlso add kernel annotation tests that were not straightforward to add\r\nbefore, as annotation was not a freestanding pass whose output could be\r\ninspected.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9b4705e2c9c1443d344e5881834de361fa1f69f7",
      "old_mode": 33188,
      "old_path": "compiler/plugins/target/ROCM/ROCMTarget.cpp",
      "new_id": "2175db72ba824bbf0a43fdc7d225c326635dda55",
      "new_mode": 33188,
      "new_path": "compiler/plugins/target/ROCM/ROCMTarget.cpp"
    },
    {
      "type": "modify",
      "old_id": "dcebcce888c51d647051322693696ffb473b7336",
      "old_mode": 33188,
      "old_path": "compiler/plugins/target/ROCM/test/external_function_validation.mlir",
      "new_id": "b84455bd793de37925697962e9fbd410b06968fb",
      "new_mode": 33188,
      "new_path": "compiler/plugins/target/ROCM/test/external_function_validation.mlir"
    },
    {
      "type": "modify",
      "old_id": "c6fefa699e2dcc7b708f6ee9eaade329f2c90c72",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/BUILD.bazel",
      "new_id": "f8fd1f02cb9bbf546ba5a29805dc053e71ddf522",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "aaee76a02ea330641334f6b9621a914376477fe0",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/CMakeLists.txt",
      "new_id": "14d2825a9b1105e813820e273747a21bd4140e85",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "b63dfa7e111d83bc3aed4670581a4dc58ac9f219",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/Passes.cpp",
      "new_id": "15518e94bb7b4444601cf8b667a384fab2923fed",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/Passes.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0a6eca5cfe1f82db8b890e7e46ad9b88570469f2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/ROCDLAnnotateKernelForTranslation.cpp"
    },
    {
      "type": "modify",
      "old_id": "696a6c0fab19e4c2c7d1418a39842387cf15397e",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/ROCDLPasses.h",
      "new_id": "fe7320ce087f919183c2370cfc7cf506b4b1bd0c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/ROCDLPasses.h"
    },
    {
      "type": "modify",
      "old_id": "bf91b6ebd084d8301b5c6538be3e7036fab3d497",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/ROCDLPasses.td",
      "new_id": "b13d2a5efae35de6187d9fe8d63689f04f2d585a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/ROCDLPasses.td"
    },
    {
      "type": "modify",
      "old_id": "4c25ee45339770069c1ce92370fae88611584276",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/BUILD.bazel",
      "new_id": "5789cefb0fc97363ab0aad8f7d000fe58a352acc",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "fb1d8edef4e76f1705e5061cbeb1d04adcf2a29a",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/CMakeLists.txt",
      "new_id": "e843564040fc01519e2e443590099bfce72ea0df",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "825b28cbc0285bd182f61d6c9151ec126d8e3d62",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/annotate_kernel_for_translation.mlir"
    }
  ]
}
