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
This commit is contained in:
Devang Patel
2008-11-06 21:28:20 +00:00
parent 00f1c4040c
commit e75808cf3d
2 changed files with 9 additions and 3 deletions

View File

@ -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;
}