Skip to content

Commit 08fdbbe

Browse files
committed
[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).
1 parent 88771c4 commit 08fdbbe

File tree

1 file changed

+1
-5
lines changed

1 file changed

+1
-5
lines changed

llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1292,12 +1292,8 @@ bool MemCpyOptPass::processMemSetMemCpyDependence(MemCpyInst *MemCpy,
12921292
Value *SizeDiff = Builder.CreateSub(DestSize, SrcSize);
12931293
Value *MemsetLen = Builder.CreateSelect(
12941294
Ule, ConstantInt::getNullValue(DestSize->getType()), SizeDiff);
1295-
unsigned DestAS = Dest->getType()->getPointerAddressSpace();
12961295
Instruction *NewMemSet = Builder.CreateMemSet(
1297-
Builder.CreateGEP(
1298-
Builder.getInt8Ty(),
1299-
Builder.CreatePointerCast(Dest, Builder.getInt8PtrTy(DestAS)),
1300-
SrcSize),
1296+
Builder.CreateGEP(Builder.getInt8Ty(), Dest, SrcSize),
13011297
MemSet->getOperand(1), MemsetLen, Alignment);
13021298

13031299
assert(isa<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(MemCpy)) &&

0 commit comments

Comments
 (0)