diff --git a/llvm/docs/LangRef.html b/llvm/docs/LangRef.html index 7b03c45511f0..20436ede7e2e 100644 --- a/llvm/docs/LangRef.html +++ b/llvm/docs/LangRef.html @@ -98,6 +98,7 @@
+ call void (sbyte*, sbyte*, uint, uint)* %llvm.memmove(sbyte* <dest>, sbyte* <src>, + uint <len>, uint <align>) ++ +
+The 'llvm.memmove' intrinsic moves a block of memory from the source +location to the destination location. It is similar to the 'llvm.memcpy' +intrinsic but allows the two memory locations to overlap. +
+ ++Note that, unlike the standard libc function, the llvm.memmove intrinsic +does not return a value, and takes an extra alignment argument. +
+ ++The first argument is a pointer to the destination, the second is a pointer to +the source. The third argument is an (arbitrarily sized) integer argument +specifying the number of bytes to copy, and the fourth argument is the alignment +of the source and destination locations. +
+ ++The 'llvm.memmove' intrinsic copies a block of memory from the source +location to the destination location, which may overlap. It +copies "len" bytes of memory over. If the argument is known to be aligned to +some boundary, this can be specified as the fourth argument, otherwise it should +be set to 0 or 1. +
+