)]}'
{
  "commit": "27d389b54701f2e9a03e4f87c3f3de42a0c28d85",
  "tree": "04aea019692061c3170af3c74da38522f83a7bf4",
  "parents": [
    "2316c18136b065e2c848f284eeeb267f294ae41c"
  ],
  "author": {
    "name": "Eli Friedman",
    "email": "efriedma@qti.qualcomm.com",
    "time": "Thu May 14 15:42:34 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu May 14 15:44:31 2026 -0700"
  },
  "message": "[AArch64] Make width of stack protector guard value load configurable. (#195379)\n\nCertain embedded targets store the value of the stack protector global\nin an MMIO register, which requires a load of a specific width. Allow\nchanging the backend to emit a 4-byte load for the value of the stack\nprotector, instead of an 8-byte load. (Or vice versa for an ilp32\ntarget.)\n\nThe current version of the patch has a limitation: it still allocates a\npointer-sized stack slot for the guard. This could be fixed in the\nfuture, if it becomes relevant.\n\nGitOrigin-RevId: 57fcde7df138c64793cf349bb97303e921f9c5f6\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fd0b6d9096f501d075a904910f1b0a951c0e876a",
      "old_mode": 33188,
      "old_path": "include/clang/Basic/CodeGenOptions.def",
      "new_id": "aa36de6edecbf42f45e8aa8ed31c24d2ecb95b7c",
      "new_mode": 33188,
      "new_path": "include/clang/Basic/CodeGenOptions.def"
    },
    {
      "type": "modify",
      "old_id": "0dc74ea8119259c2183432b32367d538d63d47fd",
      "old_mode": 33188,
      "old_path": "include/clang/Options/Options.td",
      "new_id": "71ad4b706b486cf867089ef74469581dd935dff2",
      "new_mode": 33188,
      "new_path": "include/clang/Options/Options.td"
    },
    {
      "type": "modify",
      "old_id": "416a5beca0de78e4cb0fc297b1fec57d463e8bea",
      "old_mode": 33188,
      "old_path": "lib/CodeGen/CodeGenModule.cpp",
      "new_id": "9ed67d9f856791888c1a9d636bd7be55c0a38668",
      "new_mode": 33188,
      "new_path": "lib/CodeGen/CodeGenModule.cpp"
    },
    {
      "type": "modify",
      "old_id": "92b3045dceff2ae03a333fa2f449d30b28c86a56",
      "old_mode": 33188,
      "old_path": "lib/Driver/ToolChains/Clang.cpp",
      "new_id": "e41177553967ce6b9be1f59ac5d2e4314603f0c2",
      "new_mode": 33188,
      "new_path": "lib/Driver/ToolChains/Clang.cpp"
    },
    {
      "type": "modify",
      "old_id": "7bffa2a1107a4aedfdfc34421b125c054911abcb",
      "old_mode": 33188,
      "old_path": "test/CodeGen/stack-protector-guard.c",
      "new_id": "5438671483aff68218d9089c1b8c3bf04b0af188",
      "new_mode": 33188,
      "new_path": "test/CodeGen/stack-protector-guard.c"
    }
  ]
}
