__llvm__{ declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i32, i1) nounwind declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i32, i1) nounwind declare void @llvm.memmove.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind } [align, volatile?] llvm_memcpy(dest: RawPointer, src: RawPointer, len: SizeT, static align, static volatile?) __llvm__ { %destv = load i8** %dest %srcv = load i8** %src %lenv = load $SizeT* %len call void @llvm.memcpy.p0i8.p0i8.$SizeT (i8* %destv, i8* %srcv, $SizeT %lenv, i32 $align, i1 $volatile?); ret i32 0 } [len, align, volatile?] overload llvm_memcpy(dest: RawPointer, src: RawPointer, static len, static align, static volatile?) __llvm__ { %destv = load i8** %dest %srcv = load i8** %src call void @llvm.memcpy.p0i8.p0i8.$SizeT (i8* %destv, i8* %srcv, $SizeT $len, i32 $align, i1 $volatile?); ret i32 0 } [align, volatile?] llvm_memmove(dest: RawPointer, src: RawPointer, len: SizeT, static align, static volatile?) __llvm__ { %destv = load i8** %dest %srcv = load i8** %src %lenv = load $SizeT* %len call void @llvm.memmove.p0i8.p0i8.$SizeT (i8* %destv, i8* %srcv, $SizeT %lenv, i32 $align, i1 $volatile?); ret i32 0 } [align, volatile?] overload llvm_memmove(dest: RawPointer, src: RawPointer, static len, static align, static volatile?) __llvm__ { %destv = load i8** %dest %srcv = load i8** %src call void @llvm.memmove.p0i8.p0i8.$SizeT (i8* %destv, i8* %srcv, $SizeT $len, i32 $align, i1 $volatile?); ret i32 0 }