[all-commits] [llvm/llvm-project] 57ee29: [CIR] Implement isMemcpyEquivalentSpecialMember fo...

Henrich Lauko via All-commits all-commits at lists.llvm.org
Thu Apr 2 03:32:15 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 57ee29a2a1fc33add3e1736614e6e666c432a840
      https://github.com/llvm/llvm-project/commit/57ee29a2a1fc33add3e1736614e6e666c432a840
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2026-04-02 (Thu, 02 Apr 2026)

  Changed paths:
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CodeGen/CGClass.cpp
    A clang/test/CIR/CodeGen/copy-constructor-memcpy.cpp
    M clang/test/CIR/CodeGen/coro-task.cpp
    M clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
    M clang/test/CIR/CodeGen/nrvo.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-firstprivate-clause.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause-templates.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-firstprivate-clause.cpp

  Log Message:
  -----------
  [CIR] Implement isMemcpyEquivalentSpecialMember for trivial copy/move ctors (#186700)

Implements isMemcpyEquivalentSpecialMember in CIR codegen so that
trivial copy/move constructors and defaulted union copy/move ops emit a
cir.copy directly instead of making a real constructor call. The logic
is shared with OG codegen by moving the implementation into ASTContext,
where it also gains the pointer field protection (PFP) check that was
previously missing in CIR.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list