Home
last modified time | relevance | path

Searched refs:Memcpy (Results 1 – 12 of 12) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLowerMemIntrinsics.cpp502 static bool canOverlap(MemTransferBase<T> *Memcpy, ScalarEvolution *SE) { in canOverlap() argument
504 auto *SrcSCEV = SE->getSCEV(Memcpy->getRawSource()); in canOverlap()
505 auto *DestSCEV = SE->getSCEV(Memcpy->getRawDest()); in canOverlap()
506 if (SE->isKnownPredicateAt(CmpInst::ICMP_NE, SrcSCEV, DestSCEV, Memcpy)) in canOverlap()
512 void llvm::expandMemCpyAsLoop(MemCpyInst *Memcpy, in expandMemCpyAsLoop() argument
515 bool CanOverlap = canOverlap(Memcpy, SE); in expandMemCpyAsLoop()
516 if (ConstantInt *CI = dyn_cast<ConstantInt>(Memcpy->getLength())) { in expandMemCpyAsLoop()
518 /* InsertBefore */ Memcpy, in expandMemCpyAsLoop()
519 /* SrcAddr */ Memcpy->getRawSource(), in expandMemCpyAsLoop()
520 /* DstAddr */ Memcpy->getRawDest(), in expandMemCpyAsLoop()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DPreISelIntrinsicLowering.cpp217 auto *Memcpy = cast<MemCpyInst>(Inst); in expandMemIntrinsicUses() local
218 Function *ParentFunc = Memcpy->getFunction(); in expandMemIntrinsicUses()
220 if (shouldExpandMemIntrinsicWithSize(Memcpy->getLength(), TTI)) { in expandMemIntrinsicUses()
226 expandMemCpyAsLoop(Memcpy, TTI); in expandMemIntrinsicUses()
228 Memcpy->eraseFromParent(); in expandMemIntrinsicUses()
237 auto *Memcpy = cast<MemCpyInlineInst>(Inst); in expandMemIntrinsicUses() local
238 if (isa<ConstantInt>(Memcpy->getLength())) in expandMemIntrinsicUses()
241 Function *ParentFunc = Memcpy->getFunction(); in expandMemIntrinsicUses()
243 expandMemCpyAsLoop(Memcpy, TTI); in expandMemIntrinsicUses()
245 Memcpy->eraseFromParent(); in expandMemIntrinsicUses()
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/
H A DNVPTXLowerAggrCopies.cpp127 if (MemCpyInst *Memcpy = dyn_cast<MemCpyInst>(MemCall)) { in runOnFunction() local
128 expandMemCpyAsLoop(Memcpy, TTI); in runOnFunction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DLoopIdiomRecognize.h36 static bool Memcpy; member
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DExpandVariadics.cpp299 enum Tag { Store, Memcpy, Padding }; enumerator
311 append<Memcpy>(T, V, Bytes); in memcpy()
348 if (tag == Memcpy) in initializeStructAlloca()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopIdiomRecognize.cpp122 bool DisableLIRP::Memcpy; member in DisableLIRP
127 cl::location(DisableLIRP::Memcpy), cl::init(false),
181 Memcpy, enumerator
476 if (HasMemcpy && !DisableLIRP::Memcpy) { in isLegalStore()
509 : LegalStoreKind::Memcpy; in isLegalStore()
539 case LegalStoreKind::Memcpy: in collectStores()
765 if ((!HasMemcpy && !isa<MemCpyInlineInst>(MCI)) || DisableLIRP::Memcpy) in processLoopMemCpy()
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZTargetTransformInfo.cpp45 if (const MemCpyInst *Memcpy = dyn_cast<MemCpyInst>(User)) { in isUsedAsMemCpySource() local
46 if (Memcpy->getOperand(1) == V && !Memcpy->isVolatile()) { in isUsedAsMemCpySource()
/freebsd/contrib/llvm-project/llvm/lib/Target/Xtensa/
H A DXtensaISelLowering.cpp356 SDValue Memcpy = DAG.getMemcpy( in LowerCall() local
360 MemOpChains.push_back(Memcpy); in LowerCall()
/freebsd/contrib/llvm-project/clang/lib/AST/Interp/
H A DOpcodes.td747 def Memcpy : Opcode;
H A DInterp.h1792 inline bool Memcpy(InterpState &S, CodePtr OpPC) { in Memcpy() function
/freebsd/contrib/llvm-project/clang/include/clang/Basic/
H A DBuiltinsNVPTX.def694 // Memcpy, Memset
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DIntrinsics.td966 // Memcpy semantic that is guaranteed to be inlined.