llvm
348295ac - [CIR] Use data size in emitAggregateCopy for overlapping copies (#186702)

Commit
9 hours ago
[CIR] Use data size in emitAggregateCopy for overlapping copies (#186702) Add skip_tail_padding property to cir.copy to handle potentially-overlapping subobject copies directly, instead of falling back to cir.libc.memcpy. When set, the lowering uses the record's data size (excluding tail padding) for the memcpy length. This keeps typed semantics and promotability of cir.copy. Also fix CXXABILowering to preserve op properties when recreating operations, and expose RecordType::computeStructDataSize() for computing data size of padded record types.
Author
Parents
Loading