================
@@ -297,10 +297,10 @@ mlir::LogicalResult
CIRToLLVMCopyOpLowering::matchAndRewrite(
op.getCopySizeInBytes(layout));
assert(!cir::MissingFeatures::aggValueSlotVolatile());
- uint64_t dstTypeAlign = dataLayout.getTypeABIAlignment(convertTypeForMemory(
- *getTypeConverter(), dataLayout, op.getDst().getType().getPointee()));
- uint64_t srcTypeAlign = dataLayout.getTypeABIAlignment(convertTypeForMemory(
- *getTypeConverter(), dataLayout, op.getSrc().getType().getPointee()));
+ uint64_t dstTypeAlign =
+ dataLayout.getTypeABIAlignment(op.getDst().getType().getPointee());
----------------
erichkeane wrote:
That is the bit I mentioned as 'second' in my commit message. Doing
`convertTypeForMemory` for bit-int types ends up getting the array, so the
alignment is wrong. It would be problematic for many reasons for the
before/after types here to have a different alignment, so getting the CIR
alignment SHOULD be the same as the LLVM type anyway (other than the slight
awkwardness of BitInt arrays).
https://github.com/llvm/llvm-project/pull/225470
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits