xref: /aosp_15_r20/external/llvm/test/Assembler/disubprogram.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: verify-uselistorder %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; CHECK: define void @_Z3foov() !dbg !9
5*9880d681SAndroid Build Coastguard Workerdefine void @_Z3foov() !dbg !9 {
6*9880d681SAndroid Build Coastguard Worker  ret void
7*9880d681SAndroid Build Coastguard Worker}
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12}
10*9880d681SAndroid Build Coastguard Worker!named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11, !12}
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Worker!0 = !{null}
13*9880d681SAndroid Build Coastguard Worker!1 = distinct !DICompositeType(tag: DW_TAG_structure_type)
14*9880d681SAndroid Build Coastguard Worker!2 = !DIFile(filename: "path/to/file", directory: "/path/to/dir")
15*9880d681SAndroid Build Coastguard Worker!3 = !DISubroutineType(types: !0)
16*9880d681SAndroid Build Coastguard Worker!4 = distinct !DICompositeType(tag: DW_TAG_structure_type)
17*9880d681SAndroid Build Coastguard Worker!5 = distinct !{}
18*9880d681SAndroid Build Coastguard Worker!6 = distinct !{}
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker; CHECK: !7 = distinct !DISubprogram(scope: null, isLocal: false, isDefinition: true, isOptimized: false, unit: !8)
21*9880d681SAndroid Build Coastguard Worker!7 = distinct !DISubprogram(unit: !8)
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker!8 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang",
24*9880d681SAndroid Build Coastguard Worker                             file: !2,
25*9880d681SAndroid Build Coastguard Worker                             isOptimized: true, flags: "-O2",
26*9880d681SAndroid Build Coastguard Worker                             splitDebugFilename: "abc.debug", emissionKind: 2)
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker; CHECK: !9 = !DISubprogram(scope: null, isLocal: false, isDefinition: false, isOptimized: false)
29*9880d681SAndroid Build Coastguard Worker!9 = !DISubprogram(isDefinition: false)
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Worker; CHECK: !10 = distinct !DISubprogram(name: "foo", linkageName: "_Zfoov", scope: !1, file: !2, line: 7, type: !3, isLocal: true, isDefinition: true, scopeLine: 8, containingType: !4, virtuality: DW_VIRTUALITY_pure_virtual, virtualIndex: 10, thisAdjustment: 3, flags: DIFlagPrototyped, isOptimized: true, unit: !8, templateParams: !5, declaration: !9, variables: !6)
32*9880d681SAndroid Build Coastguard Worker!10 = distinct !DISubprogram(name: "foo", linkageName: "_Zfoov", scope: !1,
33*9880d681SAndroid Build Coastguard Worker                            file: !2, line: 7, type: !3, isLocal: true,
34*9880d681SAndroid Build Coastguard Worker                            isDefinition: true, scopeLine: 8,
35*9880d681SAndroid Build Coastguard Worker                            containingType: !4,
36*9880d681SAndroid Build Coastguard Worker                            virtuality: DW_VIRTUALITY_pure_virtual,
37*9880d681SAndroid Build Coastguard Worker                            virtualIndex: 10, thisAdjustment: 3, flags: DIFlagPrototyped,
38*9880d681SAndroid Build Coastguard Worker                            isOptimized: true, unit: !8, templateParams: !5,
39*9880d681SAndroid Build Coastguard Worker                            declaration: !9, variables: !6)
40*9880d681SAndroid Build Coastguard Worker
41*9880d681SAndroid Build Coastguard Worker; CHECK: !11 = distinct !DISubprogram
42*9880d681SAndroid Build Coastguard Worker; CHECK-SAME: virtualIndex: 0,
43*9880d681SAndroid Build Coastguard Worker!11 = distinct !DISubprogram(name: "foo", linkageName: "_Zfoov", scope: !1,
44*9880d681SAndroid Build Coastguard Worker                            file: !2, line: 7, type: !3, isLocal: true,
45*9880d681SAndroid Build Coastguard Worker                            isDefinition: true, scopeLine: 8,
46*9880d681SAndroid Build Coastguard Worker                            containingType: !4,
47*9880d681SAndroid Build Coastguard Worker                            virtuality: DW_VIRTUALITY_pure_virtual,
48*9880d681SAndroid Build Coastguard Worker                            virtualIndex: 0,
49*9880d681SAndroid Build Coastguard Worker                            flags: DIFlagPrototyped, isOptimized: true,
50*9880d681SAndroid Build Coastguard Worker                            unit: !8, templateParams: !5, declaration: !9,
51*9880d681SAndroid Build Coastguard Worker                            variables: !6)
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Worker; CHECK: !12 = distinct !DISubprogram
54*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: virtualIndex
55*9880d681SAndroid Build Coastguard Worker!12 = distinct !DISubprogram(name: "foo", linkageName: "_Zfoov", scope: !1,
56*9880d681SAndroid Build Coastguard Worker                            file: !2, line: 7, type: !3, isLocal: true,
57*9880d681SAndroid Build Coastguard Worker                            isDefinition: true, scopeLine: 8,
58*9880d681SAndroid Build Coastguard Worker                            containingType: !4,
59*9880d681SAndroid Build Coastguard Worker                            virtuality: DW_VIRTUALITY_none,
60*9880d681SAndroid Build Coastguard Worker                            flags: DIFlagPrototyped, isOptimized: true,
61*9880d681SAndroid Build Coastguard Worker                            unit: !8,
62*9880d681SAndroid Build Coastguard Worker                            templateParams: !5, declaration: !9, variables: !6)
63*9880d681SAndroid Build Coastguard Worker
64*9880d681SAndroid Build Coastguard Worker!13 = !{i32 1, !"Debug Info Version", i32 3}
65*9880d681SAndroid Build Coastguard Worker!llvm.module.flags = !{!13}
66*9880d681SAndroid Build Coastguard Worker!llvm.dbg.cu = !{!8}
67