)]}'
{
  "commit": "9e611e82b8abcebe2a20fa5337f97ab2f4dddeb0",
  "tree": "82704482b1a1ddec74ca341706323fe8c5812edd",
  "parents": [
    "7a104955e74f780db9c325a85579e26e000827e4"
  ],
  "author": {
    "name": "Andy Kaylor",
    "email": "akaylor@nvidia.com",
    "time": "Tue Mar 10 13:02:47 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Mar 10 13:02:47 2026 -0700"
  },
  "message": "[CIR] Add abstract delete operation without AST attribute (#185538)\n\nThis introduces the cir.delete_array operation, adds code to emit that\noperation during CIR codegen, and adds lowering of the operation to the\nCXXABILowering pass.\n\nIn order to handle possible variations in the delete representation, we\nadd the name of the delete function, the usual delete parameters, and,\noptionally, the name of the element destructor function.\n\nDuring the CXXABILoweringPass, the cir.delete_array operation is\nexpanded to call the delete function. This will be extended in a future\nchange to handle reading the array cookie, if required, and calling\nelement destructors.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b1be1d5daf4e0c5ab55a4da8a4b71623b830e51c",
      "old_mode": 33188,
      "old_path": "clang/include/clang/CIR/Dialect/IR/CIRAttrs.td",
      "new_id": "16d32802d7c2c990a46c4640cba6f9ea2ab8e8a4",
      "new_mode": 33188,
      "new_path": "clang/include/clang/CIR/Dialect/IR/CIRAttrs.td"
    },
    {
      "type": "modify",
      "old_id": "2c109eaeb392ee8124d3bee728831d2136aa3779",
      "old_mode": 33188,
      "old_path": "clang/include/clang/CIR/Dialect/IR/CIROps.td",
      "new_id": "d10bed40e75d491889c5e6fb534a4eac2851124e",
      "new_mode": 33188,
      "new_path": "clang/include/clang/CIR/Dialect/IR/CIROps.td"
    },
    {
      "type": "modify",
      "old_id": "4bfa8df7ad55a602cd5da42aef7b586a87c4886a",
      "old_mode": 33188,
      "old_path": "clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h",
      "new_id": "2fb633ee9221ac96806eb9a1df8b1b8baaedefe0",
      "new_mode": 33188,
      "new_path": "clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h"
    },
    {
      "type": "modify",
      "old_id": "35f74e7120b0baebf8e484e00180123de7aa3440",
      "old_mode": 33188,
      "old_path": "clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp",
      "new_id": "98c7000422c5c9269fdef25e2675c17637de4d8f",
      "new_mode": 33188,
      "new_path": "clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp"
    },
    {
      "type": "modify",
      "old_id": "b76dee98713cc033d6dcabc2344018b5cc787372",
      "old_mode": 33188,
      "old_path": "clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp",
      "new_id": "fd30ea78c4b710e4f9316a96ea1c19944783365a",
      "new_mode": 33188,
      "new_path": "clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "22de55152a1770a30d20ac2df49ebca006ed2b07",
      "new_mode": 33188,
      "new_path": "clang/test/CIR/CodeGen/delete-array.cpp"
    }
  ]
}
