[llvm-commits] CVS: llvm-gcc/gcc/llvm-expand.c
Chris Lattner
lattner at cs.uiuc.edu
Thu Apr 13 11:18:07 PDT 2006
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);
More information about the llvm-commits
mailing list