Changes in directory llvm-gcc/gcc:
llvm-expand.c updated: 1.126 -> 1.127 --- Log message: Use the appropriate type suffix for llvm.memcpy/llvm.memmove, resolving PR733: http://llvm.cs.uiuc.edu/PR733 --- Diffs of the changes: (+12 -5) llvm-expand.c | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) Index: llvm-gcc/gcc/llvm-expand.c diff -u llvm-gcc/gcc/llvm-expand.c:1.126 llvm-gcc/gcc/llvm-expand.c:1.127 --- llvm-gcc/gcc/llvm-expand.c:1.126 Tue Jan 17 00:22:23 2006 +++ llvm-gcc/gcc/llvm-expand.c Thu Apr 13 13:17:55 2006 @@ -344,24 +344,31 @@ unsigned Alignment, int isMove) { static llvm_function *llvm_memcpy_fn = 0, *llvm_memmove_fn = 0; static llvm_type *size_tTy = 0; - + + if (size_tTy == 0) + size_tTy = llvm_type_get_from_tree(size_type_node); + llvm_instruction *I; if (!isMove && !llvm_memcpy_fn) { + const char *Name = size_tTy == UIntTy ? + "llvm.memcpy.i32" : "llvm.memcpy.i64"; llvm_type *FnTy = llvm_type_create_function(4, VoidTy); FnTy->Elements[1] = FnTy->Elements[2] = VoidPtrTy; - FnTy->Elements[3] = size_tTy = llvm_type_get_from_tree(size_type_node); + FnTy->Elements[3] = size_tTy; FnTy->Elements[4] = UIntTy; FnTy = llvm_type_get_cannonical_function(FnTy); - llvm_memcpy_fn = CreateIntrinsicFnWithType("llvm.memcpy", FnTy); + llvm_memcpy_fn = CreateIntrinsicFnWithType(Name, FnTy); } if (isMove && !llvm_memmove_fn) { + const char *Name = size_tTy == UIntTy ? + "llvm.memmove.i32" : "llvm.memmove.i64"; llvm_type *FnTy = llvm_type_create_function(4, VoidTy); FnTy->Elements[1] = FnTy->Elements[2] = VoidPtrTy; - FnTy->Elements[3] = size_tTy = llvm_type_get_from_tree(size_type_node); + FnTy->Elements[3] = size_tTy; FnTy->Elements[4] = UIntTy; FnTy = llvm_type_get_cannonical_function(FnTy); - llvm_memmove_fn = CreateIntrinsicFnWithType("llvm.memmove", FnTy); + llvm_memmove_fn = CreateIntrinsicFnWithType(Name, FnTy); } I = llvm_instruction_new(VoidTy, "", O_Call, 5); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits