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

Henrich Lauko via cfe-commits cfe-commits at lists.llvm.org
Sun Mar 15 22:50:54 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()) &&
----------------
xlauko wrote:

Don't tell me about it, though this is classic codegen copy-paste :(

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


More information about the cfe-commits mailing list