[clang] [CIR] Implement isMemcpyEquivalentSpecialMember for trivial copy/move ctors (PR #186700)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 16 06:27:13 PDT 2026


================
@@ -1278,25 +1278,55 @@ mlir::Value CIRGenFunction::getVTablePtr(mlir::Location loc, Address thisAddr,
   return vtable;
 }
 
+// TODO(CIR): This is duplicated from CGClass.cpp. Share between OG and CIR.
+static bool isMemcpyEquivalentSpecialMember(CIRGenModule &cgm,
+                                            const CXXMethodDecl *d) {
+  auto *cd = dyn_cast<CXXConstructorDecl>(d);
+  if (!(cd && cd->isCopyOrMoveConstructor()) &&
----------------
erichkeane wrote:

Can we use this as a chance to improve that side too/all of this?  Should be prettye asy to add it to CXXMethodDecl.

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


More information about the cfe-commits mailing list