Click or drag to resize
Llvm.NET LogoInstructionBuilderMemMove 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
Syntax
C#
public 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: Value
Intrinsic 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