[llvm] [LowerMemIntrinsics] Use i8 GEPs in memcpy/memmove lowering (PR #112707)
Pierre van Houtryve via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 21 00:38:36 PDT 2024
================
@@ -49,11 +49,12 @@ void llvm::createMemCpyLoopKnownSize(
assert((!AtomicElementSize || !LoopOpType->isVectorTy()) &&
"Atomic memcpy lowering is not supported for vector operand type");
+ Type *Int8Type = Type::getInt8Ty(Ctx);
unsigned LoopOpSize = DL.getTypeStoreSize(LoopOpType);
assert((!AtomicElementSize || LoopOpSize % *AtomicElementSize == 0) &&
- "Atomic memcpy lowering is not supported for selected operand size");
+ "Atomic memcpy lowering is not supported for selected operand size");
- uint64_t LoopEndCount = CopyLen->getZExtValue() / LoopOpSize;
+ uint64_t LoopEndCount = (CopyLen->getZExtValue() / LoopOpSize) * LoopOpSize;
----------------
Pierre-vh wrote:
Why does this divides then multiplies by the same number?
https://github.com/llvm/llvm-project/pull/112707
More information about the llvm-commits
mailing list