)]}'
{
  "commit": "561dcb26d4597b592caa417d36c1a4e09fb2be2d",
  "tree": "3252126e1346a22765abc8357fca81c61d7978ee",
  "parents": [
    "369be311a7b8344699d12719a8fa557fe8934e46"
  ],
  "author": {
    "name": "Joseph Huber",
    "email": "huberjn@outlook.com",
    "time": "Fri Mar 21 08:25:52 2025 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Mar 21 08:25:52 2025 -0500"
  },
  "message": "[Clang] Permit `-Xarch_` to be used with `--offload-arch` (#131884)\n\nSummary:\nThe `--offload-arch` option is very complicated, but roughly behaves as\nthe `-march` option for several compilations at once. This creates\nproblems when we try to combine multiple separate architectures into\none, as happens with SYCL, OpenMP, and HIP w/ SPIR-V.\n\nThe existing solution used by OpenMP is the `-Xopenmp-target` option,\nthis lets you select which `--offload-arch` options go to which\ntoolchain. This patch permits `-Xarch_` to be used in the same way.\n\nThere are concerns about whether or not this falls into the `-Xarch_`\numbrella because it changes the driver behaviour, but I think this is\nthe\neasiest way to handle this problem. The existing solution seems to be\nprefixing things and adding more magic handling into `--offload-arch`.\nLike SYCL is doing `nvidia_gpu_sm_89` instead of just `-Xarch_nvptx64\n--offload-arch\u003dsm_89`.\n\nThe only reason this is more complicated than just doing `-Xarch_sm_89\n-march\u003d...` is because we need to know to create multiple jobs for each\narchitecture.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ee783f8b09c24f5f55ff83f6d9ce1a97df2708c6",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Driver/Options.td",
      "new_id": "762e57be34eb0066324ff91b787043d47f14cec2",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Driver/Options.td"
    },
    {
      "type": "modify",
      "old_id": "8856dac1984650f3009e1902acad46461ff80848",
      "old_mode": 33188,
      "old_path": "clang/test/Driver/offload-Xarch.c",
      "new_id": "8106dcfcd13540fbdcb48c463e050664fcac7aec",
      "new_mode": 33188,
      "new_path": "clang/test/Driver/offload-Xarch.c"
    }
  ]
}
