[clang] [CIR] Handle non-zero-initializable types in emitNullInitialization (PR #201654)

Andy Kaylor via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 5 15:49:08 PDT 2026


================
@@ -1302,10 +1302,19 @@ void CIRGenFunction::emitNullInitialization(mlir::Location loc, Address destPtr,
 
   // If the type contains a pointer to data member we can't memset it to zero.
   // Instead, create a null constant and copy it to the destination.
-  // TODO: there are other patterns besides zero that we can usefully memset,
-  // like -1, which happens to be the pattern used by member-pointers.
+  // Member pointers use -1 as the null value, so a plain zero store would be
----------------
andykaylor wrote:

The TODO comment that you deleted here was copied directly from classic codegen. You should leave it.

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


More information about the cfe-commits mailing list