Home
last modified time | relevance | path

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

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLowerMemIntrinsics.cpp870 static bool canOverlap(MemTransferBase<T> *Memcpy, ScalarEvolution *SE) { in canOverlap() argument
872 const SCEV *SrcSCEV = SE->getSCEV(Memcpy->getRawSource()); in canOverlap()
873 const SCEV *DestSCEV = SE->getSCEV(Memcpy->getRawDest()); in canOverlap()
874 if (SE->isKnownPredicateAt(CmpInst::ICMP_NE, SrcSCEV, DestSCEV, Memcpy)) in canOverlap()
880 void llvm::expandMemCpyAsLoop(MemCpyInst *Memcpy, in expandMemCpyAsLoop() argument
883 bool CanOverlap = canOverlap(Memcpy, SE); in expandMemCpyAsLoop()
884 if (ConstantInt *CI = dyn_cast<ConstantInt>(Memcpy->getLength())) { in expandMemCpyAsLoop()
886 /* InsertBefore */ Memcpy, in expandMemCpyAsLoop()
887 /* SrcAddr */ Memcpy->getRawSource(), in expandMemCpyAsLoop()
888 /* DstAddr */ Memcpy->getRawDest(), in expandMemCpyAsLoop()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DPreISelIntrinsicLowering.cpp316 auto *Memcpy = cast<MemCpyInst>(Inst); in expandMemIntrinsicUses() local
317 Function *ParentFunc = Memcpy->getFunction(); in expandMemIntrinsicUses()
319 if (shouldExpandMemIntrinsicWithSize(Memcpy->getLength(), TTI)) { in expandMemIntrinsicUses()
324 expandMemCpyAsLoop(Memcpy, TTI); in expandMemIntrinsicUses()
326 Memcpy->eraseFromParent(); in expandMemIntrinsicUses()
335 auto *Memcpy = cast<MemCpyInst>(Inst); in expandMemIntrinsicUses() local
336 if (isa<ConstantInt>(Memcpy->getLength())) in expandMemIntrinsicUses()
339 Function *ParentFunc = Memcpy->getFunction(); in expandMemIntrinsicUses()
341 expandMemCpyAsLoop(Memcpy, TTI); in expandMemIntrinsicUses()
343 Memcpy->eraseFromParent(); in expandMemIntrinsicUses()
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/
H A DNVPTXLowerAggrCopies.cpp126 if (MemCpyInst *Memcpy = dyn_cast<MemCpyInst>(MemCall)) { in runOnFunction() local
127 expandMemCpyAsLoop(Memcpy, TTI); in runOnFunction()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DRuntimeLibcalls.h118 if (const char *Memcpy = getLibcallName(RTLIB::MEMCPY))
119 return Memcpy;
H A DIntrinsics.td1002 // Memcpy semantic that is guaranteed to be inlined.
/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.cpp281 enum Tag { Store, Memcpy, Padding }; enumerator
293 append<Memcpy>(T, V, Bytes); in memcpy()
330 if (tag == Memcpy) in initializeStructAlloca()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopIdiomRecognize.cpp123 bool DisableLIRP::Memcpy; member in DisableLIRP
128 cl::location(DisableLIRP::Memcpy), cl::init(false),
203 Memcpy, enumerator
502 if (HasMemcpy && !DisableLIRP::Memcpy) { in isLegalStore()
533 : LegalStoreKind::Memcpy; in isLegalStore()
563 case LegalStoreKind::Memcpy: in collectStores()
789 if ((!HasMemcpy && !MCI->isForceInlined()) || DisableLIRP::Memcpy) in processLoopMemCpy()
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZTargetTransformInfo.cpp46 if (const MemCpyInst *Memcpy = dyn_cast<MemCpyInst>(User)) { in isUsedAsMemCpySource() local
47 if (Memcpy->getOperand(1) == V && !Memcpy->isVolatile()) { in isUsedAsMemCpySource()
/freebsd/contrib/llvm-project/clang/lib/AST/ByteCode/
H A DOpcodes.td811 def Memcpy : Opcode;
H A DInterp.h2036 inline bool Memcpy(InterpState &S, CodePtr OpPC) { in Memcpy() function
/freebsd/contrib/llvm-project/llvm/lib/Target/Xtensa/
H A DXtensaISelLowering.cpp635 SDValue Memcpy = DAG.getMemcpy( in LowerCall() local
640 MemOpChains.push_back(Memcpy); in LowerCall()
/freebsd/contrib/llvm-project/clang/include/clang/Basic/
H A DBuiltinsNVPTX.td755 // Memcpy, Memset