)]}'
{
  "commit": "b8e291301acb2cdc610e3e3775c17812d803ca58",
  "tree": "1f7923e027605d74581f546db2ff3e51beb526b4",
  "parents": [
    "fb3b88a5c1cd941b7790e0789734bbe099f66747"
  ],
  "author": {
    "name": "Joseph Huber",
    "email": "huberjn@outlook.com",
    "time": "Tue Aug 04 22:47:00 2026 -0500"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Tue Aug 04 20:50:43 2026 -0700"
  },
  "message": "[libclc] Add initial support for libclc execution conformance tests (#214072)\n\nSummary:\nThis uses the `llvm-gpu-loader` tool to invoke OpenCL test kernels. This\nroutes OpenCL through the standard compute runtimes, which aren\u0027t\nexactly 1-to-1 with OpenCL, but it\u0027s close enough. Obviously, the best\nsolution would be to have a real OpenCL host library that can launch\nthese, but this is the best we can get in-tree and is very sipmle, write\nkernel, test kernel.\n\nThe goal is to have a lot more tests run here, but this just gets the\nbasic infrastructure in place. We won\u0027t be able to do full conformance\nlike external suites, like exhaustive math, but I think its\u0027 a step in\nthe right direction. It looks like this on my side:\n\n```console\n$ ninja check-libclc-amdgpu-amd-amdhsa-llvm\n```\n\nThis requires building with the LLVM `offload/` runtime enabled for the\nsource compiler.\n\nGitOrigin-RevId: d87c685d5d88fe00b0594fc238b9afb16ba6eb64\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0cbbc2838d624dc1ee2901ad724498434b2f8a87",
      "old_mode": 33188,
      "old_path": "test/CMakeLists.txt",
      "new_id": "609b3d50d1b2fea59c050189138a005b65897330",
      "new_mode": 33188,
      "new_path": "test/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f941ad3fc9fb17a6f50cef3336e39c79a9211318",
      "new_mode": 33188,
      "new_path": "test/conformance/lit.local.cfg"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "43130d802652ceab43f0c0befdd0a4fc23fa6a4c",
      "new_mode": 33188,
      "new_path": "test/conformance/work_group_reduce.cl"
    },
    {
      "type": "modify",
      "old_id": "be5cad7f7494e751b84b4ca641ddef83a0fd7c0d",
      "old_mode": 33188,
      "old_path": "test/lit.cfg.py",
      "new_id": "237e2418075bf6224e80dc402893486b9f5cf471",
      "new_mode": 33188,
      "new_path": "test/lit.cfg.py"
    },
    {
      "type": "modify",
      "old_id": "6b8b5456b2174ad6ede71014c2b9d9c94b651c1f",
      "old_mode": 33188,
      "old_path": "test/lit.site.cfg.py.in",
      "new_id": "a401bcf031169aaa04c468a325ed5df655bd7104",
      "new_mode": 33188,
      "new_path": "test/lit.site.cfg.py.in"
    }
  ]
}
