mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-04 01:43:06 +00:00
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:
parent
00f1c4040c
commit
e75808cf3d
@ -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
Block a user