Lines Matching defs:Memcpy
870 static bool canOverlap(MemTransferBase<T> *Memcpy, ScalarEvolution *SE) {
872 const SCEV *SrcSCEV = SE->getSCEV(Memcpy->getRawSource());
873 const SCEV *DestSCEV = SE->getSCEV(Memcpy->getRawDest());
874 if (SE->isKnownPredicateAt(CmpInst::ICMP_NE, SrcSCEV, DestSCEV, Memcpy))
880 void llvm::expandMemCpyAsLoop(MemCpyInst *Memcpy,
883 bool CanOverlap = canOverlap(Memcpy, SE);
884 if (ConstantInt *CI = dyn_cast<ConstantInt>(Memcpy->getLength())) {
886 /* InsertBefore */ Memcpy,
887 /* SrcAddr */ Memcpy->getRawSource(),
888 /* DstAddr */ Memcpy->getRawDest(),
890 /* SrcAlign */ Memcpy->getSourceAlign().valueOrOne(),
891 /* DestAlign */ Memcpy->getDestAlign().valueOrOne(),
892 /* SrcIsVolatile */ Memcpy->isVolatile(),
893 /* DstIsVolatile */ Memcpy->isVolatile(),
898 /* InsertBefore */ Memcpy,
899 /* SrcAddr */ Memcpy->getRawSource(),
900 /* DstAddr */ Memcpy->getRawDest(),
901 /* CopyLen */ Memcpy->getLength(),
902 /* SrcAlign */ Memcpy->getSourceAlign().valueOrOne(),
903 /* DestAlign */ Memcpy->getDestAlign().valueOrOne(),
904 /* SrcIsVolatile */ Memcpy->isVolatile(),
905 /* DstIsVolatile */ Memcpy->isVolatile(),