[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