comparison test/DebugInfo/Mips/dsr-fixed-objects.ll @ 147:c2174574ed3a

LLVM 10
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 14 Aug 2019 16:55:33 +0900
parents 3a76565eade5
children
comparison
equal deleted inserted replaced
134:3a76565eade5 147:c2174574ed3a
18 declare void @llvm.lifetime.start(i64, i8* nocapture) 18 declare void @llvm.lifetime.start(i64, i8* nocapture)
19 declare void @llvm.lifetime.end(i64, i8* nocapture) 19 declare void @llvm.lifetime.end(i64, i8* nocapture)
20 20
21 declare void @foo(i32*) 21 declare void @foo(i32*)
22 22
23 ; CHECK: DW_AT_name {{.*}}"f0"
23 ; CHECK: DW_AT_name {{.*}}"e" 24 ; CHECK: DW_AT_name {{.*}}"e"
24 ; CHECK: DW_TAG_variable 25 ; CHECK: DW_TAG_variable
25 ; CHECK-NEXT: DW_AT_location [DW_FORM_sec_offset] ( 26 ; CHECK-NEXT: DW_AT_location [DW_FORM_sec_offset] (
26 ; CHECK-NEXT: [0x00000028, 0x0000002c): DW_OP_reg1 AT_64 27 ; CHECK-NEXT: [0x00000028, 0x0000002c): DW_OP_reg1 AT_64
27 ; CHECK-NEXT: [0x0000002c, 0x00000048): DW_OP_breg29 SP_64+16, DW_OP_deref) 28 ; CHECK-NEXT: [0x0000002c, 0x00000048): DW_OP_breg29 SP_64+16)
28 ; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000006b] = "x") 29 ; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000006b] = "x")
29 30
30 define i32 @f0(i32 signext %a, i32 signext %b, i32 signext %c, i32 signext %d, i32 signext %e) !dbg !4 { 31 define i32 @f0(i32 signext %a, i32 signext %b, i32 signext %c, i32 signext %d, i32 signext %e) !dbg !4 {
31 entry: 32 entry:
32 %x = alloca i32, align 4 33 %x = alloca i32, align 4
53 54
54 55
55 ; CHECK: DW_TAG_variable 56 ; CHECK: DW_TAG_variable
56 ; CHECK-NEXT: DW_AT_location [DW_FORM_sec_offset] ( 57 ; CHECK-NEXT: DW_AT_location [DW_FORM_sec_offset] (
57 ; CHECK-NEXT: [0x00000080, 0x00000084): DW_OP_reg1 AT_64 58 ; CHECK-NEXT: [0x00000080, 0x00000084): DW_OP_reg1 AT_64
58 ; CHECK-NEXT: [0x00000084, 0x00000098): DW_OP_breg29 SP_64+16, DW_OP_deref) 59 ; CHECK-NEXT: [0x00000084, 0x00000098): DW_OP_breg29 SP_64+16)
59 ; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000006b] = "x") 60 ; CHECK-NEXT: DW_AT_name [DW_FORM_strp] ( .debug_str[0x0000006b] = "x")
60 61
61 define i32 @f1(i32 signext %a, i32 signext %b, i32 signext %c, i32 signext %d, i32 signext %e) !dbg !15 { 62 define i32 @f1(i32 signext %a, i32 signext %b, i32 signext %c, i32 signext %d, i32 signext %e) !dbg !15 {
62 entry: 63 entry:
63 %x = alloca i32, align 16 64 %x = alloca i32, align 16
89 !llvm.ident = !{!25} 90 !llvm.ident = !{!25}
90 91
91 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.8.0 (trunk 251783) (llvm/trunk 251781)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2) 92 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.8.0 (trunk 251783) (llvm/trunk 251781)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
92 !1 = !DIFile(filename: "test.c", directory: "/home/vk/repos/tmp/dwarf") 93 !1 = !DIFile(filename: "test.c", directory: "/home/vk/repos/tmp/dwarf")
93 !2 = !{} 94 !2 = !{}
94 !4 = distinct !DISubprogram(name: "f0", scope: !1, file: !1, line: 4, type: !5, isLocal: false, isDefinition: true, scopeLine: 4, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !8) 95 !4 = distinct !DISubprogram(name: "f0", scope: !1, file: !1, line: 4, type: !5, isLocal: false, isDefinition: true, scopeLine: 4, flags: DIFlagPrototyped, isOptimized: true, unit: !0, retainedNodes: !8)
95 !5 = !DISubroutineType(types: !6) 96 !5 = !DISubroutineType(types: !6)
96 !6 = !{!7, !7, !7, !7, !7, !7} 97 !6 = !{!7, !7, !7, !7, !7, !7}
97 !7 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed) 98 !7 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
98 !8 = !{!9, !10, !11, !12, !13, !14} 99 !8 = !{!9, !10, !11, !12, !13, !14}
99 !9 = !DILocalVariable(name: "a", arg: 1, scope: !4, file: !1, line: 4, type: !7) 100 !9 = !DILocalVariable(name: "a", arg: 1, scope: !4, file: !1, line: 4, type: !7)
100 !10 = !DILocalVariable(name: "b", arg: 2, scope: !4, file: !1, line: 4, type: !7) 101 !10 = !DILocalVariable(name: "b", arg: 2, scope: !4, file: !1, line: 4, type: !7)
101 !11 = !DILocalVariable(name: "c", arg: 3, scope: !4, file: !1, line: 4, type: !7) 102 !11 = !DILocalVariable(name: "c", arg: 3, scope: !4, file: !1, line: 4, type: !7)
102 !12 = !DILocalVariable(name: "d", arg: 4, scope: !4, file: !1, line: 4, type: !7) 103 !12 = !DILocalVariable(name: "d", arg: 4, scope: !4, file: !1, line: 4, type: !7)
103 !13 = !DILocalVariable(name: "e", arg: 5, scope: !4, file: !1, line: 4, type: !7) 104 !13 = !DILocalVariable(name: "e", arg: 5, scope: !4, file: !1, line: 4, type: !7)
104 !14 = !DILocalVariable(name: "x", scope: !4, file: !1, line: 5, type: !7) 105 !14 = !DILocalVariable(name: "x", scope: !4, file: !1, line: 5, type: !7)
105 !15 = distinct !DISubprogram(name: "f1", scope: !1, file: !1, line: 11, type: !5, isLocal: false, isDefinition: true, scopeLine: 11, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !16) 106 !15 = distinct !DISubprogram(name: "f1", scope: !1, file: !1, line: 11, type: !5, isLocal: false, isDefinition: true, scopeLine: 11, flags: DIFlagPrototyped, isOptimized: true, unit: !0, retainedNodes: !16)
106 !16 = !{!17, !18, !19, !20, !21, !22} 107 !16 = !{!17, !18, !19, !20, !21, !22}
107 !17 = !DILocalVariable(name: "a", arg: 1, scope: !15, file: !1, line: 11, type: !7) 108 !17 = !DILocalVariable(name: "a", arg: 1, scope: !15, file: !1, line: 11, type: !7)
108 !18 = !DILocalVariable(name: "b", arg: 2, scope: !15, file: !1, line: 11, type: !7) 109 !18 = !DILocalVariable(name: "b", arg: 2, scope: !15, file: !1, line: 11, type: !7)
109 !19 = !DILocalVariable(name: "c", arg: 3, scope: !15, file: !1, line: 11, type: !7) 110 !19 = !DILocalVariable(name: "c", arg: 3, scope: !15, file: !1, line: 11, type: !7)
110 !20 = !DILocalVariable(name: "d", arg: 4, scope: !15, file: !1, line: 11, type: !7) 111 !20 = !DILocalVariable(name: "d", arg: 4, scope: !15, file: !1, line: 11, type: !7)