forked from OSchip/llvm-project
Emit label for llvm.dbg.func.start of the inlined function.
llvm-svn: 58814
This commit is contained in:
parent
ef21de946b
commit
8af0a362f1
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
; RUN: llvm-as < %s | llc
|
||||
; RUN: llvm-as < %s | llc -fast
|
||||
%llvm.dbg.anchor.type = type { i32, i32 }
|
||||
%llvm.dbg.basictype.type = type { i32, { }*, i8*, { }*, i32, i64, i64, i64, i32, i32 }
|
||||
%llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8* }
|
||||
|
|
Loading…
Reference in New Issue