================
@@ -5627,15 +5754,25 @@ RValue CodeGenFunction::EmitCall(const CGFunctionInfo
&CallInfo,
} else {
uint64_t SrcSize = SrcTypeSize.getFixedValue();
uint64_t DstSize = DstTypeSize.getFixedValue();
+ bool HasPFPFields = !findPFPCoercedFields(*this, I->Ty).empty();
----------------
pcc wrote:
This needs to be the same as the condition where `CreatePFPCoercedLoad` would
return non-null; `!findPFPCoercedFields().empty()` has a different value than
`hasPFPFields()` because the former checks `IsWithinUnion`.
`IsWithinUnion` was added to support trivial relocation. If we're removing the
trivial relocation support, I think we might be able to remove `IsWithinUnion`
and have `findPFPFields` not return fields within unions. Then everything will
be calling `hasPFPFields` or `findPFPFields`.
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