diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-04-28 23:08:54 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-04-28 23:08:54 +0000 |
commit | 2ad0fcf794924f618a7240741cc14a39be99d0f2 (patch) | |
tree | 9f91b7f71e5c3f8e3872306ac0a0f3c5047b9422 /lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | |
parent | c1c4595d1f5ea83ea45e448544a64263f62bc17f (diff) | |
download | llvm-2ad0fcf794924f618a7240741cc14a39be99d0f2.tar.gz llvm-2ad0fcf794924f618a7240741cc14a39be99d0f2.tar.bz2 llvm-2ad0fcf794924f618a7240741cc14a39be99d0f2.tar.xz |
Replace r102368 with code that's less fragile. This creates DBG_VALUE instructions for function arguments early and insert them after instruction selection is done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102554 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h index d9495fb01e..b07d70a4da 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h @@ -36,6 +36,7 @@ class BasicBlock; class BitCastInst; class BranchInst; class CallInst; +class DbgValueInst; class ExtractElementInst; class ExtractValueInst; class FCmpInst; @@ -58,6 +59,7 @@ class LoadInst; class MachineBasicBlock; class MachineInstr; class MachineRegisterInfo; +class MDNode; class PHINode; class PtrToIntInst; class ReturnInst; @@ -495,6 +497,14 @@ private: const char *implVisitAluOverflow(const CallInst &I, ISD::NodeType Op); void HandlePHINodesInSuccessorBlocks(const BasicBlock *LLVMBB); + + /// EmitFuncArgumentDbgValue - If the DbgValueInst is a dbg_value of a + /// function argument, create the corresponding DBG_VALUE machine instruction + /// for it now. At the end of instruction selection, they will be inserted to + /// the entry BB. + void EmitFuncArgumentDbgValue(const DbgValueInst &DI, + const Value *V, MDNode *Variable, + uint64_t Offset, SDValue &N); }; } // end namespace llvm |