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::Type *I8PtrTy = CGF.Builder.getInt8PtrTy();
|
||||||
llvm::Value *Casted = CGF.Builder.CreateBitCast(Tmp, I8PtrTy);
|
llvm::Value *Casted = CGF.Builder.CreateBitCast(Tmp, I8PtrTy);
|
||||||
llvm::Value *SrcCasted = CGF.Builder.CreateBitCast(SrcPtr, I8PtrTy);
|
llvm::Value *SrcCasted = CGF.Builder.CreateBitCast(SrcPtr, I8PtrTy);
|
||||||
|
// FIXME: Use better alignment.
|
||||||
CGF.Builder.CreateMemCpy(Casted, SrcCasted,
|
CGF.Builder.CreateMemCpy(Casted, SrcCasted,
|
||||||
llvm::ConstantInt::get(CGF.IntPtrTy, SrcSize),
|
llvm::ConstantInt::get(CGF.IntPtrTy, SrcSize),
|
||||||
1, false);
|
1, false);
|
||||||
|
@ -782,6 +783,7 @@ static void CreateCoercedStore(llvm::Value *Src,
|
||||||
llvm::Type *I8PtrTy = CGF.Builder.getInt8PtrTy();
|
llvm::Type *I8PtrTy = CGF.Builder.getInt8PtrTy();
|
||||||
llvm::Value *Casted = CGF.Builder.CreateBitCast(Tmp, I8PtrTy);
|
llvm::Value *Casted = CGF.Builder.CreateBitCast(Tmp, I8PtrTy);
|
||||||
llvm::Value *DstCasted = CGF.Builder.CreateBitCast(DstPtr, I8PtrTy);
|
llvm::Value *DstCasted = CGF.Builder.CreateBitCast(DstPtr, I8PtrTy);
|
||||||
|
// FIXME: Use better alignment.
|
||||||
CGF.Builder.CreateMemCpy(DstCasted, Casted,
|
CGF.Builder.CreateMemCpy(DstCasted, Casted,
|
||||||
llvm::ConstantInt::get(CGF.IntPtrTy, DstSize),
|
llvm::ConstantInt::get(CGF.IntPtrTy, DstSize),
|
||||||
1, false);
|
1, false);
|
||||||
|
|
|
@ -370,7 +370,7 @@ typedef union T1 { T2 field0; T4 field1; } T1;
|
||||||
extern T1 T1_retval;
|
extern T1 T1_retval;
|
||||||
T1 test48(void) {
|
T1 test48(void) {
|
||||||
// CHECK: @test48
|
// CHECK: @test48
|
||||||
// CHECK-NOT: load %struct.T4* %{{.*}}
|
// CHECK: memcpy
|
||||||
// CHECK-NOT: store %struct.T4 %{{.*}}, %struct.T4* %{{.*}}
|
// CHECK: memcpy
|
||||||
return T1_retval;
|
return T1_retval;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue