)]}'
{
  "commit": "7ad97ed9a70d18f518a2623af3113178fa6f8d79",
  "tree": "6a40a9bb115c5a8287b70899a60cb5b6b137d9a3",
  "parents": [
    "a106f1d70e9271072c8a2b628857e47b72d0e854"
  ],
  "author": {
    "name": "supers1ngular",
    "email": "supers1ngular@baylibre.com",
    "time": "Mon Jul 13 21:37:12 2026 -0700"
  },
  "committer": {
    "name": "supers1ngular",
    "email": "supers1ngular@baylibre.com",
    "time": "Mon Jul 13 21:37:12 2026 -0700"
  },
  "message": "libgomp: Runtime USM\n\nThis patch introduces support for runtime USM, meaning that libgomp\ncan now automatically detect and set Unified Shared Memory capabilities.\nIt can be controlled via a new environment variable, \u0027GOMP_RUNTIME_USM\u0027,\nwhich can be set to \u0027enabled\u0027, \u0027auto\u0027, or \u0027disabled\u0027.  Documentation\nfor the feature has also been added.\n\nlibgomp/ChangeLog:\n\n\t* env.c (enum gomp_runtime_usm_t): New environment variable.\n\t(parse_rt_usm): Parse new environment variable.\n\t(initialize_env): Behavior handling for new variable.\n\t* libgomp-plugin.h (GOMP_OFFLOAD_CAP_AUTO_USM): New capability.\n\t(GOMP_OFFLOAD_get_dev_caps): New function for enumeration.\n\t* libgomp.h (enum gomp_device_num): Fix whitespace.\n\t(enum gomp_runtime_usm_t): Define.\n\t(struct gomp_device_descr): Add \u0027get_dev_caps_func\u0027.\n\t* libgomp.texi: Update documentation.\n\t* plugin/plugin-gcn.c (get_memory_region): Fix whitespace.\n\t(process_reverse_offload): Ditto.\n\t(gcn_exec): Remove preprocessor elision.\n\t(is_apu_with_xnack): New function.\n\t(GCN_DEVICE): Query XNACK support.\n\t(GOMP_OFFLOAD_get_dev_caps): New function.\n\t* plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_dev_caps): Ditto.\n\t* target.c (gomp_init_device): Logic for deciding USM behavior.\n\t(gomp_load_plugin_for_device): Get symbol.\n\t(gomp_target_init): New comment, and fix style.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "07de99b4897743fc852eb623725e4a008975da1a",
      "old_mode": 33188,
      "old_path": "libgomp/env.c",
      "new_id": "3e5f557c5a290e100c2bfe803e2bc2155ab26de0",
      "new_mode": 33188,
      "new_path": "libgomp/env.c"
    },
    {
      "type": "modify",
      "old_id": "5c770c80202e242e3b26912605786234409566ca",
      "old_mode": 33188,
      "old_path": "libgomp/libgomp-plugin.h",
      "new_id": "051666617874b6fb7deefa31e0cfdec9a5e5b74f",
      "new_mode": 33188,
      "new_path": "libgomp/libgomp-plugin.h"
    },
    {
      "type": "modify",
      "old_id": "af771be090e1feafda8ab2fd35b5c6d9652bb6bd",
      "old_mode": 33188,
      "old_path": "libgomp/libgomp.h",
      "new_id": "9f13f9e32c2a10de6adb4cded36cf5334fece1ae",
      "new_mode": 33188,
      "new_path": "libgomp/libgomp.h"
    },
    {
      "type": "modify",
      "old_id": "e12d4488a5ab3731313dbb384de95867adcb27c6",
      "old_mode": 33188,
      "old_path": "libgomp/libgomp.texi",
      "new_id": "526c1ea3ab9beccf75fa5c4f288221b87cbc9c42",
      "new_mode": 33188,
      "new_path": "libgomp/libgomp.texi"
    },
    {
      "type": "modify",
      "old_id": "2a532b1141dc8d8dbd6994de9fd66c504fc8a609",
      "old_mode": 33188,
      "old_path": "libgomp/plugin/plugin-gcn.c",
      "new_id": "adf1691eca1d95a9f4354ac6cfcd0aeecb41bb24",
      "new_mode": 33188,
      "new_path": "libgomp/plugin/plugin-gcn.c"
    },
    {
      "type": "modify",
      "old_id": "0be45c51d35c0d21b49bcab5cf075480311fd190",
      "old_mode": 33188,
      "old_path": "libgomp/plugin/plugin-nvptx.c",
      "new_id": "7e5e044eb74ffc0f02d5e95c135b2c47a5075b1d",
      "new_mode": 33188,
      "new_path": "libgomp/plugin/plugin-nvptx.c"
    },
    {
      "type": "modify",
      "old_id": "c3d395103b4687d4f193ff2bf612b001e9484c85",
      "old_mode": 33188,
      "old_path": "libgomp/target.c",
      "new_id": "859e2de1847186231e593bd66c4fc57af5d4b4e6",
      "new_mode": 33188,
      "new_path": "libgomp/target.c"
    }
  ]
}
