================
@@ -1396,8 +1467,54 @@ static llvm::Value *CreateCoercedLoad(Address Src,
llvm::Type *Ty,
return CGF.Builder.CreateLoad(Tmp);
}
-void CodeGenFunction::CreateCoercedStore(llvm::Value *Src, Address Dst,
- llvm::TypeSize DstSize,
+static bool CreatePFPCoercedStore(llvm::Value *Src, QualType SrcFETy,
+ Address Dst, CodeGenFunction &CGF) {
+ std::vector<PFPField> PFPFields = findPFPCoercedFields(CGF, SrcFETy);
+ if (PFPFields.empty())
+ return false;
+
+ llvm::Type *SrcTy = Src->getType();
+ auto StoreCoercedField = [&](CharUnits Offset, llvm::Value *FieldVal) {
+ if (!PFPFields.empty() && PFPFields[0].offset == Offset) {
+ auto fieldAddr = CGF.EmitAddressOfPFPField(Dst, PFPFields[0]);
----------------
ojhunt wrote:
nit: typename and capitalization again sorry, I'll stop with this pedantry now
:D
https://github.com/llvm/llvm-project/pull/172119
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits