diff options
| author | Adrian Prantl <aprantl@apple.com> | 2013-05-16 23:44:12 +0000 |
|---|---|---|
| committer | Adrian Prantl <aprantl@apple.com> | 2013-05-16 23:44:12 +0000 |
| commit | 9c93059aa403ebc9e6c1a9e111b5eb38ee89d5fc (patch) | |
| tree | 08a9587976d00c9f83e015ba3152b6858b1596bd /llvm/lib/CodeGen | |
| parent | 22b40f7b0b70f383e873b14ceae994f6c22221ad (diff) | |
| download | bcm5719-llvm-9c93059aa403ebc9e6c1a9e111b5eb38ee89d5fc.tar.gz bcm5719-llvm-9c93059aa403ebc9e6c1a9e111b5eb38ee89d5fc.zip | |
Generate debug info for by-value struct args even if they are not used.
radar://problem/13865940
llvm-svn: 182062
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 2ded723ca0f..7072def6285 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -6753,9 +6753,15 @@ void SelectionDAGISel::LowerArguments(const Function &F) { // If this argument is unused then remember its value. It is used to generate // debugging information. - if (I->use_empty() && NumValues) + if (I->use_empty() && NumValues) { SDB->setUnusedArgValue(I, InVals[i]); + // Also remember any frame index for use in FastISel. + if (FrameIndexSDNode *FI = + dyn_cast<FrameIndexSDNode>(InVals[i].getNode())) + FuncInfo->setArgumentFrameIndex(I, FI->getIndex()); + } + for (unsigned Val = 0; Val != NumValues; ++Val) { EVT VT = ValueVTs[Val]; MVT PartVT = TLI.getRegisterType(*CurDAG->getContext(), VT); |

