Paste: memcpy bindings

Author: j
Mode: text
Date: Thu, 25 Nov 2010 06:39:53
Plain Text |
__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
}

New Annotation

Summary:
Author:
Mode:
Body: