1; RUN: llc -split-dwarf-file=foo.dwo -O0 < %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj | llvm-dwarfdump -debug-info - | FileCheck %s
2
3; CHECK: .debug_info contents:
4; CHECK-NOT: DW_TAG_subprogram
5; CHECK: contents:
6
7; IR generated from the following source:
8; void f1();
9; inline __attribute__((always_inline)) void f2() {
10;   f1();
11; }
12; void f3() {
13;   f2();
14; }
15
16; Function Attrs: uwtable
17define void @_Z2f3v() #0 !dbg !5 {
18entry:
19  call void @_Z2f1v(), !dbg !8
20  ret void, !dbg !11
21}
22
23declare void @_Z2f1v() #1
24
25attributes #0 = { uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
26attributes #1 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
27
28!llvm.dbg.cu = !{!0}
29!llvm.module.flags = !{!3}
30!llvm.ident = !{!4}
31
32!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 4.0.0 (trunk 279571) (llvm/trunk 279602)", isOptimized: false, runtimeVersion: 0, splitDebugFilename: "fission-no-inlining.dwo", emissionKind: FullDebug, enums: !2, splitDebugInlining: false)
33!1 = !DIFile(filename: "fission-no-inlining.cpp", directory: "/tmp/dbginfo")
34!2 = !{}
35!3 = !{i32 2, !"Debug Info Version", i32 3}
36!4 = !{!"clang version 4.0.0 (trunk 279571) (llvm/trunk 279602)"}
37!5 = distinct !DISubprogram(name: "f3", linkageName: "_Z2f3v", scope: !1, file: !1, line: 5, type: !6, isLocal: false, isDefinition: true, scopeLine: 5, flags: DIFlagPrototyped, isOptimized: false, unit: !0, retainedNodes: !2)
38!6 = !DISubroutineType(types: !7)
39!7 = !{null}
40!8 = !DILocation(line: 3, column: 3, scope: !9, inlinedAt: !10)
41!9 = distinct !DISubprogram(name: "f2", linkageName: "_Z2f2v", scope: !1, file: !1, line: 2, type: !6, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: false, unit: !0, retainedNodes: !2)
42!10 = distinct !DILocation(line: 6, column: 3, scope: !5)
43!11 = !DILocation(line: 7, column: 1, scope: !5)
44