ABI: comments from Eli on r168820.
authorManman Ren <mren@apple.com>
Wed, 28 Nov 2012 22:29:41 +0000 (22:29 +0000)
committerManman Ren <mren@apple.com>
Wed, 28 Nov 2012 22:29:41 +0000 (22:29 +0000)
rdar://12723368

llvm-svn: 168821

clang/lib/CodeGen/CGCall.cpp
clang/test/CodeGen/x86_64-arguments.c

index ab933c5..54ccb86 100644 (file)
@@ -695,6 +695,7 @@ static llvm::Value *CreateCoercedLoad(llvm::Value *SrcPtr,
   llvm::Type *I8PtrTy = CGF.Builder.getInt8PtrTy();
   llvm::Value *Casted = CGF.Builder.CreateBitCast(Tmp, I8PtrTy);
   llvm::Value *SrcCasted = CGF.Builder.CreateBitCast(SrcPtr, I8PtrTy);
+  // FIXME: Use better alignment.
   CGF.Builder.CreateMemCpy(Casted, SrcCasted,
       llvm::ConstantInt::get(CGF.IntPtrTy, SrcSize),
       1, false);
@@ -782,6 +783,7 @@ static void CreateCoercedStore(llvm::Value *Src,
     llvm::Type *I8PtrTy = CGF.Builder.getInt8PtrTy();
     llvm::Value *Casted = CGF.Builder.CreateBitCast(Tmp, I8PtrTy);
     llvm::Value *DstCasted = CGF.Builder.CreateBitCast(DstPtr, I8PtrTy);
+    // FIXME: Use better alignment.
     CGF.Builder.CreateMemCpy(DstCasted, Casted,
         llvm::ConstantInt::get(CGF.IntPtrTy, DstSize),
         1, false);
index b39fa1d..d416045 100644 (file)
@@ -370,7 +370,7 @@ typedef union T1 { T2 field0; T4 field1; } T1;
 extern T1 T1_retval;
 T1 test48(void) {
 // CHECK: @test48
-// CHECK-NOT: load %struct.T4* %{{.*}}
-// CHECK-NOT: store %struct.T4 %{{.*}}, %struct.T4* %{{.*}}
+// CHECK: memcpy
+// CHECK: memcpy
   return T1_retval;
 }