Lines Matching defs:MemCpy
1273 /// We've found that the (upward scanning) memory dependence of \p MemCpy is
1275 /// weren't copied over by \p MemCpy.
1292 bool MemCpyOptPass::processMemSetMemCpyDependence(MemCpyInst *MemCpy,
1296 if (!BAA.isMustAlias(MemSet->getDest(), MemCpy->getDest()))
1303 Value *SrcSize = MemCpy->getLength();
1305 SimplifyQuery(MemCpy->getDataLayout(), DT, AC, MemCpy)))
1310 if (isModSet(BAA.getModRefInfo(MemCpy, MemoryLocation::getForSource(MemCpy))))
1318 MSSA->getMemoryAccess(MemCpy)))
1322 Value *Dest = MemCpy->getRawDest();
1325 if (mayBeVisibleThroughUnwinding(Dest, MemSet, MemCpy))
1340 MemCpy->getDestAlign().valueOrOne());
1345 IRBuilder<> Builder(MemCpy);
1352 assert(MemSet->getParent() == MemCpy->getParent() &&
1373 assert(isa<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(MemCpy)) &&
1374 "MemCpy must be a MemoryDef");
1378 cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(MemCpy));
1435 bool MemCpyOptPass::performMemCpyToMemSetOptzn(MemCpyInst *MemCpy,
1440 if (!BAA.isMustAlias(MemSet->getRawDest(), MemCpy->getRawSource()))
1444 Value *CopySize = MemCpy->getLength();
1464 MemoryLocation MemCpyLoc = MemoryLocation::getForSource(MemCpy);
1470 if (hasUndefContents(MSSA, BAA, MemCpy->getSource(), MD, CopySize))
1479 IRBuilder<> Builder(MemCpy);
1481 Builder.CreateMemSet(MemCpy->getRawDest(), MemSet->getOperand(1),
1482 CopySize, MemCpy->getDestAlign());
1484 cast<MemoryDef>(MSSAU->getMemorySSA()->getMemoryAccess(MemCpy));