diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-03-24 22:37:52 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2016-03-24 22:37:52 +0000 |
commit | 731c67fed25e8b10bb010572d4cf356bbb0e11d2 (patch) | |
tree | 2805a5d893648e6cc4d41ad561349c80c55147c1 /llvm/lib/CodeGen | |
parent | 5109bfd1659ea3ea76ba915e62865a69fa76751f (diff) | |
download | bcm5719-llvm-731c67fed25e8b10bb010572d4cf356bbb0e11d2.tar.gz bcm5719-llvm-731c67fed25e8b10bb010572d4cf356bbb0e11d2.zip |
Lower varargs correctly in deopt bundle lowering
Earlier we were ignoring varargs in LowerCallSiteWithDeoptBundle because
populateCallLoweringInfo does not set CallLoweringInfo::IsVarArg.
llvm-svn: 264354
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp index bf9f1fa26fb..39fea622f93 100644 --- a/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp @@ -827,6 +827,7 @@ void SelectionDAGBuilder::LowerCallSiteWithDeoptBundle( unsigned ArgBeginIndex = CS.arg_begin() - CS.getInstruction()->op_begin(); populateCallLoweringInfo(SI.CLI, CS, ArgBeginIndex, CS.getNumArgOperands(), Callee, CS.getType(), false); + SI.CLI.IsVarArg = CS.getFunctionType()->isVarArg(); auto DeoptBundle = *CS.getOperandBundle(LLVMContext::OB_deopt); |