)]}'
{
  "commit": "e18c45c3715f5dc5f04ea4e58936c74b81780a36",
  "tree": "637f140a85b98c6d63605b82752abb8181a43d51",
  "parents": [
    "8199f3b3218a931cd0a165440b0d99472f4697a4"
  ],
  "author": {
    "name": "Scott Todd",
    "email": "scotttodd@google.com",
    "time": "Thu Jan 06 08:41:18 2022 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jan 06 08:41:18 2022 -0800"
  },
  "message": "Add HAL CTS tests using executables. (#7982)\n\nFixes https://github.com/google/iree/issues/5678 (for `executable_cache_test`, tests issuing dispatches can follow on later)\r\n\r\nTests are filtered based on the HAL driver and compiler target being enabled as well as the presence of a new `COMPILER_TARGET_BACKEND` parameter to the `iree_hal_cts_test_suite()` function.\r\n\r\nIf all of those conditions are met, executable testdata is generated using the new `-iree-mlir-to-hal-executable` translation mode and relevant tests in the suite get to load and reference the generated data.\r\n\r\n---\r\n\r\nRough edges:\r\n\r\n* ~~`iree_file_toc_t` definition copy/paste from `generate_embed_data` (since leaf binaries provide their own implementations)~~\r\n* Specifying executable formats in CMake is hacky (`\"\\\"embedded-elf-\\\" IREE_ARCH\"`)\r\n* We may also want to test the system loader as well as the embedded loader, which is possible with another `iree_hal_cts_test_suite()` call\r\n\r\nI was also expecting the CMake to be a bit gnarly, and it is. Could maybe refactor into some helper functions or golf on the logic a bit. The interface to each HAL implementation is pretty nice, but the new implicit dependency on `iree-translate` makes it harder to use with out-of-tree runtime HAL drivers + compiler targets. Could pass `TRANSLATE_TOOL` as well 🤔 ",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6d9bc26694575c56054c26cea2a115e3b85765ff",
      "old_mode": 33188,
      "old_path": "build_tools/cmake/iree_bytecode_module.cmake",
      "new_id": "f9187025dcd1cdc4f0ff7077a76c320a54ac6689",
      "new_mode": 33188,
      "new_path": "build_tools/cmake/iree_bytecode_module.cmake"
    },
    {
      "type": "modify",
      "old_id": "ec13693f5416cc073ff2bcfc9ce2be2d236b6780",
      "old_mode": 33188,
      "old_path": "build_tools/cmake/iree_c_embed_data.cmake",
      "new_id": "659e25691e46470fa0dd20b523dff7dab0a3439f",
      "new_mode": 33188,
      "new_path": "build_tools/cmake/iree_c_embed_data.cmake"
    },
    {
      "type": "modify",
      "old_id": "68f166ba9b111a8fa36ecad8776738d70049abb2",
      "old_mode": 33188,
      "old_path": "build_tools/cmake/iree_hal_cts_test_suite.cmake",
      "new_id": "3c60e30c6afc30be1bce78d6259276dcd5106784",
      "new_mode": 33188,
      "new_path": "build_tools/cmake/iree_hal_cts_test_suite.cmake"
    },
    {
      "type": "modify",
      "old_id": "0f65682efa7774cff6ecca7812675e47a053c530",
      "old_mode": 33188,
      "old_path": "experimental/rocm/cts/CMakeLists.txt",
      "new_id": "e5d7d073eb8752de15e9395893a74c2a22dcbe45",
      "new_mode": 33188,
      "new_path": "experimental/rocm/cts/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "9e10a2e9567a2e045de60d7364ca381811c61ada",
      "old_mode": 33188,
      "old_path": "iree/hal/cts/CMakeLists.txt",
      "new_id": "dea7cfd9d5edfc3f89aa8bd86bb9f1dad07a4bd1",
      "new_mode": 33188,
      "new_path": "iree/hal/cts/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "611926d89645d05e34c4fde544ecdf015808cba4",
      "old_mode": 33188,
      "old_path": "iree/hal/cts/cts_test_base.h",
      "new_id": "7f3599ac4fba0c54be6c0d3aaee243d3539be4ad",
      "new_mode": 33188,
      "new_path": "iree/hal/cts/cts_test_base.h"
    },
    {
      "type": "modify",
      "old_id": "73dd0f2fc6820a0c999d7463b9f9e82a31577578",
      "old_mode": 33188,
      "old_path": "iree/hal/cts/cts_test_template.cc.in",
      "new_id": "be02a15107d43cccfc86eb8d7288cf9bcf0f6482",
      "new_mode": 33188,
      "new_path": "iree/hal/cts/cts_test_template.cc.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3801f2e62667e64612bd77da8474d9848ef2a8d3",
      "new_mode": 33188,
      "new_path": "iree/hal/cts/executable_cache_test.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0e0e73e74102daf145de748a81ebb8cedac9b12c",
      "new_mode": 33188,
      "new_path": "iree/hal/cts/testdata/executable_cache_test.mlir"
    },
    {
      "type": "modify",
      "old_id": "d0c6f59f28d2ca01bc2a2189d8fd18d47ae221a3",
      "old_mode": 33188,
      "old_path": "iree/hal/cuda/cts/CMakeLists.txt",
      "new_id": "520cd9690694bf140f413300602a434a41d1df7b",
      "new_mode": 33188,
      "new_path": "iree/hal/cuda/cts/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "61c8efeb529a1c6162d8950e1cb785af72ebc311",
      "old_mode": 33188,
      "old_path": "iree/hal/dylib/cts/CMakeLists.txt",
      "new_id": "eb7337bd6d801c9779390665f320a84e9fd10c6e",
      "new_mode": 33188,
      "new_path": "iree/hal/dylib/cts/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "7bc5db1df6c17e0d3ba496ddee04d13d5e5982bd",
      "old_mode": 33188,
      "old_path": "iree/hal/vmvx/cts/CMakeLists.txt",
      "new_id": "f85ae45f297952c4ac5a5ee37fa4bae2672fd0a4",
      "new_mode": 33188,
      "new_path": "iree/hal/vmvx/cts/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "7385754538844fb9945e7c557da0f22e4793dded",
      "old_mode": 33188,
      "old_path": "iree/hal/vulkan/cts/CMakeLists.txt",
      "new_id": "0ca8b65da691327f53e928053d7ec1dd2543ab6a",
      "new_mode": 33188,
      "new_path": "iree/hal/vulkan/cts/CMakeLists.txt"
    }
  ]
}
