)]}'
{
  "commit": "42eb54b7743df421af10ebe14b67bb79b46ecabb",
  "tree": "ec4bfbddf43d21ce08632a9a720bd9f1a8284de0",
  "parents": [
    "d4c41804175e9cb37266c410cafe9caaac1819ca"
  ],
  "author": {
    "name": "Joseph Huber",
    "email": "huberjn@outlook.com",
    "time": "Mon Oct 28 07:17:50 2024 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Oct 28 07:17:50 2024 -0700"
  },
  "message": "[Clang] Put offloading globals in the `.llvm.rodata.offloading` section (#111890)\n\nSummary:\nFor our offloading entries, we currently store all the string names of\nkernels that the runtime will need to load from the target executable.\nThese are available via pointer in the `__tgt_offload_entry` struct,\nhowever this makes it difficult to obtain from the object itself. This\npatch simply puts the strings in a named section so they can be easily\nqueried.\n\nThe motivation behind this is that when the linker wrapper is doing\nlinking, it wants to know which kernels the host executable is calling.\nWe *could* get this already via the `.relaomp_offloading_entires`\nsection and trawling through the string table, but that\u0027s quite annoying\nand not portable. The follow-up to this should be to make the linker\nwrapper get a list of all used symbols the device link job should count\nas \"needed\" so we can handle static linking more directly.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ec21f018607ff012ebe082553c0658f337208126",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenCUDA/offloading-entries.cu",
      "new_id": "259e3324e8ac94fea5922127a0dc27b027120551",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenCUDA/offloading-entries.cu"
    },
    {
      "type": "modify",
      "old_id": "010c0bfd3be76b36173c3639c919de91ee1a9bb4",
      "old_mode": 33188,
      "old_path": "llvm/lib/Frontend/Offloading/Utility.cpp",
      "new_id": "7a0a7afcfcb5c9d72ada6b2581b6001249c481b8",
      "new_mode": 33188,
      "new_path": "llvm/lib/Frontend/Offloading/Utility.cpp"
    }
  ]
}
