[llvm] 7c7896b - [MemCpyOpt] Remove unnecessary typed pointer handling (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 20 03:49:16 PDT 2023
Author: Nikita Popov
Date: 2023-10-20T12:49:07+02:00
New Revision: 7c7896b1beeb1d275a06557111363b99b754398a
URL: https://github.com/llvm/llvm-project/commit/7c7896b1beeb1d275a06557111363b99b754398a
DIFF: https://github.com/llvm/llvm-project/commit/7c7896b1beeb1d275a06557111363b99b754398a.diff
LOG: [MemCpyOpt] Remove unnecessary typed pointer handling (NFC)
Drop code inserting pointer casts. Check pointer types instead of
address spaces.
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 688bcfa57158975..b1c60d12aa1b66a 100644
--- a/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
+++ b/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
@@ -1068,29 +1068,19 @@ bool MemCpyOptPass::performCallSlotOptzn(Instruction *cpyLoad,
// We can't create address space casts here because we don't know if they're
// safe for the target.
- if (cpySrc->getType()->getPointerAddressSpace() !=
- cpyDest->getType()->getPointerAddressSpace())
+ if (cpySrc->getType() != cpyDest->getType())
return false;
for (unsigned ArgI = 0; ArgI < C->arg_size(); ++ArgI)
if (C->getArgOperand(ArgI)->stripPointerCasts() == cpySrc &&
- cpySrc->getType()->getPointerAddressSpace() !=
- C->getArgOperand(ArgI)->getType()->getPointerAddressSpace())
+ cpySrc->getType() != C->getArgOperand(ArgI)->getType())
return false;
// All the checks have passed, so do the transformation.
bool changedArgument = false;
for (unsigned ArgI = 0; ArgI < C->arg_size(); ++ArgI)
if (C->getArgOperand(ArgI)->stripPointerCasts() == cpySrc) {
- Value *Dest = cpySrc->getType() == cpyDest->getType() ? cpyDest
- : CastInst::CreatePointerCast(cpyDest, cpySrc->getType(),
- cpyDest->getName(), C);
changedArgument = true;
- if (C->getArgOperand(ArgI)->getType() == Dest->getType())
- C->setArgOperand(ArgI, Dest);
- else
- C->setArgOperand(ArgI, CastInst::CreatePointerCast(
- Dest, C->getArgOperand(ArgI)->getType(),
- Dest->getName(), C));
+ C->setArgOperand(ArgI, cpyDest);
}
if (!changedArgument)
@@ -1855,9 +1845,8 @@ bool MemCpyOptPass::processByValArgument(CallBase &CB, unsigned ArgNo) {
DT) < *ByValAlign)
return false;
- // The address space of the memcpy source must match the byval argument
- if (MDep->getSource()->getType()->getPointerAddressSpace() !=
- ByValArg->getType()->getPointerAddressSpace())
+ // The type of the memcpy source must match the byval argument
+ if (MDep->getSource()->getType() != ByValArg->getType())
return false;
// Verify that the copied-from memory doesn't change in between the memcpy and
@@ -1931,9 +1920,8 @@ bool MemCpyOptPass::processImmutArgument(CallBase &CB, unsigned ArgNo) {
if (!MDep || MDep->isVolatile() || AI != MDep->getDest())
return false;
- // The address space of the memcpy source must match the immut argument
- if (MDep->getSource()->getType()->getPointerAddressSpace() !=
- ImmutArg->getType()->getPointerAddressSpace())
+ // The type of the memcpy source must match the immut argument
+ if (MDep->getSource()->getType() != ImmutArg->getType())
return false;
// 2-1. The length of the memcpy must be equal to the size of the alloca.
More information about the llvm-commits
mailing list