Lines Matching defs:MDep

1103 /// the memcpy 'MDep'. Try to simplify M to copy from MDep's input if we can.
1105 MemCpyInst *MDep,
1109 // ignore the input and let someone else zap MDep. This handles cases like:
1112 if (M->getSource() == MDep->getSource())
1116 if (MDep->isVolatile())
1123 if (M->getSource() != MDep->getDest()) {
1125 M->getSource()->getPointerOffsetFrom(MDep->getDest(), DL);
1133 if (MForwardOffset != 0 || MDep->getLength() != M->getLength()) {
1134 auto *MDepLen = dyn_cast<ConstantInt>(MDep->getLength());
1142 auto *CopySource = MDep->getSource();
1153 MaybeAlign CopySourceAlign = MDep->getSourceAlign();
1155 auto MCopyLoc = MemoryLocation::getForSource(MDep).getWithNewSize(
1166 M->getRawDest()->getPointerOffsetFrom(MDep->getRawSource(), DL);
1191 // TODO: If the code between M and MDep is transparent to the destination "c",
1193 if (writtenBetween(MSSA, BAA, MCopyLoc, MSSA->getMemoryAccess(MDep),
1211 if (isModSet(BAA.getModRefInfo(M, MemoryLocation::getForSource(MDep)))) {
1222 << *MDep << '\n'
1760 if (auto *MDep = dyn_cast_or_null<MemSetInst>(MD->getMemoryInst()))
1762 if (processMemSetMemCpyDependence(M, MDep, BAA))
1793 if (auto *MDep = dyn_cast<MemCpyInst>(MI))
1794 if (processMemCpyMemCpyDependence(M, MDep, BAA))
1796 if (auto *MDep = dyn_cast<MemSetInst>(MI)) {
1797 if (performMemCpyToMemSetOptzn(M, MDep, BAA)) {
1935 MemCpyInst *MDep = nullptr;
1940 MDep = dyn_cast_or_null<MemCpyInst>(MD->getMemoryInst());
1945 if (!MDep || MDep->isVolatile() ||
1946 ByValArg->stripPointerCasts() != MDep->getDest())
1950 auto *C1 = dyn_cast<ConstantInt>(MDep->getLength());
1963 MaybeAlign MemDepAlign = MDep->getSourceAlign();
1965 getOrEnforceKnownAlignment(MDep->getSource(), ByValAlign, DL, &CB, AC,
1970 if (MDep->getSource()->getType() != ByValArg->getType())
1979 if (writtenBetween(MSSA, BAA, MemoryLocation::getForSource(MDep),
1980 MSSA->getMemoryAccess(MDep), CallAccess))
1984 << " " << *MDep << "\n"
1988 combineAAMetadata(&CB, MDep);
1989 CB.setArgOperand(ArgNo, MDep->getSource());
2043 MemCpyInst *MDep = nullptr;
2047 MDep = dyn_cast_or_null<MemCpyInst>(MD->getMemoryInst());
2051 if (!MDep || MDep->isVolatile() || AI != MDep->getDest())
2055 if (MDep->getSource()->getType() != ImmutArg->getType())
2059 auto *MDepLen = dyn_cast<ConstantInt>(MDep->getLength());
2066 Align MemDepAlign = MDep->getSourceAlign().valueOrOne();
2069 getOrEnforceKnownAlignment(MDep->getSource(), AllocaAlign, DL, &CB, AC,
2079 if (writtenBetween(MSSA, BAA, MemoryLocation::getForSource(MDep),
2080 MSSA->getMemoryAccess(MDep), CallAccess))
2084 if (isModSet(BAA.getModRefInfo(&CB, MemoryLocation::getForSource(MDep))))
2088 << " " << *MDep << "\n"
2092 combineAAMetadata(&CB, MDep);
2093 CB.setArgOperand(ArgNo, MDep->getSource());