diff options
author | Devang Patel <dpatel@apple.com> | 2008-11-06 21:28:20 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2008-11-06 21:28:20 +0000 |
commit | e75808cf3d92d14c5659a15d0d17bd21a54fd8cc (patch) | |
tree | a9ecd124514ca08bed66965aae1eb8bb2dd49150 /lib/CodeGen/SelectionDAG/FastISel.cpp | |
parent | 00f1c4040c1f3f9967a5753223832d60ea39d8a2 (diff) |
Emit label for llvm.dbg.func.start of the inlined function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58814 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/FastISel.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/FastISel.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/CodeGen/SelectionDAG/FastISel.cpp b/lib/CodeGen/SelectionDAG/FastISel.cpp index 404d613ac8..b45a4fd536 100644 --- a/lib/CodeGen/SelectionDAG/FastISel.cpp +++ b/lib/CodeGen/SelectionDAG/FastISel.cpp @@ -349,9 +349,14 @@ bool FastISel::SelectCall(User *I) { SubprogramDesc *Subprogram = cast<SubprogramDesc>(DD); const CompileUnitDesc *CompileUnit = Subprogram->getFile(); unsigned SrcFile = MMI->RecordSource(CompileUnit); - // Record the source line but does create a label. It will be emitted - // at asm emission time. - MMI->RecordSourceLine(Subprogram->getLine(), 0, SrcFile); + // Record the source line but does not create a label for the normal + // function start. It will be emitted at asm emission time. However, + // create a label if this is a beginning of inlined function. + unsigned LabelID = MMI->RecordSourceLine(Subprogram->getLine(), 0, SrcFile); + if (MMI->getSourceLines().size() != 1) { + const TargetInstrDesc &II = TII.get(TargetInstrInfo::DBG_LABEL); + BuildMI(MBB, II).addImm(LabelID); + } } return true; } |