Enable tail call optimization in the presence of a byval (x86-32 and x86-64).

<rdar://problem/9483883>

llvm-svn: 133858
This commit is contained in:
Chad Rosier 2011-06-25 02:04:56 +00:00
parent f8b05a7bbb
commit 7c292f757f

View File

@ -2505,6 +2505,10 @@ bool MatchingStackOffset(SDValue Arg, unsigned Offset, ISD::ArgFlagsTy Flags,
if (!FINode)
return false;
FI = FINode->getIndex();
} else if (Arg.getOpcode() == ISD::FrameIndex && Flags.isByVal()) {
FrameIndexSDNode *FINode = dyn_cast<FrameIndexSDNode>(Arg);
FI = FINode->getIndex();
Bytes = Flags.getByValSize();
} else
return false;