reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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();