/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | LowerMemIntrinsics.cpp | 502 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 D | PreISelIntrinsicLowering.cpp | 217 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 D | NVPTXLowerAggrCopies.cpp | 127 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 D | LoopIdiomRecognize.h | 36 static bool Memcpy; member
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | ExpandVariadics.cpp | 299 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 D | LoopIdiomRecognize.cpp | 122 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 D | SystemZTargetTransformInfo.cpp | 45 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 D | XtensaISelLowering.cpp | 356 SDValue Memcpy = DAG.getMemcpy( in LowerCall() local 360 MemOpChains.push_back(Memcpy); in LowerCall()
|
/freebsd/contrib/llvm-project/clang/lib/AST/Interp/ |
H A D | Opcodes.td | 747 def Memcpy : Opcode;
|
H A D | Interp.h | 1792 inline bool Memcpy(InterpState &S, CodePtr OpPC) { in Memcpy() function
|
/freebsd/contrib/llvm-project/clang/include/clang/Basic/ |
H A D | BuiltinsNVPTX.def | 694 // Memcpy, Memset
|
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | Intrinsics.td | 966 // Memcpy semantic that is guaranteed to be inlined.
|