15 #ifndef LLVM_TRANSFORMS_UTILS_LOWERMEMINTRINSICS_H 16 #define LLVM_TRANSFORMS_UTILS_LOWERMEMINTRINSICS_H 25 class TargetTransformInfo;
31 Value *DstAddr, Value *CopyLen,
32 unsigned SrcAlign,
unsigned DestAlign,
33 bool SrcIsVolatile,
bool DstIsVolatile,
34 const TargetTransformInfo &TTI);
39 Value *DstAddr, ConstantInt *CopyLen,
40 unsigned SrcAlign,
unsigned DestAlign,
41 bool SrcIsVolatile,
bool DstIsVolatile,
42 const TargetTransformInfo &TTI);
This class represents lattice values for constants.
void expandMemMoveAsLoop(MemMoveInst *MemMove)
Expand MemMove as a loop. MemMove is not deleted.
void expandMemSetAsLoop(MemSetInst *MemSet)
Expand MemSet as a loop. MemSet is not deleted.
void createMemCpyLoopKnownSize(Instruction *InsertBefore, Value *SrcAddr, Value *DstAddr, ConstantInt *CopyLen, unsigned SrcAlign, unsigned DestAlign, bool SrcIsVolatile, bool DstIsVolatile, const TargetTransformInfo &TTI)
Emit a loop implementing the semantics of an llvm.memcpy whose size is a compile time constant...
void createMemCpyLoopUnknownSize(Instruction *InsertBefore, Value *SrcAddr, Value *DstAddr, Value *CopyLen, unsigned SrcAlign, unsigned DestAlign, bool SrcIsVolatile, bool DstIsVolatile, const TargetTransformInfo &TTI)
Emit a loop implementing the semantics of llvm.memcpy where the size is not a compile-time constant...
void expandMemCpyAsLoop(MemCpyInst *MemCpy, const TargetTransformInfo &TTI)
Expand MemCpy as a loop. MemCpy is not deleted.