)]}'
{
  "commit": "bef7c1bdff1a701ede9ac349505a82048030b46c",
  "tree": "d3725e586658c3c8f77ad0f280687a7c7f49e424",
  "parents": [
    "df4c367585cb29327551f151ca99c9c9315459b5"
  ],
  "author": {
    "name": "Erich Keane",
    "email": "ekeane@nvidia.com",
    "time": "Fri Aug 29 15:46:08 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Aug 29 15:46:08 2025 -0700"
  },
  "message": "[OpenACC] \u0027reduction\u0027 init lowering for +, |, ^, || (#155924)\n\nThese four operators have an initial value of 0, so they are able to use\nC/C++ \u0027zero init\u0027. This patch adds the infrastructure to the Sema init\ncalculations to differentiate based on the reduction operator, then\nenables emission of the inits in CodeGen (which should work for all\n    inits, once generated).\n\nThe rest of this test is just updating validation to make sure that the\ninits happen correctly for all 4 operators.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e7b62aafc060b5674da63f7ed30db3678965a1ab",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Sema/SemaOpenACC.h",
      "new_id": "42e86582c3b06fc4f67fb62fe38aed1495c27b60",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Sema/SemaOpenACC.h"
    },
    {
      "type": "modify",
      "old_id": "0f2ca2dbe75c76aceb839ad8cd974b983a0f86a6",
      "old_mode": 33188,
      "old_path": "clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp",
      "new_id": "37533368af4b2da0f4b90c6a625c7e88460faad2",
      "new_mode": 33188,
      "new_path": "clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp"
    },
    {
      "type": "modify",
      "old_id": "14575224065313559074bc2c9ac4e1430953a025",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/SemaOpenACC.cpp",
      "new_id": "8e87cae80804b62066e93b6a86616ebb0be5cd6d",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/SemaOpenACC.cpp"
    },
    {
      "type": "modify",
      "old_id": "e65526232a95f3c79f2ce03b65287f99856dcc45",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/SemaOpenACCClause.cpp",
      "new_id": "bb61cedbdc199aaf90c8a5f410d86c964722963f",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/SemaOpenACCClause.cpp"
    },
    {
      "type": "modify",
      "old_id": "827e568c83b3875e062044db3bb7c99d6781eb16",
      "old_mode": 33188,
      "old_path": "clang/lib/Sema/TreeTransform.h",
      "new_id": "aa1bb3232d6faca70a07c25ede77e224e791ba68",
      "new_mode": 33188,
      "new_path": "clang/lib/Sema/TreeTransform.h"
    },
    {
      "type": "modify",
      "old_id": "a3f62b4af3c27856403e37c03452b2c041242a78",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp",
      "new_id": "97b2479c245d8fadf143519d03716fb08bf57de0",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp"
    },
    {
      "type": "modify",
      "old_id": "f2ddce8d17082625e2bf32f4fae58d89d32ea509",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp",
      "new_id": "9d8b4f59b4c90c98baf12d6c75bd88bf9f75da97",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp"
    },
    {
      "type": "modify",
      "old_id": "030f084f7452bf5b0b68eb93c7ab501e043c8e7f",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp",
      "new_id": "3c41188bb09db539e937ad2d5801143fd98a2d18",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp"
    },
    {
      "type": "modify",
      "old_id": "3b01afb58b888d5480f92d6b30158af4e4ec070a",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp",
      "new_id": "4f6fd286dc87e45c36c5cf53dbbc46cb02091c6c",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp"
    },
    {
      "type": "modify",
      "old_id": "fa99bc9148cfcf89eec4ab505ad90e083f84cc19",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp",
      "new_id": "38c7d32c6ed8bd350789fe2df1dd2159b287bbf0",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp"
    },
    {
      "type": "modify",
      "old_id": "bc83d29da6afc99862bf01c4695417c2c304a6a3",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c",
      "new_id": "a40ea1fed87ab041f355073847f1f096095c087e",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c"
    },
    {
      "type": "modify",
      "old_id": "f84cdda12db53605efa3b5d542bf49f4cd58882c",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp",
      "new_id": "89af9d491097db41d1b6f58ac277119839a415d6",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp"
    },
    {
      "type": "modify",
      "old_id": "feb2522148ff10c1707e83dfaa703b059a514242",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c",
      "new_id": "6047578efde2bb1a512836322586ee5bfc983e8e",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c"
    },
    {
      "type": "modify",
      "old_id": "a1afec13aa35e4533b7600dab91417d8045c3f29",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp",
      "new_id": "2351ace27cf71e0ce60a2ae26ec27a1f5e0876b8",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp"
    },
    {
      "type": "modify",
      "old_id": "2dc8afd81d84f7f8f817d374494756b15ef11a91",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp",
      "new_id": "abb8d07f0459aed193e79ad9a5c8cb6c88a204b3",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp"
    },
    {
      "type": "modify",
      "old_id": "9b0a4d9f9e30b77ec51621545a062834f7c170b2",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c",
      "new_id": "877230c3ab282766daa862072dad3c86e783336a",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c"
    },
    {
      "type": "modify",
      "old_id": "1e38165db1f8c705842f1c27058297479b4345dd",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp",
      "new_id": "c1efc92a4002ff49cbb84805ecb0f69189d4c89b",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp"
    },
    {
      "type": "modify",
      "old_id": "40455dddddf06b1495d067a566c63f9838b2ccb5",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp",
      "new_id": "87203bfa2ed5ff593801615a6450bc5419ed85e8",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp"
    },
    {
      "type": "modify",
      "old_id": "812b09436a5db5f47e17ee2313a307b6a006610c",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp",
      "new_id": "3dada2d67faa5215c42b7768e93a794d710bd59d",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp"
    },
    {
      "type": "modify",
      "old_id": "cc4cd7d7e1f6bd639dc0e67908f8a39f9be454a8",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp",
      "new_id": "0d3a018c91ef6422305ad3533affa3c5d1fdb875",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp"
    },
    {
      "type": "modify",
      "old_id": "52451d22e67429c7ac19ec1fd45a9fdad57148d4",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp",
      "new_id": "43b50c6a46e8901ed050577df22ae01dd44f4360",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp"
    },
    {
      "type": "modify",
      "old_id": "65b9258bc995f2c759c3417de7cf63dee2d7ae7c",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp",
      "new_id": "97ade74863ea9bc1181f0b40b8f0abbdd588a8f9",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp"
    },
    {
      "type": "modify",
      "old_id": "e7f363b8d04767e562fb6ad1df091c6973678b59",
      "old_mode": 33188,
      "old_path": "clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp",
      "new_id": "b0191fcf6a5ab825439507398ed423c316832b1f",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp"
    }
  ]
}
