reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/Scalar/MemCpyOptimizer.cpp
 1140   if (M->isVolatile()) return false;
 1143   if (M->getSource() == M->getDest()) {
 1143   if (M->getSource() == M->getDest()) {
 1144     MD->removeInstruction(M);
 1145     M->eraseFromParent();
 1150   if (GlobalVariable *GV = dyn_cast<GlobalVariable>(M->getSource()))
 1153                                            M->getModule()->getDataLayout())) {
 1154         IRBuilder<> Builder(M);
 1155         Builder.CreateMemSet(M->getRawDest(), ByteVal, M->getLength(),
 1155         Builder.CreateMemSet(M->getRawDest(), ByteVal, M->getLength(),
 1156                              M->getDestAlignment(), false);
 1157         MD->removeInstruction(M);
 1158         M->eraseFromParent();
 1163   MemDepResult DepInfo = MD->getDependency(M);
 1169       if (processMemSetMemCpyDependence(M, MDep))
 1173   ConstantInt *CopySize = dyn_cast<ConstantInt>(M->getLength());
 1187       unsigned Align = MinAlign(M->getDestAlignment(), M->getSourceAlignment());
 1187       unsigned Align = MinAlign(M->getDestAlignment(), M->getSourceAlignment());
 1188       if (performCallSlotOptzn(M, M->getDest(), M->getSource(),
 1188       if (performCallSlotOptzn(M, M->getDest(), M->getSource(),
 1188       if (performCallSlotOptzn(M, M->getDest(), M->getSource(),
 1191         MD->removeInstruction(M);
 1192         M->eraseFromParent();
 1198   MemoryLocation SrcLoc = MemoryLocation::getForSource(M);
 1200       SrcLoc, true, M->getIterator(), M->getParent());
 1200       SrcLoc, true, M->getIterator(), M->getParent());
 1204       return processMemCpyMemCpyDependence(M, MDep);
 1207       MD->removeInstruction(M);
 1208       M->eraseFromParent();
 1216       if (performMemCpyToMemSetOptzn(M, MDep)) {
 1217         MD->removeInstruction(M);
 1218         M->eraseFromParent();