ABI: comments from Eli on r168820.
rdar://12723368 llvm-svn: 168821
This commit is contained in:
parent
84b921f805
commit
836a93bdb3
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue