)]}'
{
  "commit": "462b60ba14f28b15422c0197c19a0e9fd65fb887",
  "tree": "fe4f2c157bd89a244a40c7fed2e6ad0384ec7e74",
  "parents": [
    "b2e063bf37f4ea3625c06ffdbfdc4cb951bb5be0"
  ],
  "author": {
    "name": "Jiachen Yuan",
    "email": "jiacheny@nvidia.com",
    "time": "Tue May 05 03:59:52 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue May 05 11:59:52 2026 +0100"
  },
  "message": "[ADT] Bitset: add shift operators, word accessors, and etc (#193400)\n\nThis PR is split out from #191757 per reviewer request. It has the\nfollowing changes to `llvm::Bitset\u003cN\u003e`:\n* Added `operator\u003c\u003c`/`\u003c\u003c\u003d`/`\u003e\u003e`/`\u003e\u003e\u003d`, `getNumWords()`, `getWord()`, and\n`findLastSet()`.\n* Moved the `std::array\u003c\u003e` constructor from protected to **public** and\n**explicit**.\n \nA follow-up PR will use these to re-implement `LaneBitmask` as a\n`llvm::Bitset` wrapper.\n\n---\nThe unit test in the PR is largely generated by LLMs. I have reviewed it\nand manually applied changes to cover more edge cases.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9dc0f24b1d9f51428c16b03fdfe5069df9b49a3c",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/ADT/Bitset.h",
      "new_id": "38e9684df9714760f26292aaeff7193481471339",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/ADT/Bitset.h"
    },
    {
      "type": "modify",
      "old_id": "678197e31a379f9660746f3858b7a7eded6739d6",
      "old_mode": 33188,
      "old_path": "llvm/unittests/ADT/BitsetTest.cpp",
      "new_id": "fc5f2bf8e844d2df404d40a1a22a9eaba1c45e10",
      "new_mode": 33188,
      "new_path": "llvm/unittests/ADT/BitsetTest.cpp"
    }
  ]
}
