diff options
author | Devang Patel <dpatel@apple.com> | 2010-06-01 19:59:01 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2010-06-01 19:59:01 +0000 |
commit | b0c76394a32822dd61333ae0e576b700ef6d3b90 (patch) | |
tree | 472616008c89f6868899cf421a4e2cf1724b567f /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | |
parent | b782caa3934d4f9c3250b1e619aad3325a7bc3ed (diff) | |
download | bcm5719-llvm-b0c76394a32822dd61333ae0e576b700ef6d3b90.tar.gz bcm5719-llvm-b0c76394a32822dd61333ae0e576b700ef6d3b90.zip |
Keep track of incoming debug value of unused argument.
Radar 7927666.
llvm-svn: 105285
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h index 3fcd4b9dc43..86903caa8a5 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h @@ -88,6 +88,10 @@ class SelectionDAGBuilder { DebugLoc CurDebugLoc; DenseMap<const Value*, SDValue> NodeMap; + + /// UnusedArgNodeMap - Maps argument value for unused arguments. This is used + /// to preserve debug information for incoming arguments. + DenseMap<const Value*, SDValue> UnusedArgNodeMap; public: /// PendingLoads - Loads are not emitted to the program immediately. We bunch @@ -349,6 +353,12 @@ public: N = NewN; } + void setUnusedArgValue(const Value *V, SDValue NewN) { + SDValue &N = UnusedArgNodeMap[V]; + assert(N.getNode() == 0 && "Already set a value for this node!"); + N = NewN; + } + void GetRegistersForValue(SDISelAsmOperandInfo &OpInfo, std::set<unsigned> &OutputRegs, std::set<unsigned> &InputRegs); |