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 d8a2aaa472
commit bde13d3f76
1 changed files with 4 additions and 0 deletions

View File

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