 | InstructionBuilderMemMove Method |
[This is preliminary documentation and is subject to change.]
Builds a memmov intrinsic call
Namespace:
Llvm.NET.Instructions
Assembly:
Llvm.NET (in Llvm.NET.dll) Version: 3.8.6158
Syntaxpublic Value MemMove(
NativeModule module,
Value destination,
Value source,
Value len,
int align,
bool isVolatile
)
Parameters
- module
- Type: Llvm.NETNativeModule
Module to add the declaration of the intrinsic to if it doesn't already exist - destination
- Type: Llvm.NET.ValuesValue
Destination pointer of the memcpy - source
- Type: Llvm.NET.ValuesValue
Source pointer of the memcpy - len
- Type: Llvm.NET.ValuesValue
length of the data to copy - align
- Type: SystemInt32
Alignment of the data for the copy - isVolatile
- Type: SystemBoolean
Flag to indicate if the copy involves volatile data such as physical registers
Return Value
Type:
ValueIntrinsic call for the memcpy
Remarks
LLVM has many overloaded variants of the memmov intrinsic, this implementation currently assumes the
single form defined by
MemMoveName, which matches the classic "C" style memmov
function. However future implementations should be able to deduce the types from the provided values
and generate a more specific call without changing any caller code (as is done with
MemCpy(NativeModule, Value, Value, Value, Int32, Boolean).
See Also