File tree Expand file tree Collapse file tree 1 file changed +6
-9
lines changed Expand file tree Collapse file tree 1 file changed +6
-9
lines changed Original file line number Diff line number Diff line change @@ -2047,15 +2047,12 @@ X86TargetLowering::ByValCopyKind X86TargetLowering::ByValNeedsCopyForTailCall(
20472047 int64_t SrcOffset = MFI.getObjectOffset (SrcFI);
20482048 int64_t DstOffset = MFI.getObjectOffset (DstFI);
20492049
2050- // FIXME:
2051-
2052- // // If the source is in the local frame, then the copy to the argument
2053- // memory
2054- // // is always valid.
2055- // bool FixedSrc = MFI.isFixedObjectIndex(SrcFI);
2056- // if (!FixedSrc ||
2057- // (FixedSrc && SrcOffset < -(int64_t)AFI->getArgRegsSaveSize()))
2058- // return CopyOnce;
2050+
2051+ // If the source is in the local frame, then the copy to the argument
2052+ // memory is always valid.
2053+ bool FixedSrc = MFI.isFixedObjectIndex (SrcFI);
2054+ if (!FixedSrc || (FixedSrc && SrcOffset < 0 ))
2055+ return CopyOnce;
20592056
20602057 // In the case of byval arguments split between registers and the stack,
20612058 // computeAddrForCallArg returns a FrameIndex which corresponds only to the
You can’t perform that action at this time.
0 commit comments