[clang] [CIR] Add abstract array delete operation with expansion during CXXABILowering (PR #185134)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 9 06:35:50 PDT 2026


================
@@ -3589,6 +3589,45 @@ def CIR_LLVMIntrinsicCallOp : CIR_Op<"call_llvm_intrinsic"> {
   ];
 }
 
+//===----------------------------------------------------------------------===//
+// DeleteArrayOp
+//===----------------------------------------------------------------------===//
+
+def CIR_DeleteArrayOp : CIR_Op<"delete_array"> {
+  let summary = "Delete address representing an array";
+  let description = [{
+    `cir.delete_array` operation deletes an array. For example, `delete[] ptr;`
+    will be translated to `cir.delete_array %ptr`.
+
+    When present, the AST attribute provides the CXXDeleteExpr for generating
----------------
erichkeane wrote:

I quite dislike the AST being  in here.  What details do we need from the expression that we cant already lower? 

https://github.com/llvm/llvm-project/pull/185134


More information about the cfe-commits mailing list