LLVM  15.0.0git
Namespaces | Functions
LowerMemIntrinsics.h File Reference
#include "llvm/ADT/Optional.h"
Include dependency graph for LowerMemIntrinsics.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

void llvm::createMemCpyLoopUnknownSize (Instruction *InsertBefore, Value *SrcAddr, Value *DstAddr, Value *CopyLen, Align SrcAlign, Align DestAlign, bool SrcIsVolatile, bool DstIsVolatile, bool CanOverlap, const TargetTransformInfo &TTI, Optional< unsigned > AtomicSize=None)
 Emit a loop implementing the semantics of llvm.memcpy where the size is not a compile-time constant. More...
 
void llvm::createMemCpyLoopKnownSize (Instruction *InsertBefore, Value *SrcAddr, Value *DstAddr, ConstantInt *CopyLen, Align SrcAlign, Align DestAlign, bool SrcIsVolatile, bool DstIsVolatile, bool CanOverlap, const TargetTransformInfo &TTI, Optional< uint32_t > AtomicCpySize=None)
 Emit a loop implementing the semantics of an llvm.memcpy whose size is a compile time constant. More...
 
void llvm::expandMemCpyAsLoop (MemCpyInst *MemCpy, const TargetTransformInfo &TTI, ScalarEvolution *SE=nullptr)
 Expand MemCpy as a loop. MemCpy is not deleted. More...
 
void llvm::expandMemMoveAsLoop (MemMoveInst *MemMove)
 Expand MemMove as a loop. MemMove is not deleted. More...
 
void llvm::expandMemSetAsLoop (MemSetInst *MemSet)
 Expand MemSet as a loop. MemSet is not deleted. More...
 
void llvm::expandAtomicMemCpyAsLoop (AtomicMemCpyInst *AtomicMemCpy, const TargetTransformInfo &TTI, ScalarEvolution *SE)
 Expand AtomicMemCpy as a loop. AtomicMemCpy is not deleted. More...