[llvm] 08fdbbe - [MemCpyOpt] Drop redundant CreatePointerCast
Bjorn Pettersson via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 18 13:17:37 PDT 2023
Author: Bjorn Pettersson
Date: 2023-09-18T22:17:10+02:00
New Revision: 08fdbbeb09c06ff51180a3179fb86e7254f6295b
URL: https://github.com/llvm/llvm-project/commit/08fdbbeb09c06ff51180a3179fb86e7254f6295b
DIFF: https://github.com/llvm/llvm-project/commit/08fdbbeb09c06ff51180a3179fb86e7254f6295b.diff
LOG: [MemCpyOpt] Drop redundant CreatePointerCast
Given that transition to opaque pointers a call to CreatePointerCast
in processMemSetMemCpyDependence was found redundant. It would cast
from "ptr" to "ptr" (both associated with the same address space).
Added:
Modified:
llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
index a21ee6151fe026d..d87f2fb59814edf 100644
--- a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
+++ b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
@@ -1292,12 +1292,8 @@ bool MemCpyOptPass::processMemSetMemCpyDependence(MemCpyInst *MemCpy,
Value *SizeDiff = Builder.CreateSub(DestSize, SrcSize);
Value *MemsetLen = Builder.CreateSelect(
Ule, ConstantInt::getNullValue(DestSize->getType()), SizeDiff);
- unsigned DestAS = Dest->getType()->getPointerAddressSpace();
Instruction *NewMemSet = Builder.CreateMemSet(
- Builder.CreateGEP(
- Builder.getInt8Ty(),
- Builder.CreatePointerCast(Dest, Builder.getInt8PtrTy(DestAS)),
- SrcSize),
+ Builder.CreateGEP(Builder.getInt8Ty(), Dest, SrcSize),
MemSet->getOperand(1), MemsetLen, Alignment);
assert(isa<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(MemCpy)) &&
More information about the llvm-commits
mailing list