================
@@ -43,7 +43,6 @@ struct HasDtor {
 // CHECK-NEXT: acc.yield
 // CHECK-NEXT: } copy {
 // CHECK-NEXT: ^bb0(%[[ARG_FROM:.*]]: !cir.ptr<!rec_NoCopyConstruct> {{.*}}, 
%[[ARG_TO:.*]]: !cir.ptr<!rec_NoCopyConstruct> {{.*}}):
-// CHECK-NEXT: cir.copy %[[ARG_FROM]] to %[[ARG_TO]] : 
!cir.ptr<!rec_NoCopyConstruct>
----------------
xlauko wrote:

@andykaylor I believe this was an error in previous implementation. I followed 
what CG does. After 
https://github.com/llvm/llvm-project/pull/186700/changes/BASE..a5dd902ce47fc67f2571ba8d9062c98301c27240#diff-b1a45d745b4ee140ad997e53f4fc1159763bb249e1c048920dfb7abf1eea9006R1301
 and `emitAggregateCopy`. This does not emit copy for empty structs:

https://github.com/llvm/llvm-project/blob/e672e88a966c939bfd32d5619cea496ad67bf338/clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp#L1191



https://github.com/llvm/llvm-project/pull/186700
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to