llvm.org GIT mirror llvm / c271bc0
Renumber testcase metadata nodes after r290153. This patch renumbers the metadata nodes in debug info testcases after https://reviews.llvm.org/D26769. This is a separate patch because it causes so much churn. This was implemented with a python script that pipes the testcases through llvm-as - | llvm-dis - and then goes through the original and new output side-by side to insert all comments at a close-enough location. Differential Revision: https://reviews.llvm.org/D27765 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290292 91177308-0d34-0410-b5e6-96231b3b80d8 Adrian Prantl 3 years ago
144 changed file(s) with 11691 addition(s) and 11355 deletion(s). Raw diff Collapse all Expand all
11
22 ; rdar://9146594
33
4 define void @drt_vsprintf() nounwind ssp {
4 source_filename = "test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll"
5
6 ; Function Attrs: nounwind ssp
7 define void @drt_vsprintf() #0 {
58 entry:
69 %do_tab_convert = alloca i32, align 4
7 br i1 undef, label %if.then24, label %if.else295, !dbg !13
10 br i1 undef, label %if.then24, label %if.else295, !dbg !11
811
912 if.then24: ; preds = %entry
1013 unreachable
1114
1215 if.else295: ; preds = %entry
13 call void @llvm.dbg.declare(metadata i32* %do_tab_convert, metadata !16, metadata !DIExpression()), !dbg !18
14 store i32 0, i32* %do_tab_convert, align 4, !dbg !19
16 call void @llvm.dbg.declare(metadata i32* %do_tab_convert, metadata !14, metadata !16), !dbg !17
17 store i32 0, i32* %do_tab_convert, align 4, !dbg !18
1518 unreachable
1619 }
1720
18 declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
21 ; Function Attrs: nounwind readnone
22 declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
1923
20 !llvm.dbg.cu = !{!3}
21 !llvm.module.flags = !{!22, !23}
24 attributes #0 = { nounwind ssp }
25 attributes #1 = { nounwind readnone }
2226
23 !0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "vsplive", line: 617, isLocal: true, isDefinition: true, scope: !1, file: !2, type: !6))
24 !1 = distinct !DISubprogram(name: "drt_vsprintf", line: 616, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !3, file: !20, scope: !2, type: !4)
25 !2 = !DIFile(filename: "print.i", directory: "/Volumes/Ebi/echeng/radars/r9146594")
26 !3 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.0 (http://llvm.org/git/clang.git git:/git/puzzlebox/clang.git/ c4d1aea01c4444eb81bdbf391f1be309127c3cf1)", isOptimized: true, emissionKind: FullDebug, file: !20, globals: !{!0})
27 !4 = !DISubroutineType(types: !5)
28 !5 = !{!6}
29 !6 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
30 !7 = distinct !DISubprogram(name: "putc_mem", line: 30, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !3, file: !20, scope: !2, type: !8)
31 !8 = !DISubroutineType(types: !9)
32 !9 = !{null}
33 !10 = distinct !DISubprogram(name: "print_double", line: 203, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !3, file: !20, scope: !2, type: !4)
34 !11 = distinct !DISubprogram(name: "print_number", line: 75, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !3, file: !20, scope: !2, type: !4)
35 !12 = distinct !DISubprogram(name: "get_flags", line: 508, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !3, file: !20, scope: !2, type: !8)
36 !13 = !DILocation(line: 653, column: 5, scope: !14)
37 !14 = distinct !DILexicalBlock(line: 652, column: 35, file: !20, scope: !15)
38 !15 = distinct !DILexicalBlock(line: 616, column: 1, file: !20, scope: !1)
39 !16 = !DILocalVariable(name: "do_tab_convert", line: 853, scope: !17, file: !2, type: !6)
40 !17 = distinct !DILexicalBlock(line: 850, column: 12, file: !20, scope: !14)
41 !18 = !DILocation(line: 853, column: 11, scope: !17)
42 !19 = !DILocation(line: 853, column: 29, scope: !17)
43 !20 = !DIFile(filename: "print.i", directory: "/Volumes/Ebi/echeng/radars/r9146594")
44 !22 = !{i32 2, !"Debug Info Version", i32 3}
45 !23 = !{i32 2, !"Dwarf Version", i32 2}
27 !llvm.dbg.cu = !{!0}
28 !llvm.module.flags = !{!9, !10}
29
30 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.0 (http://llvm.org/git/clang.git git:/git/puzzlebox/clang.git/ c4d1aea01c4444eb81bdbf391f1be309127c3cf1)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, globals: !2)
31 !1 = !DIFile(filename: "print.i", directory: "/Volumes/Ebi/echeng/radars/r9146594")
32 !2 = !{!3}
33 !3 = !DIGlobalVariableExpression(var: !4)
34 !4 = !DIGlobalVariable(name: "vsplive", scope: !5, file: !1, line: 617, type: !8, isLocal: true, isDefinition: true)
35 !5 = distinct !DISubprogram(name: "drt_vsprintf", scope: !1, file: !1, line: 616, type: !6, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0)
36 !6 = !DISubroutineType(types: !7)
37 !7 = !{!8}
38 !8 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
39 !9 = !{i32 2, !"Debug Info Version", i32 3}
40 !10 = !{i32 2, !"Dwarf Version", i32 2}
41 !11 = !DILocation(line: 653, column: 5, scope: !12)
42 !12 = distinct !DILexicalBlock(scope: !13, file: !1, line: 652, column: 35)
43 !13 = distinct !DILexicalBlock(scope: !5, file: !1, line: 616, column: 1)
44 !14 = !DILocalVariable(name: "do_tab_convert", scope: !15, file: !1, line: 853, type: !8)
45 !15 = distinct !DILexicalBlock(scope: !12, file: !1, line: 850, column: 12)
46 !16 = !DIExpression()
47 !17 = !DILocation(line: 853, column: 11, scope: !15)
48 !18 = !DILocation(line: 853, column: 29, scope: !15)
49
0 ; RUN: llc < %s
11
2 source_filename = "test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll"
23 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:32-n32"
34 target triple = "thumbv7-apple-darwin3.0.0-iphoneos"
45
5 @length = common global i32 0, align 4, !dbg !14 ; [#uses=1]
6 @length = common global i32 0, align 4, !dbg !0
67
7 define void @x0(i8* nocapture %buf, i32 %nbytes) nounwind optsize {
8 ; Function Attrs: nounwind optsize
9 define void @x0(i8* nocapture %buf, i32 %nbytes) #0 {
810 entry:
9 tail call void @llvm.dbg.value(metadata i8* %buf, i64 0, metadata !0, metadata !DIExpression()), !dbg !15
10 tail call void @llvm.dbg.value(metadata i32 %nbytes, i64 0, metadata !8, metadata !DIExpression()), !dbg !16
11 %tmp = load i32, i32* @length, !dbg !17 ; [#uses=3]
12 %cmp = icmp eq i32 %tmp, -1, !dbg !17 ; [#uses=1]
13 %cmp.not = xor i1 %cmp, true ; [#uses=1]
14 %cmp3 = icmp ult i32 %tmp, %nbytes, !dbg !17 ; [#uses=1]
15 %or.cond = and i1 %cmp.not, %cmp3 ; [#uses=1]
16 tail call void @llvm.dbg.value(metadata i32 %tmp, i64 0, metadata !8, metadata !DIExpression()), !dbg !17
17 %nbytes.addr.0 = select i1 %or.cond, i32 %tmp, i32 %nbytes ; [#uses=1]
18 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !10, metadata !DIExpression()), !dbg !19
19 br label %while.cond, !dbg !20
11 tail call void @llvm.dbg.value(metadata i8* %buf, i64 0, metadata !8, metadata !14), !dbg !15
12 tail call void @llvm.dbg.value(metadata i32 %nbytes, i64 0, metadata !16, metadata !14), !dbg !18
13 %tmp = load i32, i32* @length, !dbg !19
14 %cmp = icmp eq i32 %tmp, -1, !dbg !19
15 %cmp.not = xor i1 %cmp, true
16 %cmp3 = icmp ult i32 %tmp, %nbytes, !dbg !19
17 %or.cond = and i1 %cmp.not, %cmp3
18 tail call void @llvm.dbg.value(metadata i32 %tmp, i64 0, metadata !16, metadata !14), !dbg !19
19 %nbytes.addr.0 = select i1 %or.cond, i32 %tmp, i32 %nbytes
20 tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !21, metadata !14), !dbg !22
21 br label %while.cond, !dbg !23
2022
2123 while.cond: ; preds = %while.body, %entry
22 %0 = phi i32 [ 0, %entry ], [ %inc, %while.body ] ; [#uses=3]
23 %buf.addr.0 = getelementptr i8, i8* %buf, i32 %0 ; [#uses=1]
24 %cmp7 = icmp ult i32 %0, %nbytes.addr.0, !dbg !20 ; [#uses=1]
25 br i1 %cmp7, label %land.rhs, label %while.end, !dbg !20
24
25 %0 = phi i32 [ 0, %entry ], [ %inc, %while.body ]
26 %buf.addr.0 = getelementptr i8, i8* %buf, i32 %0
27 %cmp7 = icmp ult i32 %0, %nbytes.addr.0, !dbg !23
28 br i1 %cmp7, label %land.rhs, label %while.end, !dbg !23
2629
2730 land.rhs: ; preds = %while.cond
28 %call = tail call i32 @x1() nounwind optsize, !dbg !20 ; [#uses=2]
29 %cmp9 = icmp eq i32 %call, -1, !dbg !20 ; [#uses=1]
30 br i1 %cmp9, label %while.end, label %while.body, !dbg !20
31 %call = tail call i32 @x1() #0, !dbg !23
32 %cmp9 = icmp eq i32 %call, -1, !dbg !23
33 br i1 %cmp9, label %while.end, label %while.body, !dbg !23
3134
3235 while.body: ; preds = %land.rhs
33 %conv = trunc i32 %call to i8, !dbg !21 ; [#uses=1]
34 store i8 %conv, i8* %buf.addr.0, !dbg !21
35 %inc = add i32 %0, 1, !dbg !23 ; [#uses=1]
36 br label %while.cond, !dbg !24
36 %conv = trunc i32 %call to i8, !dbg !24
37 store i8 %conv, i8* %buf.addr.0, !dbg !24
38 %inc = add i32 %0, 1, !dbg !26
39 br label %while.cond, !dbg !27
3740
3841 while.end: ; preds = %land.rhs, %while.cond
39 ret void, !dbg !25
42 ret void, !dbg !28
4043 }
4144
42 declare i32 @x1() optsize
45 ; Function Attrs: optsize
46 declare i32 @x1() #1
4347
44 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
48 ; Function Attrs: nounwind readnone
49 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
4550
46 !llvm.dbg.cu = !{!3}
47 !llvm.module.flags = !{!27, !28}
51 attributes #0 = { nounwind optsize }
52 attributes #1 = { optsize }
53 attributes #2 = { nounwind readnone }
4854
49 !0 = !DILocalVariable(name: "buf", line: 4, arg: 1, scope: !1, file: !2, type: !6)
50 !1 = distinct !DISubprogram(name: "x0", linkageName: "x0", line: 5, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, unit: !3, file: !26, scope: null, type: !4)
55 !llvm.dbg.cu = !{!4}
56 !llvm.module.flags = !{!6, !7}
57
58 !0 = !DIGlobalVariableExpression(var: !1)
59 !1 = !DIGlobalVariable(name: "length", linkageName: "length", scope: !2, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)
5160 !2 = !DIFile(filename: "t.c", directory: "/private/tmp")
52 !3 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang 2.0", isOptimized: true, file: !26, globals: !{!14})
53 !4 = !DISubroutineType(types: !5)
54 !5 = !{null}
55 !6 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, file: !26, scope: !2, baseType: !7)
56 !7 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
57 !8 = !DILocalVariable(name: "nbytes", line: 4, arg: 2, scope: !1, file: !2, type: !9)
58 !9 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned long", size: 32, align: 32, encoding: DW_ATE_unsigned)
59 !10 = !DILocalVariable(name: "nread", line: 6, scope: !11, file: !2, type: !9)
60 !11 = distinct !DILexicalBlock(line: 5, column: 1, file: !26, scope: !1)
61 !12 = !DILocalVariable(name: "c", line: 7, scope: !11, file: !2, type: !13)
62 !13 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
63 !14 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "length", linkageName: "length", line: 1, isLocal: false, isDefinition: true, scope: !2, file: !2, type: !13))
64 !15 = !DILocation(line: 4, column: 24, scope: !1)
65 !16 = !DILocation(line: 4, column: 43, scope: !1)
66 !17 = !DILocation(line: 9, column: 2, scope: !11)
67 !18 = !{i32 0}
68 !19 = !DILocation(line: 10, column: 2, scope: !11)
69 !20 = !DILocation(line: 11, column: 2, scope: !11)
70 !21 = !DILocation(line: 12, column: 3, scope: !22)
71 !22 = distinct !DILexicalBlock(line: 11, column: 45, file: !26, scope: !11)
72 !23 = !DILocation(line: 13, column: 3, scope: !22)
73 !24 = !DILocation(line: 14, column: 2, scope: !22)
74 !25 = !DILocation(line: 15, column: 1, scope: !11)
75 !26 = !DIFile(filename: "t.c", directory: "/private/tmp")
76 !27 = !{i32 2, !"Dwarf Version", i32 2}
77 !28 = !{i32 2, !"Debug Info Version", i32 3}
61 !3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
62 !4 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang 2.0", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, globals: !5)
63 !5 = !{!0}
64 !6 = !{i32 2, !"Dwarf Version", i32 2}
65 !7 = !{i32 2, !"Debug Info Version", i32 3}
66 !8 = !DILocalVariable(name: "buf", arg: 1, scope: !9, file: !2, line: 4, type: !12)
67 !9 = distinct !DISubprogram(name: "x0", linkageName: "x0", scope: null, file: !2, line: 5, type: !10, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, unit: !4)
68 !10 = !DISubroutineType(types: !11)
69 !11 = !{null}
70 !12 = !DIDerivedType(tag: DW_TAG_pointer_type, scope: !2, file: !2, baseType: !13, size: 32, align: 32)
71 !13 = !DIBasicType(name: "unsigned char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
72 !14 = !DIExpression()
73 !15 = !DILocation(line: 4, column: 24, scope: !9)
74 !16 = !DILocalVariable(name: "nbytes", arg: 2, scope: !9, file: !2, line: 4, type: !17)
75 !17 = !DIBasicType(name: "unsigned long", size: 32, align: 32, encoding: DW_ATE_unsigned)
76 !18 = !DILocation(line: 4, column: 43, scope: !9)
77 !19 = !DILocation(line: 9, column: 2, scope: !20)
78 !20 = distinct !DILexicalBlock(scope: !9, file: !2, line: 5, column: 1)
79 !21 = !DILocalVariable(name: "nread", scope: !20, file: !2, line: 6, type: !17)
80 !22 = !DILocation(line: 10, column: 2, scope: !20)
81 !23 = !DILocation(line: 11, column: 2, scope: !20)
82 !24 = !DILocation(line: 12, column: 3, scope: !25)
83 !25 = distinct !DILexicalBlock(scope: !20, file: !2, line: 11, column: 45)
84 !26 = !DILocation(line: 13, column: 3, scope: !25)
85 !27 = !DILocation(line: 14, column: 2, scope: !25)
86 !28 = !DILocation(line: 15, column: 1, scope: !20)
87
0 ; RUN: llc -arm-global-merge -global-merge-group-by-use=false -filetype=obj < %s | llvm-dwarfdump -debug-dump=info - | FileCheck %s
11
2 source_filename = "test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll"
23 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32"
34 target triple = "thumbv7-apple-darwin10"
45
5 @x1 = internal global i8 1, align 1, !dbg !13
6 @x2 = internal global i8 1, align 1, !dbg !14
7 @x3 = internal global i8 1, align 1, !dbg !15
8 @x4 = internal global i8 1, align 1, !dbg !16
9 @x5 = global i8 1, align 1, !dbg !17
10
6 @x1 = internal global i8 1, align 1, !dbg !0
7 @x2 = internal global i8 1, align 1, !dbg !4
8 @x3 = internal global i8 1, align 1, !dbg !6
9 @x4 = internal global i8 1, align 1, !dbg !8
10 @x5 = global i8 1, align 1, !dbg !10
1111 ; Check debug info output for merged global.
1212 ; DW_AT_location
1313 ; 0x03 DW_OP_addr
2727 ; CHECK-NOT: {{DW_TAG|NULL}}
2828 ; CHECK: DW_AT_location [DW_FORM_exprloc] (<0x7> 03 [[ADDR]] 23 01 )
2929
30 define zeroext i8 @get1(i8 zeroext %a) nounwind optsize !dbg !0 {
30 ; Function Attrs: nounwind optsize
31 define zeroext i8 @get1(i8 zeroext %a) #0 !dbg !16 {
3132 entry:
32 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !10, metadata !DIExpression()), !dbg !30
33 %0 = load i8, i8* @x1, align 4, !dbg !30
34 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !11, metadata !DIExpression()), !dbg !30
35 store i8 %a, i8* @x1, align 4, !dbg !30
36 ret i8 %0, !dbg !31
33 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !20, metadata !23), !dbg !24
34 %0 = load i8, i8* @x1, align 4, !dbg !24
35 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !21, metadata !23), !dbg !24
36 store i8 %a, i8* @x1, align 4, !dbg !24
37 ret i8 %0, !dbg !25
3738 }
3839
39 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
40 ; Function Attrs: nounwind readnone
41 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
4042
41 define zeroext i8 @get2(i8 zeroext %a) nounwind optsize !dbg !6 {
43 ; Function Attrs: nounwind optsize
44 define zeroext i8 @get2(i8 zeroext %a) #0 !dbg !26 {
4245 entry:
43 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !18, metadata !DIExpression()), !dbg !32
44 %0 = load i8, i8* @x2, align 4, !dbg !32
45 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !19, metadata !DIExpression()), !dbg !32
46 store i8 %a, i8* @x2, align 4, !dbg !32
47 ret i8 %0, !dbg !33
46 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !28, metadata !23), !dbg !31
47 %0 = load i8, i8* @x2, align 4, !dbg !31
48 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !29, metadata !23), !dbg !31
49 store i8 %a, i8* @x2, align 4, !dbg !31
50 ret i8 %0, !dbg !32
4851 }
4952
50 define zeroext i8 @get3(i8 zeroext %a) nounwind optsize !dbg !7 {
53 ; Function Attrs: nounwind optsize
54
55 define zeroext i8 @get3(i8 zeroext %a) #0 !dbg !33 {
5156 entry:
52 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !21, metadata !DIExpression()), !dbg !34
53 %0 = load i8, i8* @x3, align 4, !dbg !34
54 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !22, metadata !DIExpression()), !dbg !34
55 store i8 %a, i8* @x3, align 4, !dbg !34
56 ret i8 %0, !dbg !35
57 }
58
59 define zeroext i8 @get4(i8 zeroext %a) nounwind optsize !dbg !8 {
60 entry:
61 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !24, metadata !DIExpression()), !dbg !36
62 %0 = load i8, i8* @x4, align 4, !dbg !36
63 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !25, metadata !DIExpression()), !dbg !36
64 store i8 %a, i8* @x4, align 4, !dbg !36
65 ret i8 %0, !dbg !37
66 }
67
68 define zeroext i8 @get5(i8 zeroext %a) nounwind optsize !dbg !9 {
69 entry:
70 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !27, metadata !DIExpression()), !dbg !38
71 %0 = load i8, i8* @x5, align 4, !dbg !38
72 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !28, metadata !DIExpression()), !dbg !38
73 store i8 %a, i8* @x5, align 4, !dbg !38
57 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !35, metadata !23), !dbg !38
58 %0 = load i8, i8* @x3, align 4, !dbg !38
59 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !36, metadata !23), !dbg !38
60 store i8 %a, i8* @x3, align 4, !dbg !38
7461 ret i8 %0, !dbg !39
7562 }
7663
77 !llvm.dbg.cu = !{!2}
78 !llvm.module.flags = !{!49}
64 ; Function Attrs: nounwind optsize
7965
80 !0 = distinct !DISubprogram(name: "get1", linkageName: "get1", line: 4, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, scopeLine: 4, file: !47, scope: !1, type: !3, variables: !42)
81 !1 = !DIFile(filename: "foo.c", directory: "/tmp/")
82 !2 = distinct !DICompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2369.8)", isOptimized: true, emissionKind: FullDebug, file: !47, enums: !48, retainedTypes: !48, globals: !41, imports: !48)
83 !3 = !DISubroutineType(types: !4)
84 !4 = !{!5, !5}
85 !5 = !DIBasicType(tag: DW_TAG_base_type, name: "_Bool", size: 8, align: 8, encoding: DW_ATE_boolean)
86 !6 = distinct !DISubprogram(name: "get2", linkageName: "get2", line: 7, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, scopeLine: 7, file: !47, scope: !1, type: !3, variables: !43)
87 !7 = distinct !DISubprogram(name: "get3", linkageName: "get3", line: 10, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, scopeLine: 10, file: !47, scope: !1, type: !3, variables: !44)
88 !8 = distinct !DISubprogram(name: "get4", linkageName: "get4", line: 13, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, scopeLine: 13, file: !47, scope: !1, type: !3, variables: !45)
89 !9 = distinct !DISubprogram(name: "get5", linkageName: "get5", line: 16, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, scopeLine: 16, file: !47, scope: !1, type: !3, variables: !46)
90 !10 = !DILocalVariable(name: "a", line: 4, arg: 1, scope: !0, file: !1, type: !5)
91 !11 = !DILocalVariable(name: "b", line: 4, scope: !12, file: !1, type: !5)
92 !12 = distinct !DILexicalBlock(line: 4, column: 0, file: !47, scope: !0)
93 !13 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x1", line: 3, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5))
94 !14 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x2", line: 6, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5))
95 !15 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x3", line: 9, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5))
96 !16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x4", line: 12, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5))
97 !17 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x5", line: 15, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5))
98 !18 = !DILocalVariable(name: "a", line: 7, arg: 1, scope: !6, file: !1, type: !5)
99 !19 = !DILocalVariable(name: "b", line: 7, scope: !20, file: !1, type: !5)
100 !20 = distinct !DILexicalBlock(line: 7, column: 0, file: !47, scope: !6)
101 !21 = !DILocalVariable(name: "a", line: 10, arg: 1, scope: !7, file: !1, type: !5)
102 !22 = !DILocalVariable(name: "b", line: 10, scope: !23, file: !1, type: !5)
103 !23 = distinct !DILexicalBlock(line: 10, column: 0, file: !47, scope: !7)
104 !24 = !DILocalVariable(name: "a", line: 13, arg: 1, scope: !8, file: !1, type: !5)
105 !25 = !DILocalVariable(name: "b", line: 13, scope: !26, file: !1, type: !5)
106 !26 = distinct !DILexicalBlock(line: 13, column: 0, file: !47, scope: !8)
107 !27 = !DILocalVariable(name: "a", line: 16, arg: 1, scope: !9, file: !1, type: !5)
108 !28 = !DILocalVariable(name: "b", line: 16, scope: !29, file: !1, type: !5)
109 !29 = distinct !DILexicalBlock(line: 16, column: 0, file: !47, scope: !9)
110 !30 = !DILocation(line: 4, scope: !0)
111 !31 = !DILocation(line: 4, scope: !12)
112 !32 = !DILocation(line: 7, scope: !6)
113 !33 = !DILocation(line: 7, scope: !20)
114 !34 = !DILocation(line: 10, scope: !7)
115 !35 = !DILocation(line: 10, scope: !23)
116 !36 = !DILocation(line: 13, scope: !8)
117 !37 = !DILocation(line: 13, scope: !26)
118 !38 = !DILocation(line: 16, scope: !9)
119 !39 = !DILocation(line: 16, scope: !29)
120 !41 = !{!13, !14, !15, !16, !17}
121 !42 = !{!10, !11}
122 !43 = !{!18, !19}
123 !44 = !{!21, !22}
124 !45 = !{!24, !25}
125 !46 = !{!27, !28}
126 !47 = !DIFile(filename: "foo.c", directory: "/tmp/")
127 !48 = !{}
128 !49 = !{i32 1, !"Debug Info Version", i32 3}
66 define zeroext i8 @get4(i8 zeroext %a) #0 !dbg !40 {
67 entry:
68 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !42, metadata !23), !dbg !45
69 %0 = load i8, i8* @x4, align 4, !dbg !45
70 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !43, metadata !23), !dbg !45
71 store i8 %a, i8* @x4, align 4, !dbg !45
72 ret i8 %0, !dbg !46
73 }
74
75 ; Function Attrs: nounwind optsize
76
77 define zeroext i8 @get5(i8 zeroext %a) #0 !dbg !47 {
78 entry:
79 tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !49, metadata !23), !dbg !52
80 %0 = load i8, i8* @x5, align 4, !dbg !52
81 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !50, metadata !23), !dbg !52
82 store i8 %a, i8* @x5, align 4, !dbg !52
83 ret i8 %0, !dbg !53
84 }
85
86 attributes #0 = { nounwind optsize }
87 attributes #1 = { nounwind readnone }
88
89 !llvm.dbg.cu = !{!12}
90 !llvm.module.flags = !{!15}
91
92 !0 = !DIGlobalVariableExpression(var: !1)
93 !1 = !DIGlobalVariable(name: "x1", scope: !2, file: !2, line: 3, type: !3, isLocal: true, isDefinition: true)
94 !2 = !DIFile(filename: "foo.c", directory: "/tmp/")
95 !3 = !DIBasicType(name: "_Bool", size: 8, align: 8, encoding: DW_ATE_boolean)
96 !4 = !DIGlobalVariableExpression(var: !5)
97 !5 = !DIGlobalVariable(name: "x2", scope: !2, file: !2, line: 6, type: !3, isLocal: true, isDefinition: true)
98 !6 = !DIGlobalVariableExpression(var: !7)
99 !7 = !DIGlobalVariable(name: "x3", scope: !2, file: !2, line: 9, type: !3, isLocal: true, isDefinition: true)
100 !8 = !DIGlobalVariableExpression(var: !9)
101 !9 = !DIGlobalVariable(name: "x4", scope: !2, file: !2, line: 12, type: !3, isLocal: true, isDefinition: true)
102 !10 = !DIGlobalVariableExpression(var: !11)
103 !11 = !DIGlobalVariable(name: "x5", scope: !2, file: !2, line: 15, type: !3, isLocal: false, isDefinition: true)
104 !12 = distinct !DICompileUnit(language: DW_LANG_C89, file: !2, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2369.8)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !13, retainedTypes: !13, globals: !14, imports: !13)
105 !13 = !{}
106 !14 = !{!0, !4, !6, !8, !10}
107 !15 = !{i32 1, !"Debug Info Version", i32 3}
108 !16 = distinct !DISubprogram(name: "get1", linkageName: "get1", scope: !2, file: !2, line: 4, type: !17, isLocal: false, isDefinition: true, scopeLine: 4, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !12, variables: !19)
109 !17 = !DISubroutineType(types: !18)
110 !18 = !{!3, !3}
111 !19 = !{!20, !21}
112 !20 = !DILocalVariable(name: "a", arg: 1, scope: !16, file: !2, line: 4, type: !3)
113 !21 = !DILocalVariable(name: "b", scope: !22, file: !2, line: 4, type: !3)
114 !22 = distinct !DILexicalBlock(scope: !16, file: !2, line: 4)
115 !23 = !DIExpression()
116 !24 = !DILocation(line: 4, scope: !16)
117 !25 = !DILocation(line: 4, scope: !22)
118 !26 = distinct !DISubprogram(name: "get2", linkageName: "get2", scope: !2, file: !2, line: 7, type: !17, isLocal: false, isDefinition: true, scopeLine: 7, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !12, variables: !27)
119 !27 = !{!28, !29}
120 !28 = !DILocalVariable(name: "a", arg: 1, scope: !26, file: !2, line: 7, type: !3)
121 !29 = !DILocalVariable(name: "b", scope: !30, file: !2, line: 7, type: !3)
122 !30 = distinct !DILexicalBlock(scope: !26, file: !2, line: 7)
123 !31 = !DILocation(line: 7, scope: !26)
124 !32 = !DILocation(line: 7, scope: !30)
125 !33 = distinct !DISubprogram(name: "get3", linkageName: "get3", scope: !2, file: !2, line: 10, type: !17, isLocal: false, isDefinition: true, scopeLine: 10, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !12, variables: !34)
126 !34 = !{!35, !36}
127 !35 = !DILocalVariable(name: "a", arg: 1, scope: !33, file: !2, line: 10, type: !3)
128 !36 = !DILocalVariable(name: "b", scope: !37, file: !2, line: 10, type: !3)
129 !37 = distinct !DILexicalBlock(scope: !33, file: !2, line: 10)
130 !38 = !DILocation(line: 10, scope: !33)
131 !39 = !DILocation(line: 10, scope: !37)
132 !40 = distinct !DISubprogram(name: "get4", linkageName: "get4", scope: !2, file: !2, line: 13, type: !17, isLocal: false, isDefinition: true, scopeLine: 13, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !12, variables: !41)
133 !41 = !{!42, !43}
134 !42 = !DILocalVariable(name: "a", arg: 1, scope: !40, file: !2, line: 13, type: !3)
135 !43 = !DILocalVariable(name: "b", scope: !44, file: !2, line: 13, type: !3)
136 !44 = distinct !DILexicalBlock(scope: !40, file: !2, line: 13)
137 !45 = !DILocation(line: 13, scope: !40)
138 !46 = !DILocation(line: 13, scope: !44)
139 !47 = distinct !DISubprogram(name: "get5", linkageName: "get5", scope: !2, file: !2, line: 16, type: !17, isLocal: false, isDefinition: true, scopeLine: 16, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !12, variables: !48)
140 !48 = !{!49, !50}
141 !49 = !DILocalVariable(name: "a", arg: 1, scope: !47, file: !2, line: 16, type: !3)
142 !50 = !DILocalVariable(name: "b", scope: !51, file: !2, line: 16, type: !3)
143 !51 = distinct !DILexicalBlock(scope: !47, file: !2, line: 16)
144 !52 = !DILocation(line: 16, scope: !47)
145 !53 = !DILocation(line: 16, scope: !51)
146
1818 ; CHECK-NOT: {{DW_TAG|NULL}}
1919 ; CHECK: DW_AT_location [DW_FORM_exprloc] (<0x7> 03 [[ADDR]] 23 04 )
2020
21 source_filename = "test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll"
2122 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32"
2223 target triple = "thumbv7-apple-macosx10.7.0"
2324
24 @x1 = internal unnamed_addr global i32 1, align 4, !dbg !25
25 @x2 = internal unnamed_addr global i32 2, align 4, !dbg !26
25 @x1 = internal unnamed_addr global i32 1, align 4, !dbg !0
26 @x2 = internal unnamed_addr global i32 2, align 4, !dbg !6
2627 @x3 = internal unnamed_addr global i32 3, align 4
2728 @x4 = internal unnamed_addr global i32 4, align 4
2829 @x5 = global i32 0, align 4
2930
30 define i32 @get1(i32 %a) nounwind optsize ssp !dbg !1 {
31 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !10, metadata !DIExpression()), !dbg !30
32 %1 = load i32, i32* @x1, align 4, !dbg !31
33 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !11, metadata !DIExpression()), !dbg !31
34 store i32 %a, i32* @x1, align 4, !dbg !31
35 ret i32 %1, !dbg !31
31 ; Function Attrs: nounwind optsize ssp
32 define i32 @get1(i32 %a) #0 !dbg !10 {
33 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !14, metadata !17), !dbg !18
34 %1 = load i32, i32* @x1, align 4, !dbg !19
35 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !15, metadata !17), !dbg !19
36 store i32 %a, i32* @x1, align 4, !dbg !19
37 ret i32 %1, !dbg !19
3638 }
3739
38 define i32 @get2(i32 %a) nounwind optsize ssp !dbg !6 {
39 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !13, metadata !DIExpression()), !dbg !32
40 %1 = load i32, i32* @x2, align 4, !dbg !33
41 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !14, metadata !DIExpression()), !dbg !33
42 store i32 %a, i32* @x2, align 4, !dbg !33
40 ; Function Attrs: nounwind optsize ssp
41
42 define i32 @get2(i32 %a) #0 !dbg !20 {
43 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !22, metadata !17), !dbg !25
44 %1 = load i32, i32* @x2, align 4, !dbg !26
45 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !23, metadata !17), !dbg !26
46 store i32 %a, i32* @x2, align 4, !dbg !26
47 ret i32 %1, !dbg !26
48 }
49
50 ; Function Attrs: nounwind optsize ssp
51
52 define i32 @get3(i32 %a) #0 !dbg !27 {
53 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !29, metadata !17), !dbg !32
54 %1 = load i32, i32* @x3, align 4, !dbg !33
55 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !30, metadata !17), !dbg !33
56 store i32 %a, i32* @x3, align 4, !dbg !33
4357 ret i32 %1, !dbg !33
4458 }
4559
46 define i32 @get3(i32 %a) nounwind optsize ssp !dbg !7 {
47 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !16, metadata !DIExpression()), !dbg !34
48 %1 = load i32, i32* @x3, align 4, !dbg !35
49 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !17, metadata !DIExpression()), !dbg !35
50 store i32 %a, i32* @x3, align 4, !dbg !35
51 ret i32 %1, !dbg !35
60 ; Function Attrs: nounwind optsize ssp
61
62 define i32 @get4(i32 %a) #0 !dbg !34 {
63 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !36, metadata !17), !dbg !39
64 %1 = load i32, i32* @x4, align 4, !dbg !40
65 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !37, metadata !17), !dbg !40
66 store i32 %a, i32* @x4, align 4, !dbg !40
67 ret i32 %1, !dbg !40
5268 }
5369
54 define i32 @get4(i32 %a) nounwind optsize ssp !dbg !8 {
55 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !19, metadata !DIExpression()), !dbg !36
56 %1 = load i32, i32* @x4, align 4, !dbg !37
57 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !20, metadata !DIExpression()), !dbg !37
58 store i32 %a, i32* @x4, align 4, !dbg !37
59 ret i32 %1, !dbg !37
70 ; Function Attrs: nounwind optsize ssp
71
72 define i32 @get5(i32 %a) #0 !dbg !41 {
73 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !43, metadata !17), !dbg !46
74 %1 = load i32, i32* @x5, align 4, !dbg !47
75 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !44, metadata !17), !dbg !47
76 store i32 %a, i32* @x5, align 4, !dbg !47
77 ret i32 %1, !dbg !47
6078 }
6179
62 define i32 @get5(i32 %a) nounwind optsize ssp !dbg !9 {
63 tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !27, metadata !DIExpression()), !dbg !38
64 %1 = load i32, i32* @x5, align 4, !dbg !39
65 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !28, metadata !DIExpression()), !dbg !39
66 store i32 %a, i32* @x5, align 4, !dbg !39
67 ret i32 %1, !dbg !39
68 }
80 ; Function Attrs: nounwind readnone
6981
70 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
82 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
7183
72 !llvm.dbg.cu = !{!0}
73 !llvm.module.flags = !{!49}
84 attributes #0 = { nounwind optsize ssp }
85 attributes #1 = { nounwind readnone }
7486
75 !0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang", isOptimized: true, emissionKind: FullDebug, file: !47, enums: !48, retainedTypes: !48, globals: !41, imports: !48)
76 !1 = distinct !DISubprogram(name: "get1", line: 5, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 5, file: !47, scope: !2, type: !3, variables: !42)
77 !2 = !DIFile(filename: "ss3.c", directory: "/private/tmp")
78 !3 = !DISubroutineType(types: !4)
79 !4 = !{!5}
80 !5 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
81 !6 = distinct !DISubprogram(name: "get2", line: 8, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 8, file: !47, scope: !2, type: !3, variables: !43)
82 !7 = distinct !DISubprogram(name: "get3", line: 11, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 11, file: !47, scope: !2, type: !3, variables: !44)
83 !8 = distinct !DISubprogram(name: "get4", line: 14, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 14, file: !47, scope: !2, type: !3, variables: !45)
84 !9 = distinct !DISubprogram(name: "get5", line: 17, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 17, file: !47, scope: !2, type: !3, variables: !46)
85 !10 = !DILocalVariable(name: "a", line: 5, arg: 1, scope: !1, file: !2, type: !5)
86 !11 = !DILocalVariable(name: "b", line: 5, scope: !12, file: !2, type: !5)
87 !12 = distinct !DILexicalBlock(line: 5, column: 19, file: !47, scope: !1)
88 !13 = !DILocalVariable(name: "a", line: 8, arg: 1, scope: !6, file: !2, type: !5)
89 !14 = !DILocalVariable(name: "b", line: 8, scope: !15, file: !2, type: !5)
90 !15 = distinct !DILexicalBlock(line: 8, column: 17, file: !47, scope: !6)
91 !16 = !DILocalVariable(name: "a", line: 11, arg: 1, scope: !7, file: !2, type: !5)
92 !17 = !DILocalVariable(name: "b", line: 11, scope: !18, file: !2, type: !5)
93 !18 = distinct !DILexicalBlock(line: 11, column: 19, file: !47, scope: !7)
94 !19 = !DILocalVariable(name: "a", line: 14, arg: 1, scope: !8, file: !2, type: !5)
95 !20 = !DILocalVariable(name: "b", line: 14, scope: !21, file: !2, type: !5)
96 !21 = distinct !DILexicalBlock(line: 14, column: 19, file: !47, scope: !8)
97 !25 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x1", line: 4, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5))
98 !26 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x2", line: 7, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5))
99 !27 = !DILocalVariable(name: "a", line: 17, arg: 1, scope: !9, file: !2, type: !5)
100 !28 = !DILocalVariable(name: "b", line: 17, scope: !29, file: !2, type: !5)
101 !29 = distinct !DILexicalBlock(line: 17, column: 19, file: !47, scope: !9)
102 !30 = !DILocation(line: 5, column: 16, scope: !1)
103 !31 = !DILocation(line: 5, column: 32, scope: !12)
104 !32 = !DILocation(line: 8, column: 14, scope: !6)
105 !33 = !DILocation(line: 8, column: 29, scope: !15)
106 !34 = !DILocation(line: 11, column: 16, scope: !7)
107 !35 = !DILocation(line: 11, column: 32, scope: !18)
108 !36 = !DILocation(line: 14, column: 16, scope: !8)
109 !37 = !DILocation(line: 14, column: 32, scope: !21)
110 !38 = !DILocation(line: 17, column: 16, scope: !9)
111 !39 = !DILocation(line: 17, column: 32, scope: !29)
112 !41 = !{!25, !26}
113 !42 = !{!10, !11}
114 !43 = !{!13, !14}
115 !44 = !{!16, !17}
116 !45 = !{!19, !20}
117 !46 = !{!27, !28}
118 !47 = !DIFile(filename: "ss3.c", directory: "/private/tmp")
119 !48 = !{}
120 !49 = !{i32 1, !"Debug Info Version", i32 3}
87 !llvm.dbg.cu = !{!2}
88 !llvm.module.flags = !{!9}
89
90 !0 = !DIGlobalVariableExpression(var: !1)
91 !1 = !DIGlobalVariable(name: "x1", scope: !2, file: !3, line: 4, type: !8, isLocal: true, isDefinition: true)
92 !2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, retainedTypes: !4, globals: !5, imports: !4)
93 !3 = !DIFile(filename: "ss3.c", directory: "/private/tmp")
94 !4 = !{}
95 !5 = !{!0, !6}
96 !6 = !DIGlobalVariableExpression(var: !7)
97 !7 = !DIGlobalVariable(name: "x2", scope: !2, file: !3, line: 7, type: !8, isLocal: true, isDefinition: true)
98 !8 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
99 !9 = !{i32 1, !"Debug Info Version", i32 3}
100 !10 = distinct !DISubprogram(name: "get1", scope: !3, file: !3, line: 5, type: !11, isLocal: false, isDefinition: true, scopeLine: 5, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !13)
101 !11 = !DISubroutineType(types: !12)
102 !12 = !{!8}
103 !13 = !{!14, !15}
104 !14 = !DILocalVariable(name: "a", arg: 1, scope: !10, file: !3, line: 5, type: !8)
105 !15 = !DILocalVariable(name: "b", scope: !16, file: !3, line: 5, type: !8)
106 !16 = distinct !DILexicalBlock(scope: !10, file: !3, line: 5, column: 19)
107 !17 = !DIExpression()
108 !18 = !DILocation(line: 5, column: 16, scope: !10)
109 !19 = !DILocation(line: 5, column: 32, scope: !16)
110 !20 = distinct !DISubprogram(name: "get2", scope: !3, file: !3, line: 8, type: !11, isLocal: false, isDefinition: true, scopeLine: 8, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !21)
111 !21 = !{!22, !23}
112 !22 = !DILocalVariable(name: "a", arg: 1, scope: !20, file: !3, line: 8, type: !8)
113 !23 = !DILocalVariable(name: "b", scope: !24, file: !3, line: 8, type: !8)
114 !24 = distinct !DILexicalBlock(scope: !20, file: !3, line: 8, column: 17)
115 !25 = !DILocation(line: 8, column: 14, scope: !20)
116 !26 = !DILocation(line: 8, column: 29, scope: !24)
117 !27 = distinct !DISubprogram(name: "get3", scope: !3, file: !3, line: 11, type: !11, isLocal: false, isDefinition: true, scopeLine: 11, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !28)
118 !28 = !{!29, !30}
119 !29 = !DILocalVariable(name: "a", arg: 1, scope: !27, file: !3, line: 11, type: !8)
120 !30 = !DILocalVariable(name: "b", scope: !31, file: !3, line: 11, type: !8)
121 !31 = distinct !DILexicalBlock(scope: !27, file: !3, line: 11, column: 19)
122 !32 = !DILocation(line: 11, column: 16, scope: !27)
123 !33 = !DILocation(line: 11, column: 32, scope: !31)
124 !34 = distinct !DISubprogram(name: "get4", scope: !3, file: !3, line: 14, type: !11, isLocal: false, isDefinition: true, scopeLine: 14, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !35)
125 !35 = !{!36, !37}
126 !36 = !DILocalVariable(name: "a", arg: 1, scope: !34, file: !3, line: 14, type: !8)
127 !37 = !DILocalVariable(name: "b", scope: !38, file: !3, line: 14, type: !8)
128 !38 = distinct !DILexicalBlock(scope: !34, file: !3, line: 14, column: 19)
129 !39 = !DILocation(line: 14, column: 16, scope: !34)
130 !40 = !DILocation(line: 14, column: 32, scope: !38)
131 !41 = distinct !DISubprogram(name: "get5", scope: !3, file: !3, line: 17, type: !11, isLocal: false, isDefinition: true, scopeLine: 17, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !42)
132 !42 = !{!43, !44}
133 !43 = !DILocalVariable(name: "a", arg: 1, scope: !41, file: !3, line: 17, type: !8)
134 !44 = !DILocalVariable(name: "b", scope: !45, file: !3, line: 17, type: !8)
135 !45 = distinct !DILexicalBlock(scope: !41, file: !3, line: 17, column: 19)
136 !46 = !DILocation(line: 17, column: 16, scope: !41)
137 !47 = !DILocation(line: 17, column: 32, scope: !45)
138
55 ; instruction which must be updated during
66 ; ConnectedVNInfoEqClasses::Distribute().
77
8 source_filename = "test/CodeGen/ARM/coalesce-dbgvalue.ll"
89 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32"
910 target triple = "thumbv7-apple-ios3.0.0"
1011
11 @c = common global i32 0, align 4, !dbg !19
12 @b = common global i32 0, align 4, !dbg !18
13 @a = common global i64 0, align 8, !dbg !16
14 @d = common global i32 0, align 4, !dbg !20
12 @c = common global i32 0, align 4, !dbg !0
13 @b = common global i32 0, align 4, !dbg !4
14 @a = common global i64 0, align 8, !dbg !6
15 @d = common global i32 0, align 4, !dbg !9
1516
1617 ; Function Attrs: nounwind ssp
17 define i32 @pr16110() #0 !dbg !4 {
18 define i32 @pr16110() #0 !dbg !15 {
1819 for.cond1.preheader:
19 store i32 0, i32* @c, align 4, !dbg !21
20 store i32 0, i32* @c, align 4, !dbg !24
2021 br label %for.cond1.outer, !dbg !26
2122
2223 for.cond1: ; preds = %for.end9, %for.cond1.outer
2627
2728 for.body2: ; preds = %for.cond1
2829 store i32 %storemerge11, i32* @b, align 4, !dbg !26
29 tail call void @llvm.dbg.value(metadata i32* null, i64 0, metadata !11, metadata !DIExpression()), !dbg !28
30 tail call void @llvm.dbg.value(metadata i32* null, i64 0, metadata !20, metadata !27), !dbg !28
3031 %0 = load i64, i64* @a, align 8, !dbg !29
3132 %xor = xor i64 %0, %e.1.ph, !dbg !29
3233 %conv3 = trunc i64 %xor to i32, !dbg !29
33 tail call void @llvm.dbg.value(metadata i32 %conv3, i64 0, metadata !10, metadata !DIExpression()), !dbg !29
34 tail call void @llvm.dbg.value(metadata i32 %conv3, i64 0, metadata !19, metadata !27), !dbg !29
3435 %tobool4 = icmp eq i32 %conv3, 0, !dbg !29
3536 br i1 %tobool4, label %land.end, label %land.rhs, !dbg !29
3637
5152 for.cond1.outer: ; preds = %land.end, %for.cond1.preheader
5253 %storemerge11.ph = phi i32 [ %inc8, %land.end ], [ 0, %for.cond1.preheader ]
5354 %e.1.ph = phi i64 [ %phitmp, %land.end ], [ 0, %for.cond1.preheader ]
54 %3 = load i32, i32* @d, align 4, !dbg !31
55 %tobool10 = icmp eq i32 %3, 0, !dbg !31
55 %3 = load i32, i32* @d, align 4, !dbg !30
56 %tobool10 = icmp eq i32 %3, 0, !dbg !30
5657 br label %for.cond1
5758
5859 for.end9: ; preds = %for.cond1
59 br i1 %tobool10, label %if.end, label %for.cond1, !dbg !31
60 br i1 %tobool10, label %if.end, label %for.cond1, !dbg !30
6061
6162 if.end: ; preds = %for.end9
6263 store i32 %storemerge11, i32* @b, align 4, !dbg !26
63 ret i32 0, !dbg !32
64 ret i32 0, !dbg !31
6465 }
6566
6667 declare i32 @fn2(...) #1
7576 attributes #2 = { nounwind readnone }
7677 attributes #3 = { nounwind }
7778
78 !llvm.dbg.cu = !{!0}
79 !llvm.module.flags = !{!33}
79 !llvm.dbg.cu = !{!11}
80 !llvm.module.flags = !{!14}
8081
81 !0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.4 (trunk 182024) (llvm/trunk 182023)", isOptimized: true, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !15, imports: !2)
82 !1 = !DIFile(filename: "pr16110.c", directory: "/d/b")
83 !2 = !{}
84 !4 = distinct !DISubprogram(name: "pr16110", line: 7, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, unit: !0, scopeLine: 7, file: !1, scope: !5, type: !6, variables: !9)
85 !5 = !DIFile(filename: "pr16110.c", directory: "/d/b")
86 !6 = !DISubroutineType(types: !7)
87 !7 = !{!8}
88 !8 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
89 !9 = !{!10, !11}
90 !10 = !DILocalVariable(name: "e", line: 8, scope: !4, file: !5, type: !8)
91 !11 = !DILocalVariable(name: "f", line: 13, scope: !12, file: !5, type: !14)
92 !12 = distinct !DILexicalBlock(line: 12, column: 0, file: !1, scope: !13)
93 !13 = distinct !DILexicalBlock(line: 12, column: 0, file: !1, scope: !4)
94 !14 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, baseType: !8)
95 !15 = !{!16, !18, !19, !20}
96 !16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !17))
97 !17 = !DIBasicType(tag: DW_TAG_base_type, name: "long long int", size: 64, align: 32, encoding: DW_ATE_signed)
98 !18 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8))
99 !19 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c", line: 3, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8))
100 !20 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "d", line: 4, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8))
101 !21 = !DILocation(line: 10, scope: !22)
102 !22 = distinct !DILexicalBlock(line: 10, column: 0, file: !1, scope: !4)
103 !26 = !DILocation(line: 12, scope: !13)
104 !27 = !{i32* null}
105 !28 = !DILocation(line: 13, scope: !12)
106 !29 = !DILocation(line: 14, scope: !12)
107 !31 = !DILocation(line: 16, scope: !4)
108 !32 = !DILocation(line: 18, scope: !4)
109 !33 = !{i32 1, !"Debug Info Version", i32 3}
82 !0 = !DIGlobalVariableExpression(var: !1)
83 !1 = !DIGlobalVariable(name: "c", scope: null, file: !2, line: 3, type: !3, isLocal: false, isDefinition: true)
84 !2 = !DIFile(filename: "pr16110.c", directory: "/d/b")
85 !3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
86 !4 = !DIGlobalVariableExpression(var: !5)
87 !5 = !DIGlobalVariable(name: "b", scope: null, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true)
88 !6 = !DIGlobalVariableExpression(var: !7)
89 !7 = !DIGlobalVariable(name: "a", scope: null, file: !2, line: 1, type: !8, isLocal: false, isDefinition: true)
90 !8 = !DIBasicType(name: "long long int", size: 64, align: 32, encoding: DW_ATE_signed)
91 !9 = !DIGlobalVariableExpression(var: !10)
92 !10 = !DIGlobalVariable(name: "d", scope: null, file: !2, line: 4, type: !3, isLocal: false, isDefinition: true)
93 !11 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 3.4 (trunk 182024) (llvm/trunk 182023)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !12, retainedTypes: !12, globals: !13, imports: !12)
94 !12 = !{}
95 !13 = !{!6, !4, !0, !9}
96 !14 = !{i32 1, !"Debug Info Version", i32 3}
97 !15 = distinct !DISubprogram(name: "pr16110", scope: !2, file: !2, line: 7, type: !16, isLocal: false, isDefinition: true, scopeLine: 7, virtualIndex: 6, isOptimized: true, unit: !11, variables: !18)
98 !16 = !DISubroutineType(types: !17)
99 !17 = !{!3}
100 !18 = !{!19, !20}
101 !19 = !DILocalVariable(name: "e", scope: !15, file: !2, line: 8, type: !3)
102 !20 = !DILocalVariable(name: "f", scope: !21, file: !2, line: 13, type: !23)
103 !21 = distinct !DILexicalBlock(scope: !22, file: !2, line: 12)
104 !22 = distinct !DILexicalBlock(scope: !15, file: !2, line: 12)
105 !23 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !3, size: 32, align: 32)
106 !24 = !DILocation(line: 10, scope: !25)
107 !25 = distinct !DILexicalBlock(scope: !15, file: !2, line: 10)
108 !26 = !DILocation(line: 12, scope: !22)
109 !27 = !DIExpression()
110 !28 = !DILocation(line: 13, scope: !21)
111 !29 = !DILocation(line: 14, scope: !21)
112 !30 = !DILocation(line: 16, scope: !15)
113 !31 = !DILocation(line: 18, scope: !15)
114
66
77 @testprog.myvar_c = internal unnamed_addr global i32 0, align 4, !dbg !0
88
9 define i32 @testprog(i32, i32) local_unnamed_addr #0 !dbg !1 {
10 tail call void @llvm.dbg.value(metadata i32 %0, i64 0, metadata !10, metadata !15), !dbg !16
11 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !11, metadata !15), !dbg !17
12 %3 = load i32, i32* @testprog.myvar_c, align 4, !dbg !18, !tbaa !19
13 %4 = add i32 %1, %0, !dbg !23
14 %5 = add i32 %4, %3, !dbg !24
15 store i32 %5, i32* @testprog.myvar_c, align 4, !dbg !25, !tbaa !19
16 ret i32 %5, !dbg !26
9 ; Function Attrs: nounwind
10 define i32 @testprog(i32, i32) local_unnamed_addr #0 !dbg !2 {
11 tail call void @llvm.dbg.value(metadata i32 %0, i64 0, metadata !11, metadata !16), !dbg !17
12 tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !12, metadata !16), !dbg !18
13 %3 = load i32, i32* @testprog.myvar_c, align 4, !dbg !19, !tbaa !20
14 %4 = add i32 %1, %0, !dbg !24
15 %5 = add i32 %4, %3, !dbg !25
16 store i32 %5, i32* @testprog.myvar_c, align 4, !dbg !26, !tbaa !20
17 ret i32 %5, !dbg !27
1718 }
1819
20 ; Function Attrs: nounwind readnone
1921 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
2022
2123 attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
2224 attributes #1 = { nounwind readnone }
2325
24 !llvm.dbg.cu = !{!6}
25 !llvm.module.flags = !{!12, !13}
26 !llvm.ident = !{!14}
26 !llvm.dbg.cu = !{!7}
27 !llvm.module.flags = !{!13, !14}
28 !llvm.ident = !{!15}
2729
28 !0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "myvar_c", scope: !1, file: !2, line: 3, type: !5, isLocal: true, isDefinition: true))
29 !1 = distinct !DISubprogram(name: "testprog", scope: !2, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: true, unit: !6, variables: !9)
30 !2 = !DIFile(filename: "testprog.c", directory: "/w/llvm/bld")
31 !3 = !DISubroutineType(types: !4)
32 !4 = !{!5, !5, !5}
33 !5 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
34 !6 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 4.0.0 (trunk 287518) (llvm/trunk 287520)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !7, globals: !8)
35 !7 = !{}
36 !8 = !{!0}
37 !9 = !{!10, !11}
38 !10 = !DILocalVariable(name: "myvar_a", arg: 1, scope: !1, file: !2, line: 1, type: !5)
39 !11 = !DILocalVariable(name: "myvar_b", arg: 2, scope: !1, file: !2, line: 1, type: !5)
40 !12 = !{i32 2, !"Dwarf Version", i32 4}
41 !13 = !{i32 2, !"Debug Info Version", i32 3}
42 !14 = !{!"clang version 4.0.0 (trunk 287518) (llvm/trunk 287520)"}
43 !15 = !DIExpression()
44 !16 = !DILocation(line: 1, column: 18, scope: !1)
45 !17 = !DILocation(line: 1, column: 31, scope: !1)
46 !18 = !DILocation(line: 5, column: 19, scope: !1)
47 !19 = !{!20, !20, i64 0}
48 !20 = !{!"int", !21, i64 0}
49 !21 = !{!"omnipotent char", !22, i64 0}
50 !22 = !{!"Simple C/C++ TBAA"}
51 !23 = !DILocation(line: 5, column: 27, scope: !1)
52 !24 = !DILocation(line: 7, column: 27, scope: !1)
53 !25 = !DILocation(line: 7, column: 17, scope: !1)
54 !26 = !DILocation(line: 9, column: 9, scope: !1)
30 !0 = distinct !DIGlobalVariableExpression(var: !1)
31 !1 = !DIGlobalVariable(name: "myvar_c", scope: !2, file: !3, line: 3, type: !6, isLocal: true, isDefinition: true)
32 !2 = distinct !DISubprogram(name: "testprog", scope: !3, file: !3, line: 1, type: !4, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: true, unit: !7, variables: !10)
33 !3 = !DIFile(filename: "testprog.c", directory: "/w/llvm/bld")
34 !4 = !DISubroutineType(types: !5)
35 !5 = !{!6, !6, !6}
36 !6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
37 !7 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 4.0.0 (trunk 287518) (llvm/trunk 287520)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !8, globals: !9)
38 !8 = !{}
39 !9 = !{!0}
40 !10 = !{!11, !12}
41 !11 = !DILocalVariable(name: "myvar_a", arg: 1, scope: !2, file: !3, line: 1, type: !6)
42 !12 = !DILocalVariable(name: "myvar_b", arg: 2, scope: !2, file: !3, line: 1, type: !6)
43 !13 = !{i32 2, !"Dwarf Version", i32 4}
44 !14 = !{i32 2, !"Debug Info Version", i32 3}
45 !15 = !{!"clang version 4.0.0 (trunk 287518) (llvm/trunk 287520)"}
46 !16 = !DIExpression()
47 !17 = !DILocation(line: 1, column: 18, scope: !2)
48 !18 = !DILocation(line: 1, column: 31, scope: !2)
49 !19 = !DILocation(line: 5, column: 19, scope: !2)
50 !20 = !{!21, !21, i64 0}
51 !21 = !{!"int", !22, i64 0}
52 !22 = !{!"omnipotent char", !23, i64 0}
53 !23 = !{!"Simple C/C++ TBAA"}
54 !24 = !DILocation(line: 5, column: 27, scope: !2)
55 !25 = !DILocation(line: 7, column: 27, scope: !2)
56 !26 = !DILocation(line: 7, column: 17, scope: !2)
57 !27 = !DILocation(line: 9, column: 9, scope: !2)
58
5559 ; CHECK: file_names[ 1] 0 0x00000000 0x00000000 testprog.c
5660 ; CHECK: 0x0000000000000000 2
5761 ; CHECK: 0x0000000000000020 7
22 ; This test formerly failed due to a DBG_VALUE being placed prior to a PHI
33 ; when fast-isel is partially successful before punting to DAG-isel.
44
5 source_filename = "test/CodeGen/PowerPC/pr17168.ll"
56 target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64"
67 target triple = "powerpc64-unknown-linux-gnu"
78
8 @grid_points = external global [3 x i32], align 4, !dbg !299
9 @grid_points = external global [3 x i32], align 4, !dbg !0
910
1011 ; Function Attrs: nounwind
11 define fastcc void @compute_rhs() #0 !dbg !114 {
12 define fastcc void @compute_rhs() #0 !dbg !263 {
1213 entry:
13 br i1 undef, label %for.cond871.preheader.for.inc960_crit_edge, label %for.end1042, !dbg !439
14 br i1 undef, label %for.cond871.preheader.for.inc960_crit_edge, label %for.end1042, !dbg !281
1415
1516 for.cond871.preheader.for.inc960_crit_edge: ; preds = %for.cond871.preheader.for.inc960_crit_edge, %entry
16 br i1 false, label %for.cond871.preheader.for.inc960_crit_edge, label %for.cond964.preheader, !dbg !439
17 br i1 false, label %for.cond871.preheader.for.inc960_crit_edge, label %for.cond964.preheader, !dbg !281
1718
1819 for.cond964.preheader: ; preds = %for.cond871.preheader.for.inc960_crit_edge
19 br i1 undef, label %for.cond968.preheader, label %for.end1042, !dbg !441
20 br i1 undef, label %for.cond968.preheader, label %for.end1042, !dbg !283
2021
2122 for.cond968.preheader: ; preds = %for.cond968.preheader, %for.cond964.preheader
22 br i1 false, label %for.cond968.preheader, label %for.end1042, !dbg !441
23 br i1 false, label %for.cond968.preheader, label %for.end1042, !dbg !283
2324
2425 for.end1042: ; preds = %for.cond968.preheader, %for.cond964.preheader, %entry
26
2527 %0 = phi i32 [ undef, %for.cond964.preheader ], [ undef, %for.cond968.preheader ], [ undef, %entry ]
26 %1 = load i32, i32* getelementptr inbounds ([3 x i32], [3 x i32]* @grid_points, i64 0, i64 0), align 4, !dbg !443, !tbaa !444
27 tail call void @llvm.dbg.value(metadata i32 1, i64 0, metadata !119, metadata !DIExpression()), !dbg !448
28 %sub10454270 = add nsw i32 %0, -1, !dbg !448
29 %cmp10464271 = icmp sgt i32 %sub10454270, 1, !dbg !448
30 %sub11134263 = add nsw i32 %1, -1, !dbg !450
31 %cmp11144264 = icmp sgt i32 %sub11134263, 1, !dbg !450
32 br i1 %cmp11144264, label %for.cond1116.preheader, label %for.cond1816.preheader.for.inc1898_crit_edge, !dbg !450
28 %1 = load i32, i32* getelementptr inbounds ([3 x i32], [3 x i32]* @grid_points, i64 0, i64 0), align 4, !dbg !285, !tbaa !286
29 tail call void @llvm.dbg.value(metadata i32 1, i64 0, metadata !268, metadata !290), !dbg !291
30 %sub10454270 = add nsw i32 %0, -1, !dbg !291
31 %cmp10464271 = icmp sgt i32 %sub10454270, 1, !dbg !291
32 %sub11134263 = add nsw i32 %1, -1, !dbg !293
33 %cmp11144264 = icmp sgt i32 %sub11134263, 1, !dbg !293
34 br i1 %cmp11144264, label %for.cond1116.preheader, label %for.cond1816.preheader.for.inc1898_crit_edge, !dbg !293
3335
3436 for.cond1116.preheader: ; preds = %for.inc1658, %for.end1042
35 br i1 %cmp10464271, label %for.body1123, label %for.inc1658, !dbg !452
37 br i1 %cmp10464271, label %for.body1123, label %for.inc1658, !dbg !295
3638
3739 for.body1123: ; preds = %for.body1123, %for.cond1116.preheader
38 br label %for.body1123, !dbg !455
40
41 br label %for.body1123, !dbg !298
3942
4043 for.inc1658: ; preds = %for.cond1116.preheader
41 br i1 undef, label %for.cond1116.preheader, label %for.cond1816.preheader.for.inc1898_crit_edge, !dbg !450
44 br i1 undef, label %for.cond1116.preheader, label %for.cond1816.preheader.for.inc1898_crit_edge, !dbg !293
4245
4346 for.cond1816.preheader.for.inc1898_crit_edge: ; preds = %for.cond1816.preheader.for.inc1898_crit_edge, %for.inc1658, %for.end1042
44 br label %for.cond1816.preheader.for.inc1898_crit_edge, !dbg !458
47 br label %for.cond1816.preheader.for.inc1898_crit_edge, !dbg !301
4548 }
4649
4750 ; Function Attrs: nounwind readnone
5053 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
5154 attributes #1 = { nounwind readnone }
5255
53 !llvm.dbg.cu = !{!0}
54 !llvm.module.flags = !{!438, !464}
55
56 !0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.4 (trunk 190311)", isOptimized: true, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !298, imports: !2)
57 !1 = !DIFile(filename: "bt.c", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
58 !2 = !{}
59 !4 = distinct !DISubprogram(name: "main", line: 74, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 74, file: !1, scope: !5, type: !6, variables: !12)
60 !5 = !DIFile(filename: "bt.c", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
61 !6 = !DISubroutineType(types: !7)
62 !7 = !{!8, !8, !9}
63 !8 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
64 !9 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !10)
65 !10 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !11)
66 !11 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
67 !12 = !{!13, !14, !15, !16, !17, !18, !19, !21, !22, !23, !25, !26}
68 !13 = !DILocalVariable(name: "argc", line: 74, arg: 1, scope: !4, file: !5, type: !8)
69 !14 = !DILocalVariable(name: "argv", line: 74, arg: 2, scope: !4, file: !5, type: !9)
70 !15 = !DILocalVariable(name: "niter", line: 76, scope: !4, file: !5, type: !8)
71 !16 = !DILocalVariable(name: "step", line: 76, scope: !4, file: !5, type: !8)
72 !17 = !DILocalVariable(name: "n3", line: 76, scope: !4, file: !5, type: !8)
73 !18 = !DILocalVariable(name: "nthreads", line: 77, scope: !4, file: !5, type: !8)
74 !19 = !DILocalVariable(name: "navg", line: 78, scope: !4, file: !5, type: !20)
75 !20 = !DIBasicType(tag: DW_TAG_base_type, name: "double", size: 64, align: 64, encoding: DW_ATE_float)
76 !21 = !DILocalVariable(name: "mflops", line: 78, scope: !4, file: !5, type: !20)
77 !22 = !DILocalVariable(name: "tmax", line: 80, scope: !4, file: !5, type: !20)
78 !23 = !DILocalVariable(name: "verified", line: 81, scope: !4, file: !5, type: !24)
79 !24 = !DIDerivedType(tag: DW_TAG_typedef, name: "boolean", line: 12, file: !1, baseType: !8)
80 !25 = !DILocalVariable(name: "class", line: 82, scope: !4, file: !5, type: !11)
81 !26 = !DILocalVariable(name: "fp", line: 83, scope: !4, file: !5, type: !27)
82 !27 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !28)
83 !28 = !DIDerivedType(tag: DW_TAG_typedef, name: "FILE", line: 49, file: !1, baseType: !29)
84 !29 = !DICompositeType(tag: DW_TAG_structure_type, name: "_IO_FILE", line: 271, size: 1728, align: 64, file: !30, elements: !31)
85 !30 = !DIFile(filename: "/usr/include/libio.h", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
86 !31 = !{!32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !52, !53, !54, !55, !58, !60, !62, !66, !68, !70, !71, !72, !73, !74, !77, !78}
87 !32 = !DIDerivedType(tag: DW_TAG_member, name: "_flags", line: 272, size: 32, align: 32, file: !30, scope: !29, baseType: !8)
88 !33 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_read_ptr", line: 277, size: 64, align: 64, offset: 64, file: !30, scope: !29, baseType: !10)
89 !34 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_read_end", line: 278, size: 64, align: 64, offset: 128, file: !30, scope: !29, baseType: !10)
90 !35 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_read_base", line: 279, size: 64, align: 64, offset: 192, file: !30, scope: !29, baseType: !10)
91 !36 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_write_base", line: 280, size: 64, align: 64, offset: 256, file: !30, scope: !29, baseType: !10)
92 !37 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_write_ptr", line: 281, size: 64, align: 64, offset: 320, file: !30, scope: !29, baseType: !10)
93 !38 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_write_end", line: 282, size: 64, align: 64, offset: 384, file: !30, scope: !29, baseType: !10)
94 !39 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_buf_base", line: 283, size: 64, align: 64, offset: 448, file: !30, scope: !29, baseType: !10)
95 !40 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_buf_end", line: 284, size: 64, align: 64, offset: 512, file: !30, scope: !29, baseType: !10)
96 !41 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_save_base", line: 286, size: 64, align: 64, offset: 576, file: !30, scope: !29, baseType: !10)
97 !42 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_backup_base", line: 287, size: 64, align: 64, offset: 640, file: !30, scope: !29, baseType: !10)
98 !43 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_save_end", line: 288, size: 64, align: 64, offset: 704, file: !30, scope: !29, baseType: !10)
99 !44 = !DIDerivedType(tag: DW_TAG_member, name: "_markers", line: 290, size: 64, align: 64, offset: 768, file: !30, scope: !29, baseType: !45)
100 !45 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !46)
101 !46 = !DICompositeType(tag: DW_TAG_structure_type, name: "_IO_marker", line: 186, size: 192, align: 64, file: !30, elements: !47)
102 !47 = !{!48, !49, !51}
103 !48 = !DIDerivedType(tag: DW_TAG_member, name: "_next", line: 187, size: 64, align: 64, file: !30, scope: !46, baseType: !45)
104 !49 = !DIDerivedType(tag: DW_TAG_member, name: "_sbuf", line: 188, size: 64, align: 64, offset: 64, file: !30, scope: !46, baseType: !50)
105 !50 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !29)
106 !51 = !DIDerivedType(tag: DW_TAG_member, name: "_pos", line: 192, size: 32, align: 32, offset: 128, file: !30, scope: !46, baseType: !8)
107 !52 = !DIDerivedType(tag: DW_TAG_member, name: "_chain", line: 292, size: 64, align: 64, offset: 832, file: !30, scope: !29, baseType: !50)
108 !53 = !DIDerivedType(tag: DW_TAG_member, name: "_fileno", line: 294, size: 32, align: 32, offset: 896, file: !30, scope: !29, baseType: !8)
109 !54 = !DIDerivedType(tag: DW_TAG_member, name: "_flags2", line: 298, size: 32, align: 32, offset: 928, file: !30, scope: !29, baseType: !8)
110 !55 = !DIDerivedType(tag: DW_TAG_member, name: "_old_offset", line: 300, size: 64, align: 64, offset: 960, file: !30, scope: !29, baseType: !56)
111 !56 = !DIDerivedType(tag: DW_TAG_typedef, name: "__off_t", line: 141, file: !30, baseType: !57)
112 !57 = !DIBasicType(tag: DW_TAG_base_type, name: "long int", size: 64, align: 64, encoding: DW_ATE_signed)
113 !58 = !DIDerivedType(tag: DW_TAG_member, name: "_cur_column", line: 304, size: 16, align: 16, offset: 1024, file: !30, scope: !29, baseType: !59)
114 !59 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned short", size: 16, align: 16, encoding: DW_ATE_unsigned)
115 !60 = !DIDerivedType(tag: DW_TAG_member, name: "_vtable_offset", line: 305, size: 8, align: 8, offset: 1040, file: !30, scope: !29, baseType: !61)
116 !61 = !DIBasicType(tag: DW_TAG_base_type, name: "signed char", size: 8, align: 8, encoding: DW_ATE_signed_char)
117 !62 = !DIDerivedType(tag: DW_TAG_member, name: "_shortbuf", line: 306, size: 8, align: 8, offset: 1048, file: !30, scope: !29, baseType: !63)
118 !63 = !DICompositeType(tag: DW_TAG_array_type, size: 8, align: 8, baseType: !11, elements: !64)
119 !64 = !{!65}
120 !65 = !DISubrange(count: 1)
121 !66 = !DIDerivedType(tag: DW_TAG_member, name: "_lock", line: 310, size: 64, align: 64, offset: 1088, file: !30, scope: !29, baseType: !67)
122 !67 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: null)
123 !68 = !DIDerivedType(tag: DW_TAG_member, name: "_offset", line: 319, size: 64, align: 64, offset: 1152, file: !30, scope: !29, baseType: !69)
124 !69 = !DIDerivedType(tag: DW_TAG_typedef, name: "__off64_t", line: 142, file: !30, baseType: !57)
125 !70 = !DIDerivedType(tag: DW_TAG_member, name: "__pad1", line: 328, size: 64, align: 64, offset: 1216, file: !30, scope: !29, baseType: !67)
126 !71 = !DIDerivedType(tag: DW_TAG_member, name: "__pad2", line: 329, size: 64, align: 64, offset: 1280, file: !30, scope: !29, baseType: !67)
127 !72 = !DIDerivedType(tag: DW_TAG_member, name: "__pad3", line: 330, size: 64, align: 64, offset: 1344, file: !30, scope: !29, baseType: !67)
128 !73 = !DIDerivedType(tag: DW_TAG_member, name: "__pad4", line: 331, size: 64, align: 64, offset: 1408, file: !30, scope: !29, baseType: !67)
129 !74 = !DIDerivedType(tag: DW_TAG_member, name: "__pad5", line: 332, size: 64, align: 64, offset: 1472, file: !30, scope: !29, baseType: !75)
130 !75 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", line: 42, file: !30, baseType: !76)
131 !76 = !DIBasicType(tag: DW_TAG_base_type, name: "long unsigned int", size: 64, align: 64, encoding: DW_ATE_unsigned)
132 !77 = !DIDerivedType(tag: DW_TAG_member, name: "_mode", line: 334, size: 32, align: 32, offset: 1536, file: !30, scope: !29, baseType: !8)
133 !78 = !DIDerivedType(tag: DW_TAG_member, name: "_unused2", line: 336, size: 160, align: 8, offset: 1568, file: !30, scope: !29, baseType: !79)
134 !79 = !DICompositeType(tag: DW_TAG_array_type, size: 160, align: 8, baseType: !11, elements: !80)
135 !80 = !{!81}
136 !81 = !DISubrange(count: 20)
137 !82 = distinct !DISubprogram(name: "verify", line: 2388, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2388, file: !1, scope: !5, type: !83, variables: !86)
138 !83 = !DISubroutineType(types: !84)
139 !84 = !{null, !8, !10, !85}
140 !85 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !24)
141 !86 = !{!87, !88, !89, !90, !94, !95, !96, !97, !98, !99, !100, !101}
142 !87 = !DILocalVariable(name: "no_time_steps", line: 2388, arg: 1, scope: !82, file: !5, type: !8)
143 !88 = !DILocalVariable(name: "class", line: 2388, arg: 2, scope: !82, file: !5, type: !10)
144 !89 = !DILocalVariable(name: "verified", line: 2388, arg: 3, scope: !82, file: !5, type: !85)
145 !90 = !DILocalVariable(name: "xcrref", line: 2397, scope: !82, file: !5, type: !91)
146 !91 = !DICompositeType(tag: DW_TAG_array_type, size: 320, align: 64, baseType: !20, elements: !92)
147 !92 = !{!93}
148 !93 = !DISubrange(count: 5)
149 !94 = !DILocalVariable(name: "xceref", line: 2397, scope: !82, file: !5, type: !91)
150 !95 = !DILocalVariable(name: "xcrdif", line: 2397, scope: !82, file: !5, type: !91)
151 !96 = !DILocalVariable(name: "xcedif", line: 2397, scope: !82, file: !5, type: !91)
152 !97 = !DILocalVariable(name: "epsilon", line: 2398, scope: !82, file: !5, type: !20)
153 !98 = !DILocalVariable(name: "xce", line: 2398, scope: !82, file: !5, type: !91)
154 !99 = !DILocalVariable(name: "xcr", line: 2398, scope: !82, file: !5, type: !91)
155 !100 = !DILocalVariable(name: "dtref", line: 2398, scope: !82, file: !5, type: !20)
156 !101 = !DILocalVariable(name: "m", line: 2399, scope: !82, file: !5, type: !8)
157 !102 = distinct !DISubprogram(name: "rhs_norm", line: 266, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 266, file: !1, scope: !5, type: !103, variables: !106)
158 !103 = !DISubroutineType(types: !104)
159 !104 = !{null, !105}
160 !105 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !20)
161 !106 = !{!107, !108, !109, !110, !111, !112, !113}
162 !107 = !DILocalVariable(name: "rms", line: 266, arg: 1, scope: !102, file: !5, type: !105)
163 !108 = !DILocalVariable(name: "i", line: 271, scope: !102, file: !5, type: !8)
164 !109 = !DILocalVariable(name: "j", line: 271, scope: !102, file: !5, type: !8)
165 !110 = !DILocalVariable(name: "k", line: 271, scope: !102, file: !5, type: !8)
166 !111 = !DILocalVariable(name: "d", line: 271, scope: !102, file: !5, type: !8)
167 !112 = !DILocalVariable(name: "m", line: 271, scope: !102, file: !5, type: !8)
168 !113 = !DILocalVariable(name: "add", line: 272, scope: !102, file: !5, type: !20)
169 !114 = distinct !DISubprogram(name: "compute_rhs", line: 1767, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 1767, file: !1, scope: !5, type: !115, variables: !117)
170 !115 = !DISubroutineType(types: !116)
171 !116 = !{null}
172 !117 = !{!118, !119, !120, !121, !122, !123, !124, !125, !126, !127, !128, !129, !130, !131}
173 !118 = !DILocalVariable(name: "i", line: 1769, scope: !114, file: !5, type: !8)
174 !119 = !DILocalVariable(name: "j", line: 1769, scope: !114, file: !5, type: !8)
175 !120 = !DILocalVariable(name: "k", line: 1769, scope: !114, file: !5, type: !8)
176 !121 = !DILocalVariable(name: "m", line: 1769, scope: !114, file: !5, type: !8)
177 !122 = !DILocalVariable(name: "rho_inv", line: 1770, scope: !114, file: !5, type: !20)
178 !123 = !DILocalVariable(name: "uijk", line: 1770, scope: !114, file: !5, type: !20)
179 !124 = !DILocalVariable(name: "up1", line: 1770, scope: !114, file: !5, type: !20)
180 !125 = !DILocalVariable(name: "um1", line: 1770, scope: !114, file: !5, type: !20)
181 !126 = !DILocalVariable(name: "vijk", line: 1770, scope: !114, file: !5, type: !20)
182 !127 = !DILocalVariable(name: "vp1", line: 1770, scope: !114, file: !5, type: !20)
183 !128 = !DILocalVariable(name: "vm1", line: 1770, scope: !114, file: !5, type: !20)
184 !129 = !DILocalVariable(name: "wijk", line: 1770, scope: !114, file: !5, type: !20)
185 !130 = !DILocalVariable(name: "wp1", line: 1770, scope: !114, file: !5, type: !20)
186 !131 = !DILocalVariable(name: "wm1", line: 1770, scope: !114, file: !5, type: !20)
187 !132 = distinct !DISubprogram(name: "error_norm", line: 225, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 225, file: !1, scope: !5, type: !103, variables: !133)
188 !133 = !{!134, !135, !136, !137, !138, !139, !140, !141, !142, !143, !144}
189 !134 = !DILocalVariable(name: "rms", line: 225, arg: 1, scope: !132, file: !5, type: !105)
190 !135 = !DILocalVariable(name: "i", line: 232, scope: !132, file: !5, type: !8)
191 !136 = !DILocalVariable(name: "j", line: 232, scope: !132, file: !5, type: !8)
192 !137 = !DILocalVariable(name: "k", line: 232, scope: !132, file: !5, type: !8)
193 !138 = !DILocalVariable(name: "m", line: 232, scope: !132, file: !5, type: !8)
194 !139 = !DILocalVariable(name: "d", line: 232, scope: !132, file: !5, type: !8)
195 !140 = !DILocalVariable(name: "xi", line: 233, scope: !132, file: !5, type: !20)
196 !141 = !DILocalVariable(name: "eta", line: 233, scope: !132, file: !5, type: !20)
197 !142 = !DILocalVariable(name: "zeta", line: 233, scope: !132, file: !5, type: !20)
198 !143 = !DILocalVariable(name: "u_exact", line: 233, scope: !132, file: !5, type: !91)
199 !144 = !DILocalVariable(name: "add", line: 233, scope: !132, file: !5, type: !20)
200 !145 = distinct !DISubprogram(name: "exact_solution", line: 643, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 644, file: !1, scope: !5, type: !146, variables: !148)
201 !146 = !DISubroutineType(types: !147)
202 !147 = !{null, !20, !20, !20, !105}
203 !148 = !{!149, !150, !151, !152, !153}
204 !149 = !DILocalVariable(name: "xi", line: 643, arg: 1, scope: !145, file: !5, type: !20)
205 !150 = !DILocalVariable(name: "eta", line: 643, arg: 2, scope: !145, file: !5, type: !20)
206 !151 = !DILocalVariable(name: "zeta", line: 643, arg: 3, scope: !145, file: !5, type: !20)
207 !152 = !DILocalVariable(name: "dtemp", line: 644, arg: 4, scope: !145, file: !5, type: !105)
208 !153 = !DILocalVariable(name: "m", line: 653, scope: !145, file: !5, type: !8)
209 !154 = distinct !DISubprogram(name: "set_constants", line: 2191, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2191, file: !1, scope: !5, type: !115, variables: !2)
210 !155 = distinct !DISubprogram(name: "lhsinit", line: 855, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 855, file: !1, scope: !5, type: !115, variables: !156)
211 !156 = !{!157, !158, !159, !160, !161}
212 !157 = !DILocalVariable(name: "i", line: 857, scope: !155, file: !5, type: !8)
213 !158 = !DILocalVariable(name: "j", line: 857, scope: !155, file: !5, type: !8)
214 !159 = !DILocalVariable(name: "k", line: 857, scope: !155, file: !5, type: !8)
215 !160 = !DILocalVariable(name: "m", line: 857, scope: !155, file: !5, type: !8)
216 !161 = !DILocalVariable(name: "n", line: 857, scope: !155, file: !5, type: !8)
217 !162 = distinct !DISubprogram(name: "initialize", line: 669, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 669, file: !1, scope: !5, type: !115, variables: !163)
218 !163 = !{!164, !165, !166, !167, !168, !169, !170, !171, !172, !173, !174, !179, !180, !181, !182}
219 !164 = !DILocalVariable(name: "i", line: 679, scope: !162, file: !5, type: !8)
220 !165 = !DILocalVariable(name: "j", line: 679, scope: !162, file: !5, type: !8)
221 !166 = !DILocalVariable(name: "k", line: 679, scope: !162, file: !5, type: !8)
222 !167 = !DILocalVariable(name: "m", line: 679, scope: !162, file: !5, type: !8)
223 !168 = !DILocalVariable(name: "ix", line: 679, scope: !162, file: !5, type: !8)
224 !169 = !DILocalVariable(name: "iy", line: 679, scope: !162, file: !5, type: !8)
225 !170 = !DILocalVariable(name: "iz", line: 679, scope: !162, file: !5, type: !8)
226 !171 = !DILocalVariable(name: "xi", line: 680, scope: !162, file: !5, type: !20)
227 !172 = !DILocalVariable(name: "eta", line: 680, scope: !162, file: !5, type: !20)
228 !173 = !DILocalVariable(name: "zeta", line: 680, scope: !162, file: !5, type: !20)
229 !174 = !DILocalVariable(name: "Pface", line: 680, scope: !162, file: !5, type: !175)
230 !175 = !DICompositeType(tag: DW_TAG_array_type, size: 1920, align: 64, baseType: !20, elements: !176)
231 !176 = !{!177, !178, !93}
232 !177 = !DISubrange(count: 2)
233 !178 = !DISubrange(count: 3)
234 !179 = !DILocalVariable(name: "Pxi", line: 680, scope: !162, file: !5, type: !20)
235 !180 = !DILocalVariable(name: "Peta", line: 680, scope: !162, file: !5, type: !20)
236 !181 = !DILocalVariable(name: "Pzeta", line: 680, scope: !162, file: !5, type: !20)
237 !182 = !DILocalVariable(name: "temp", line: 680, scope: !162, file: !5, type: !91)
238 !183 = distinct !DISubprogram(name: "exact_rhs", line: 301, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 301, file: !1, scope: !5, type: !115, variables: !184)
239 !184 = !{!185, !186, !187, !188, !189, !190, !191, !192, !193, !194, !195, !196, !197, !198, !199}
240 !185 = !DILocalVariable(name: "dtemp", line: 310, scope: !183, file: !5, type: !91)
241 !186 = !DILocalVariable(name: "xi", line: 310, scope: !183, file: !5, type: !20)
242 !187 = !DILocalVariable(name: "eta", line: 310, scope: !183, file: !5, type: !20)
243 !188 = !DILocalVariable(name: "zeta", line: 310, scope: !183, file: !5, type: !20)
244 !189 = !DILocalVariable(name: "dtpp", line: 310, scope: !183, file: !5, type: !20)
245 !190 = !DILocalVariable(name: "m", line: 311, scope: !183, file: !5, type: !8)
246 !191 = !DILocalVariable(name: "i", line: 311, scope: !183, file: !5, type: !8)
247 !192 = !DILocalVariable(name: "j", line: 311, scope: !183, file: !5, type: !8)
248 !193 = !DILocalVariable(name: "k", line: 311, scope: !183, file: !5, type: !8)
249 !194 = !DILocalVariable(name: "ip1", line: 311, scope: !183, file: !5, type: !8)
250 !195 = !DILocalVariable(name: "im1", line: 311, scope: !183, file: !5, type: !8)
251 !196 = !DILocalVariable(name: "jp1", line: 311, scope: !183, file: !5, type: !8)
252 !197 = !DILocalVariable(name: "jm1", line: 311, scope: !183, file: !5, type: !8)
253 !198 = !DILocalVariable(name: "km1", line: 311, scope: !183, file: !5, type: !8)
254 !199 = !DILocalVariable(name: "kp1", line: 311, scope: !183, file: !5, type: !8)
255 !200 = distinct !DISubprogram(name: "adi", line: 210, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 210, file: !1, scope: !5, type: !115, variables: !2)
256 !201 = distinct !DISubprogram(name: "add", line: 187, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 187, file: !1, scope: !5, type: !115, variables: !202)
257 !202 = !{!203, !204, !205, !206}
258 !203 = !DILocalVariable(name: "i", line: 193, scope: !201, file: !5, type: !8)
259 !204 = !DILocalVariable(name: "j", line: 193, scope: !201, file: !5, type: !8)
260 !205 = !DILocalVariable(name: "k", line: 193, scope: !201, file: !5, type: !8)
261 !206 = !DILocalVariable(name: "m", line: 193, scope: !201, file: !5, type: !8)
262 !207 = distinct !DISubprogram(name: "z_solve", line: 3457, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3457, file: !1, scope: !5, type: !115, variables: !2)
263 !208 = distinct !DISubprogram(name: "z_backsubstitute", line: 3480, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3480, file: !1, scope: !5, type: !115, variables: !209)
264 !209 = !{!210, !211, !212, !213, !214}
265 !210 = !DILocalVariable(name: "i", line: 3492, scope: !208, file: !5, type: !8)
266 !211 = !DILocalVariable(name: "j", line: 3492, scope: !208, file: !5, type: !8)
267 !212 = !DILocalVariable(name: "k", line: 3492, scope: !208, file: !5, type: !8)
268 !213 = !DILocalVariable(name: "m", line: 3492, scope: !208, file: !5, type: !8)
269 !214 = !DILocalVariable(name: "n", line: 3492, scope: !208, file: !5, type: !8)
270 !215 = distinct !DISubprogram(name: "z_solve_cell", line: 3512, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3512, file: !1, scope: !5, type: !115, variables: !216)
271 !216 = !{!217, !218, !219, !220}
272 !217 = !DILocalVariable(name: "i", line: 3527, scope: !215, file: !5, type: !8)
273 !218 = !DILocalVariable(name: "j", line: 3527, scope: !215, file: !5, type: !8)
274 !219 = !DILocalVariable(name: "k", line: 3527, scope: !215, file: !5, type: !8)
275 !220 = !DILocalVariable(name: "ksize", line: 3527, scope: !215, file: !5, type: !8)
276 !221 = distinct !DISubprogram(name: "binvrhs", line: 3154, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3154, file: !1, scope: !5, type: !222, variables: !225)
277 !222 = !DISubroutineType(types: !223)
278 !223 = !{null, !224, !105}
279 !224 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !91)
280 !225 = !{!226, !227, !228, !229}
281 !226 = !DILocalVariable(name: "lhs", line: 3154, arg: 1, scope: !221, file: !5, type: !224)
282 !227 = !DILocalVariable(name: "r", line: 3154, arg: 2, scope: !221, file: !5, type: !105)
283 !228 = !DILocalVariable(name: "pivot", line: 3159, scope: !221, file: !5, type: !20)
284 !229 = !DILocalVariable(name: "coeff", line: 3159, scope: !221, file: !5, type: !20)
285 !230 = distinct !DISubprogram(name: "matmul_sub", line: 2841, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2842, file: !1, scope: !5, type: !231, variables: !233)
286 !231 = !DISubroutineType(types: !232)
287 !232 = !{null, !224, !224, !224}
288 !233 = !{!234, !235, !236, !237}
289 !234 = !DILocalVariable(name: "ablock", line: 2841, arg: 1, scope: !230, file: !5, type: !224)
290 !235 = !DILocalVariable(name: "bblock", line: 2841, arg: 2, scope: !230, file: !5, type: !224)
291 !236 = !DILocalVariable(name: "cblock", line: 2842, arg: 3, scope: !230, file: !5, type: !224)
292 !237 = !DILocalVariable(name: "j", line: 2851, scope: !230, file: !5, type: !8)
293 !238 = distinct !DISubprogram(name: "matvec_sub", line: 2814, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2814, file: !1, scope: !5, type: !239, variables: !241)
294 !239 = !DISubroutineType(types: !240)
295 !240 = !{null, !224, !105, !105}
296 !241 = !{!242, !243, !244, !245}
297 !242 = !DILocalVariable(name: "ablock", line: 2814, arg: 1, scope: !238, file: !5, type: !224)
298 !243 = !DILocalVariable(name: "avec", line: 2814, arg: 2, scope: !238, file: !5, type: !105)
299 !244 = !DILocalVariable(name: "bvec", line: 2814, arg: 3, scope: !238, file: !5, type: !105)
300 !245 = !DILocalVariable(name: "i", line: 2823, scope: !238, file: !5, type: !8)
301 !246 = distinct !DISubprogram(name: "binvcrhs", line: 2885, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2885, file: !1, scope: !5, type: !247, variables: !249)
302 !247 = !DISubroutineType(types: !248)
303 !248 = !{null, !224, !224, !105}
304 !249 = !{!250, !251, !252, !253, !254}
305 !250 = !DILocalVariable(name: "lhs", line: 2885, arg: 1, scope: !246, file: !5, type: !224)
306 !251 = !DILocalVariable(name: "c", line: 2885, arg: 2, scope: !246, file: !5, type: !224)
307 !252 = !DILocalVariable(name: "r", line: 2885, arg: 3, scope: !246, file: !5, type: !105)
308 !253 = !DILocalVariable(name: "pivot", line: 2890, scope: !246, file: !5, type: !20)
309 !254 = !DILocalVariable(name: "coeff", line: 2890, scope: !246, file: !5, type: !20)
310 !255 = distinct !DISubprogram(name: "lhsz", line: 1475, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 1475, file: !1, scope: !5, type: !115, variables: !256)
311 !256 = !{!257, !258, !259}
312 !257 = !DILocalVariable(name: "i", line: 1484, scope: !255, file: !5, type: !8)
313 !258 = !DILocalVariable(name: "j", line: 1484, scope: !255, file: !5, type: !8)
314 !259 = !DILocalVariable(name: "k", line: 1484, scope: !255, file: !5, type: !8)
315 !260 = distinct !DISubprogram(name: "y_solve", line: 3299, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3299, file: !1, scope: !5, type: !115, variables: !2)
316 !261 = distinct !DISubprogram(name: "y_backsubstitute", line: 3323, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3323, file: !1, scope: !5, type: !115, variables: !262)
317 !262 = !{!263, !264, !265, !266, !267}
318 !263 = !DILocalVariable(name: "i", line: 3335, scope: !261, file: !5, type: !8)
319 !264 = !DILocalVariable(name: "j", line: 3335, scope: !261, file: !5, type: !8)
320 !265 = !DILocalVariable(name: "k", line: 3335, scope: !261, file: !5, type: !8)
321 !266 = !DILocalVariable(name: "m", line: 3335, scope: !261, file: !5, type: !8)
322 !267 = !DILocalVariable(name: "n", line: 3335, scope: !261, file: !5, type: !8)
323 !268 = distinct !DISubprogram(name: "y_solve_cell", line: 3355, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3355, file: !1, scope: !5, type: !115, variables: !269)
324 !269 = !{!270, !271, !272, !273}
325 !270 = !DILocalVariable(name: "i", line: 3370, scope: !268, file: !5, type: !8)
326 !271 = !DILocalVariable(name: "j", line: 3370, scope: !268, file: !5, type: !8)
327 !272 = !DILocalVariable(name: "k", line: 3370, scope: !268, file: !5, type: !8)
328 !273 = !DILocalVariable(name: "jsize", line: 3370, scope: !268, file: !5, type: !8)
329 !274 = distinct !DISubprogram(name: "lhsy", line: 1181, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 1181, file: !1, scope: !5, type: !115, variables: !275)
330 !275 = !{!276, !277, !278}
331 !276 = !DILocalVariable(name: "i", line: 1190, scope: !274, file: !5, type: !8)
332 !277 = !DILocalVariable(name: "j", line: 1190, scope: !274, file: !5, type: !8)
333 !278 = !DILocalVariable(name: "k", line: 1190, scope: !274, file: !5, type: !8)
334 !279 = distinct !DISubprogram(name: "x_solve", line: 2658, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2658, file: !1, scope: !5, type: !115, variables: !2)
335 !280 = distinct !DISubprogram(name: "x_backsubstitute", line: 2684, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2684, file: !1, scope: !5, type: !115, variables: !281)
336 !281 = !{!282, !283, !284, !285, !286}
337 !282 = !DILocalVariable(name: "i", line: 2696, scope: !280, file: !5, type: !8)
338 !283 = !DILocalVariable(name: "j", line: 2696, scope: !280, file: !5, type: !8)
339 !284 = !DILocalVariable(name: "k", line: 2696, scope: !280, file: !5, type: !8)
340 !285 = !DILocalVariable(name: "m", line: 2696, scope: !280, file: !5, type: !8)
341 !286 = !DILocalVariable(name: "n", line: 2696, scope: !280, file: !5, type: !8)
342 !287 = distinct !DISubprogram(name: "x_solve_cell", line: 2716, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2716, file: !1, scope: !5, type: !115, variables: !288)
343 !288 = !{!289, !290, !291, !292}
344 !289 = !DILocalVariable(name: "i", line: 2728, scope: !287, file: !5, type: !8)
345 !290 = !DILocalVariable(name: "j", line: 2728, scope: !287, file: !5, type: !8)
346 !291 = !DILocalVariable(name: "k", line: 2728, scope: !287, file: !5, type: !8)
347 !292 = !DILocalVariable(name: "isize", line: 2728, scope: !287, file: !5, type: !8)
348 !293 = distinct !DISubprogram(name: "lhsx", line: 898, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 898, file: !1, scope: !5, type: !115, variables: !294)
349 !294 = !{!295, !296, !297}
350 !295 = !DILocalVariable(name: "i", line: 907, scope: !293, file: !5, type: !8)
351 !296 = !DILocalVariable(name: "j", line: 907, scope: !293, file: !5, type: !8)
352 !297 = !DILocalVariable(name: "k", line: 907, scope: !293, file: !5, type: !8)
353 !298 = !{!299, !304, !305, !309, !310, !311, !312, !313, !314, !315, !316, !317, !318, !319, !320, !321, !322, !323, !324, !325, !326, !327, !328, !329, !330, !331, !332, !333, !334, !335, !336, !337, !338, !339, !340, !341, !342, !343, !347, !350, !351, !352, !353, !354, !355, !356, !360, !361, !362, !363, !364, !365, !366, !367, !368, !369, !370, !371, !372, !373, !374, !375, !376, !377, !378, !379, !380, !381, !382, !383, !384, !385, !386, !387, !388, !389, !390, !391, !392, !393, !394, !395, !396, !397, !398, !399, !400, !401, !402, !403, !404, !405, !406, !407, !408, !409, !410, !411, !412, !413, !414, !415, !416, !417, !418, !419, !422, !426, !427, !430, !431, !434, !435, !436, !437}
354 !299 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "grid_points", line: 28, isLocal: true, isDefinition: true, scope: null, file: !300, type: !302))
355 !300 = !DIFile(filename: "./header.h", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
356 !301 = !{!"./header.h", !"/home/hfinkel/src/NPB2.3-omp-C/BT"}
357 !302 = !DICompositeType(tag: DW_TAG_array_type, size: 96, align: 32, baseType: !8, elements: !303)
358 !303 = !{!178}
359 !304 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dt", line: 35, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
360 !305 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "rhs", line: 68, isLocal: true, isDefinition: true, scope: null, file: !300, type: !306))
361 !306 = !DICompositeType(tag: DW_TAG_array_type, size: 1385839040, align: 64, baseType: !20, elements: !307)
362 !307 = !{!308, !308, !308, !93}
363 !308 = !DISubrange(count: 163)
364 !309 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon5", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
365 !310 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon4", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
366 !311 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon3", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
367 !312 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz5tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
368 !313 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz4tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
369 !314 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz3tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
370 !315 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon2", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
371 !316 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz2tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
372 !317 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tz2", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
373 !318 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz1tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
374 !319 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon5", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
375 !320 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon4", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
376 !321 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon3", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
377 !322 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy5ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
378 !323 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy4ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
379 !324 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy3ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
380 !325 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon2", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
381 !326 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy2ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
382 !327 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ty2", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
383 !328 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy1ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
384 !329 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dssp", line: 35, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
385 !330 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c1", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
386 !331 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon5", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
387 !332 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon4", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
388 !333 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon3", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
389 !334 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx5tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
390 !335 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx4tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
391 !336 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx3tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
392 !337 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
393 !338 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "con43", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
394 !339 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon2", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
395 !340 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx2tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
396 !341 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tx2", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
397 !342 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx1tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
398 !343 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "forcing", line: 66, isLocal: true, isDefinition: true, scope: null, file: !300, type: !344))
399 !344 = !DICompositeType(tag: DW_TAG_array_type, size: 1663006848, align: 64, baseType: !20, elements: !345)
400 !345 = !{!308, !308, !308, !346}
401 !346 = !DISubrange(count: 6)
402 !347 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "qs", line: 63, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))
403 !348 = !DICompositeType(tag: DW_TAG_array_type, size: 277167808, align: 64, baseType: !20, elements: !349)
404 !349 = !{!308, !308, !308}
405 !350 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "square", line: 65, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))
406 !351 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ws", line: 62, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))
407 !352 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "vs", line: 61, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))
408 !353 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "us", line: 60, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))
409 !354 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "rho_i", line: 64, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))
410 !355 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "u", line: 67, isLocal: true, isDefinition: true, scope: null, file: !300, type: !306))
411 !356 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ce", line: 36, isLocal: true, isDefinition: true, scope: null, file: !300, type: !357))
412 !357 = !DICompositeType(tag: DW_TAG_array_type, size: 4160, align: 64, baseType: !20, elements: !358)
413 !358 = !{!93, !359}
414 !359 = !DISubrange(count: 13)
415 !360 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dnzm1", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
416 !361 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dnym1", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
417 !362 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dnxm1", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
418 !363 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon1", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
419 !364 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon1", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
420 !365 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon1", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
421 !366 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "con16", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
422 !367 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2iv", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
423 !368 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3c4tz3", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
424 !369 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3c4ty3", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
425 !370 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3c4tx3", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
426 !371 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comz6", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
427 !372 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comz5", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
428 !373 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comz4", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
429 !374 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comz1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
430 !375 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dtdssp", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
431 !376 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2dttz1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
432 !377 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2dtty1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
433 !378 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2dttx1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
434 !379 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dttz2", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
435 !380 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dttz1", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
436 !381 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dtty2", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
437 !382 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dtty1", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
438 !383 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dttx2", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
439 !384 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dttx1", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
440 !385 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c5dssp", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
441 !386 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c4dssp", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
442 !387 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dzmax", line: 37, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
443 !388 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dymax", line: 37, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
444 !389 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dxmax", line: 37, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
445 !390 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz5", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
446 !391 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz4", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
447 !392 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz3", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
448 !393 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz2", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
449 !394 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz1", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
450 !395 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy5", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
451 !396 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy4", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
452 !397 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy3", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
453 !398 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy2", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
454 !399 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy1", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
455 !400 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx5", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
456 !401 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx4", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
457 !402 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx3", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
458 !403 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx2", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
459 !404 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx1", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
460 !405 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tz3", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
461 !406 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tz1", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
462 !407 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ty3", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
463 !408 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ty1", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
464 !409 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tx3", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
465 !410 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tx1", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
466 !411 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "conz1", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
467 !412 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c1345", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
468 !413 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3c4", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
469 !414 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c1c5", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
470 !415 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c1c2", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
471 !416 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c5", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
472 !417 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c4", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
473 !418 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
474 !419 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "lhs", line: 69, isLocal: true, isDefinition: true, scope: null, file: !300, type: !420))
475 !420 = !DICompositeType(tag: DW_TAG_array_type, size: 20787585600, align: 64, baseType: !20, elements: !421)
476 !421 = !{!308, !308, !308, !178, !93, !93}
477 !422 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "q", line: 73, isLocal: true, isDefinition: true, scope: null, file: !300, type: !423))
478 !423 = !DICompositeType(tag: DW_TAG_array_type, size: 10368, align: 64, baseType: !20, elements: !424)
479 !424 = !{!425}
480 !425 = !DISubrange(count: 162)
481 !426 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "cuf", line: 72, isLocal: true, isDefinition: true, scope: null, file: !300, type: !423))
482 !427 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "buf", line: 75, isLocal: true, isDefinition: true, scope: null, file: !300, type: !428))
483 !428 = !DICompositeType(tag: DW_TAG_array_type, size: 51840, align: 64, baseType: !20, elements: !429)
484 !429 = !{!425, !93}
485 !430 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ue", line: 74, isLocal: true, isDefinition: true, scope: null, file: !300, type: !428))
486 !431 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "njac", line: 86, isLocal: true, isDefinition: true, scope: null, file: !300, type: !432))
487 !432 = !DICompositeType(tag: DW_TAG_array_type, size: 6886684800, align: 64, baseType: !20, elements: !433)
488 !433 = !{!308, !308, !425, !93, !93}
489 !434 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "fjac", line: 84, isLocal: true, isDefinition: true, scope: null, file: !300, type: !432))
490 !435 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tmp3", line: 88, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
491 !436 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tmp2", line: 88, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
492 !437 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tmp1", line: 88, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
493 !438 = !{i32 2, !"Dwarf Version", i32 4}
494 !439 = !DILocation(line: 1898, scope: !440)
495 !440 = distinct !DILexicalBlock(line: 1898, column: 0, file: !1, scope: !114)
496 !441 = !DILocation(line: 1913, scope: !442)
497 !442 = distinct !DILexicalBlock(line: 1913, column: 0, file: !1, scope: !114)
498 !443 = !DILocation(line: 1923, scope: !114)
499 !444 = !{!"int", !445}
500 !445 = !{!"omnipotent char", !446}
501 !446 = !{!"Simple C/C++ TBAA"}
502 !447 = !{i32 1}
503 !448 = !DILocation(line: 1925, scope: !449)
504 !449 = distinct !DILexicalBlock(line: 1925, column: 0, file: !1, scope: !114)
505 !450 = !DILocation(line: 1939, scope: !451)
506 !451 = distinct !DILexicalBlock(line: 1939, column: 0, file: !1, scope: !114)
507 !452 = !DILocation(line: 1940, scope: !453)
508 !453 = distinct !DILexicalBlock(line: 1940, column: 0, file: !1, scope: !454)
509 !454 = distinct !DILexicalBlock(line: 1939, column: 0, file: !1, scope: !451)
510 !455 = !DILocation(line: 1941, scope: !456)
511 !456 = distinct !DILexicalBlock(line: 1941, column: 0, file: !1, scope: !457)
512 !457 = distinct !DILexicalBlock(line: 1940, column: 0, file: !1, scope: !453)
513 !458 = !DILocation(line: 2020, scope: !459)
514 !459 = distinct !DILexicalBlock(line: 2020, column: 0, file: !1, scope: !460)
515 !460 = distinct !DILexicalBlock(line: 2019, column: 0, file: !1, scope: !461)
516 !461 = distinct !DILexicalBlock(line: 2019, column: 0, file: !1, scope: !462)
517 !462 = distinct !DILexicalBlock(line: 2018, column: 0, file: !1, scope: !463)
518 !463 = distinct !DILexicalBlock(line: 2018, column: 0, file: !1, scope: !114)
519 !464 = !{i32 1, !"Debug Info Version", i32 3}
56 !llvm.dbg.cu = !{!7}
57 !llvm.module.flags = !{!261, !262}
58
59 !0 = !DIGlobalVariableExpression(var: !1)
60 !1 = !DIGlobalVariable(name: "grid_points", scope: null, file: !2, line: 28, type: !3, isLocal: true, isDefinition: true)
61 !2 = !DIFile(filename: "./header.h", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
62 !3 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 96, align: 32, elements: !5)
63 !4 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
64 !5 = !{!6}
65 !6 = !DISubrange(count: 3)
66 !7 = distinct !DICompileUnit(language: DW_LANG_C99, file: !8, producer: "clang version 3.4 (trunk 190311)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !9, retainedTypes: !9, globals: !10, imports: !9)
67 !8 = !DIFile(filename: "bt.c", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
68 !9 = !{}
69 !10 = !{!0, !11, !14, !20, !22, !24, !26, !28, !30, !32, !34, !36, !38, !40, !42, !44, !46, !48, !50, !52, !54, !56, !58, !60, !62, !64, !66, !68, !70, !72, !74, !76, !78, !80, !82, !84, !86, !88, !93, !97, !99, !101, !103, !105, !107, !109, !114, !116, !118, !120, !122, !124, !126, !128, !130, !132, !134, !136, !138, !140, !142, !144, !146, !148, !150, !152, !154, !156, !158, !160, !162, !164, !166, !168, !170, !172, !174, !176, !178, !180, !182, !184, !186, !188, !190, !192, !194, !196, !198, !200, !202, !204, !206, !208, !210, !212, !214, !216, !218, !220, !222, !224, !226, !228, !230, !232, !236, !241, !243, !247, !249, !253, !255, !257, !259}
70 !11 = !DIGlobalVariableExpression(var: !12)
71 !12 = !DIGlobalVariable(name: "dt", scope: null, file: !2, line: 35, type: !13, isLocal: true, isDefinition: true)
72 !13 = !DIBasicType(name: "double", size: 64, align: 64, encoding: DW_ATE_float)
73 !14 = !DIGlobalVariableExpression(var: !15)
74 !15 = !DIGlobalVariable(name: "rhs", scope: null, file: !2, line: 68, type: !16, isLocal: true, isDefinition: true)
75 !16 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 1385839040, align: 64, elements: !17)
76 !17 = !{!18, !18, !18, !19}
77 !18 = !DISubrange(count: 163)
78 !19 = !DISubrange(count: 5)
79 !20 = !DIGlobalVariableExpression(var: !21)
80 !21 = !DIGlobalVariable(name: "zzcon5", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)
81 !22 = !DIGlobalVariableExpression(var: !23)
82 !23 = !DIGlobalVariable(name: "zzcon4", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)
83 !24 = !DIGlobalVariableExpression(var: !25)
84 !25 = !DIGlobalVariable(name: "zzcon3", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)
85 !26 = !DIGlobalVariableExpression(var: !27)
86 !27 = !DIGlobalVariable(name: "dz5tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)
87 !28 = !DIGlobalVariableExpression(var: !29)
88 !29 = !DIGlobalVariable(name: "dz4tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)
89 !30 = !DIGlobalVariableExpression(var: !31)
90 !31 = !DIGlobalVariable(name: "dz3tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)
91 !32 = !DIGlobalVariableExpression(var: !33)
92 !33 = !DIGlobalVariable(name: "zzcon2", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)
93 !34 = !DIGlobalVariableExpression(var: !35)
94 !35 = !DIGlobalVariable(name: "dz2tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)
95 !36 = !DIGlobalVariableExpression(var: !37)
96 !37 = !DIGlobalVariable(name: "tz2", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
97 !38 = !DIGlobalVariableExpression(var: !39)
98 !39 = !DIGlobalVariable(name: "dz1tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)
99 !40 = !DIGlobalVariableExpression(var: !41)
100 !41 = !DIGlobalVariable(name: "yycon5", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)
101 !42 = !DIGlobalVariableExpression(var: !43)
102 !43 = !DIGlobalVariable(name: "yycon4", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)
103 !44 = !DIGlobalVariableExpression(var: !45)
104 !45 = !DIGlobalVariable(name: "yycon3", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)
105 !46 = !DIGlobalVariableExpression(var: !47)
106 !47 = !DIGlobalVariable(name: "dy5ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)
107 !48 = !DIGlobalVariableExpression(var: !49)
108 !49 = !DIGlobalVariable(name: "dy4ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)
109 !50 = !DIGlobalVariableExpression(var: !51)
110 !51 = !DIGlobalVariable(name: "dy3ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)
111 !52 = !DIGlobalVariableExpression(var: !53)
112 !53 = !DIGlobalVariable(name: "yycon2", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)
113 !54 = !DIGlobalVariableExpression(var: !55)
114 !55 = !DIGlobalVariable(name: "dy2ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)
115 !56 = !DIGlobalVariableExpression(var: !57)
116 !57 = !DIGlobalVariable(name: "ty2", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
117 !58 = !DIGlobalVariableExpression(var: !59)
118 !59 = !DIGlobalVariable(name: "dy1ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)
119 !60 = !DIGlobalVariableExpression(var: !61)
120 !61 = !DIGlobalVariable(name: "dssp", scope: null, file: !2, line: 35, type: !13, isLocal: true, isDefinition: true)
121 !62 = !DIGlobalVariableExpression(var: !63)
122 !63 = !DIGlobalVariable(name: "c1", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
123 !64 = !DIGlobalVariableExpression(var: !65)
124 !65 = !DIGlobalVariable(name: "xxcon5", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)
125 !66 = !DIGlobalVariableExpression(var: !67)
126 !67 = !DIGlobalVariable(name: "xxcon4", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)
127 !68 = !DIGlobalVariableExpression(var: !69)
128 !69 = !DIGlobalVariable(name: "xxcon3", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)
129 !70 = !DIGlobalVariableExpression(var: !71)
130 !71 = !DIGlobalVariable(name: "dx5tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)
131 !72 = !DIGlobalVariableExpression(var: !73)
132 !73 = !DIGlobalVariable(name: "dx4tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)
133 !74 = !DIGlobalVariableExpression(var: !75)
134 !75 = !DIGlobalVariable(name: "dx3tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)
135 !76 = !DIGlobalVariableExpression(var: !77)
136 !77 = !DIGlobalVariable(name: "c2", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
137 !78 = !DIGlobalVariableExpression(var: !79)
138 !79 = !DIGlobalVariable(name: "con43", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)
139 !80 = !DIGlobalVariableExpression(var: !81)
140 !81 = !DIGlobalVariable(name: "xxcon2", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)
141 !82 = !DIGlobalVariableExpression(var: !83)
142 !83 = !DIGlobalVariable(name: "dx2tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)
143 !84 = !DIGlobalVariableExpression(var: !85)
144 !85 = !DIGlobalVariable(name: "tx2", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
145 !86 = !DIGlobalVariableExpression(var: !87)
146 !87 = !DIGlobalVariable(name: "dx1tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)
147 !88 = !DIGlobalVariableExpression(var: !89)
148 !89 = !DIGlobalVariable(name: "forcing", scope: null, file: !2, line: 66, type: !90, isLocal: true, isDefinition: true)
149 !90 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 1663006848, align: 64, elements: !91)
150 !91 = !{!18, !18, !18, !92}
151 !92 = !DISubrange(count: 6)
152 !93 = !DIGlobalVariableExpression(var: !94)
153 !94 = !DIGlobalVariable(name: "qs", scope: null, file: !2, line: 63, type: !95, isLocal: true, isDefinition: true)
154 !95 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 277167808, align: 64, elements: !96)
155 !96 = !{!18, !18, !18}
156 !97 = !DIGlobalVariableExpression(var: !98)
157 !98 = !DIGlobalVariable(name: "square", scope: null, file: !2, line: 65, type: !95, isLocal: true, isDefinition: true)
158 !99 = !DIGlobalVariableExpression(var: !100)
159 !100 = !DIGlobalVariable(name: "ws", scope: null, file: !2, line: 62, type: !95, isLocal: true, isDefinition: true)
160 !101 = !DIGlobalVariableExpression(var: !102)
161 !102 = !DIGlobalVariable(name: "vs", scope: null, file: !2, line: 61, type: !95, isLocal: true, isDefinition: true)
162 !103 = !DIGlobalVariableExpression(var: !104)
163 !104 = !DIGlobalVariable(name: "us", scope: null, file: !2, line: 60, type: !95, isLocal: true, isDefinition: true)
164 !105 = !DIGlobalVariableExpression(var: !106)
165 !106 = !DIGlobalVariable(name: "rho_i", scope: null, file: !2, line: 64, type: !95, isLocal: true, isDefinition: true)
166 !107 = !DIGlobalVariableExpression(var: !108)
167 !108 = !DIGlobalVariable(name: "u", scope: null, file: !2, line: 67, type: !16, isLocal: true, isDefinition: true)
168 !109 = !DIGlobalVariableExpression(var: !110)
169 !110 = !DIGlobalVariable(name: "ce", scope: null, file: !2, line: 36, type: !111, isLocal: true, isDefinition: true)
170 !111 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 4160, align: 64, elements: !112)
171 !112 = !{!19, !113}
172 !113 = !DISubrange(count: 13)
173 !114 = !DIGlobalVariableExpression(var: !115)
174 !115 = !DIGlobalVariable(name: "dnzm1", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
175 !116 = !DIGlobalVariableExpression(var: !117)
176 !117 = !DIGlobalVariable(name: "dnym1", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
177 !118 = !DIGlobalVariableExpression(var: !119)
178 !119 = !DIGlobalVariable(name: "dnxm1", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
179 !120 = !DIGlobalVariableExpression(var: !121)
180 !121 = !DIGlobalVariable(name: "zzcon1", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)
181 !122 = !DIGlobalVariableExpression(var: !123)
182 !123 = !DIGlobalVariable(name: "yycon1", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)
183 !124 = !DIGlobalVariableExpression(var: !125)
184 !125 = !DIGlobalVariable(name: "xxcon1", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)
185 !126 = !DIGlobalVariableExpression(var: !127)
186 !127 = !DIGlobalVariable(name: "con16", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)
187 !128 = !DIGlobalVariableExpression(var: !129)
188 !129 = !DIGlobalVariable(name: "c2iv", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)
189 !130 = !DIGlobalVariableExpression(var: !131)
190 !131 = !DIGlobalVariable(name: "c3c4tz3", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)
191 !132 = !DIGlobalVariableExpression(var: !133)
192 !133 = !DIGlobalVariable(name: "c3c4ty3", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)
193 !134 = !DIGlobalVariableExpression(var: !135)
194 !135 = !DIGlobalVariable(name: "c3c4tx3", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)
195 !136 = !DIGlobalVariableExpression(var: !137)
196 !137 = !DIGlobalVariable(name: "comz6", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
197 !138 = !DIGlobalVariableExpression(var: !139)
198 !139 = !DIGlobalVariable(name: "comz5", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
199 !140 = !DIGlobalVariableExpression(var: !141)
200 !141 = !DIGlobalVariable(name: "comz4", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
201 !142 = !DIGlobalVariableExpression(var: !143)
202 !143 = !DIGlobalVariable(name: "comz1", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
203 !144 = !DIGlobalVariableExpression(var: !145)
204 !145 = !DIGlobalVariable(name: "dtdssp", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
205 !146 = !DIGlobalVariableExpression(var: !147)
206 !147 = !DIGlobalVariable(name: "c2dttz1", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
207 !148 = !DIGlobalVariableExpression(var: !149)
208 !149 = !DIGlobalVariable(name: "c2dtty1", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
209 !150 = !DIGlobalVariableExpression(var: !151)
210 !151 = !DIGlobalVariable(name: "c2dttx1", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
211 !152 = !DIGlobalVariableExpression(var: !153)
212 !153 = !DIGlobalVariable(name: "dttz2", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)
213 !154 = !DIGlobalVariableExpression(var: !155)
214 !155 = !DIGlobalVariable(name: "dttz1", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)
215 !156 = !DIGlobalVariableExpression(var: !157)
216 !157 = !DIGlobalVariable(name: "dtty2", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)
217 !158 = !DIGlobalVariableExpression(var: !159)
218 !159 = !DIGlobalVariable(name: "dtty1", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)
219 !160 = !DIGlobalVariableExpression(var: !161)
220 !161 = !DIGlobalVariable(name: "dttx2", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)
221 !162 = !DIGlobalVariableExpression(var: !163)
222 !163 = !DIGlobalVariable(name: "dttx1", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)
223 !164 = !DIGlobalVariableExpression(var: !165)
224 !165 = !DIGlobalVariable(name: "c5dssp", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
225 !166 = !DIGlobalVariableExpression(var: !167)
226 !167 = !DIGlobalVariable(name: "c4dssp", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
227 !168 = !DIGlobalVariableExpression(var: !169)
228 !169 = !DIGlobalVariable(name: "dzmax", scope: null, file: !2, line: 37, type: !13, isLocal: true, isDefinition: true)
229 !170 = !DIGlobalVariableExpression(var: !171)
230 !171 = !DIGlobalVariable(name: "dymax", scope: null, file: !2, line: 37, type: !13, isLocal: true, isDefinition: true)
231 !172 = !DIGlobalVariableExpression(var: !173)
232 !173 = !DIGlobalVariable(name: "dxmax", scope: null, file: !2, line: 37, type: !13, isLocal: true, isDefinition: true)
233 !174 = !DIGlobalVariableExpression(var: !175)
234 !175 = !DIGlobalVariable(name: "dz5", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)
235 !176 = !DIGlobalVariableExpression(var: !177)
236 !177 = !DIGlobalVariable(name: "dz4", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)
237 !178 = !DIGlobalVariableExpression(var: !179)
238 !179 = !DIGlobalVariable(name: "dz3", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)
239 !180 = !DIGlobalVariableExpression(var: !181)
240 !181 = !DIGlobalVariable(name: "dz2", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)
241 !182 = !DIGlobalVariableExpression(var: !183)
242 !183 = !DIGlobalVariable(name: "dz1", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)
243 !184 = !DIGlobalVariableExpression(var: !185)
244 !185 = !DIGlobalVariable(name: "dy5", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)
245 !186 = !DIGlobalVariableExpression(var: !187)
246 !187 = !DIGlobalVariable(name: "dy4", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)
247 !188 = !DIGlobalVariableExpression(var: !189)
248 !189 = !DIGlobalVariable(name: "dy3", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)
249 !190 = !DIGlobalVariableExpression(var: !191)
250 !191 = !DIGlobalVariable(name: "dy2", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)
251 !192 = !DIGlobalVariableExpression(var: !193)
252 !193 = !DIGlobalVariable(name: "dy1", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)
253 !194 = !DIGlobalVariableExpression(var: !195)
254 !195 = !DIGlobalVariable(name: "dx5", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)
255 !196 = !DIGlobalVariableExpression(var: !197)
256 !197 = !DIGlobalVariable(name: "dx4", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)
257 !198 = !DIGlobalVariableExpression(var: !199)
258 !199 = !DIGlobalVariable(name: "dx3", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)
259 !200 = !DIGlobalVariableExpression(var: !201)
260 !201 = !DIGlobalVariable(name: "dx2", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)
261 !202 = !DIGlobalVariableExpression(var: !203)
262 !203 = !DIGlobalVariable(name: "dx1", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)
263 !204 = !DIGlobalVariableExpression(var: !205)
264 !205 = !DIGlobalVariable(name: "tz3", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
265 !206 = !DIGlobalVariableExpression(var: !207)
266 !207 = !DIGlobalVariable(name: "tz1", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
267 !208 = !DIGlobalVariableExpression(var: !209)
268 !209 = !DIGlobalVariable(name: "ty3", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
269 !210 = !DIGlobalVariableExpression(var: !211)
270 !211 = !DIGlobalVariable(name: "ty1", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
271 !212 = !DIGlobalVariableExpression(var: !213)
272 !213 = !DIGlobalVariable(name: "tx3", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
273 !214 = !DIGlobalVariableExpression(var: !215)
274 !215 = !DIGlobalVariable(name: "tx1", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
275 !216 = !DIGlobalVariableExpression(var: !217)
276 !217 = !DIGlobalVariable(name: "conz1", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
277 !218 = !DIGlobalVariableExpression(var: !219)
278 !219 = !DIGlobalVariable(name: "c1345", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
279 !220 = !DIGlobalVariableExpression(var: !221)
280 !221 = !DIGlobalVariable(name: "c3c4", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
281 !222 = !DIGlobalVariableExpression(var: !223)
282 !223 = !DIGlobalVariable(name: "c1c5", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
283 !224 = !DIGlobalVariableExpression(var: !225)
284 !225 = !DIGlobalVariable(name: "c1c2", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
285 !226 = !DIGlobalVariableExpression(var: !227)
286 !227 = !DIGlobalVariable(name: "c5", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
287 !228 = !DIGlobalVariableExpression(var: !229)
288 !229 = !DIGlobalVariable(name: "c4", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
289 !230 = !DIGlobalVariableExpression(var: !231)
290 !231 = !DIGlobalVariable(name: "c3", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
291 !232 = !DIGlobalVariableExpression(var: !233)
292 !233 = !DIGlobalVariable(name: "lhs", scope: null, file: !2, line: 69, type: !234, isLocal: true, isDefinition: true)
293 !234 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 20787585600, align: 64, elements: !235)
294 !235 = !{!18, !18, !18, !6, !19, !19}
295 !236 = !DIGlobalVariableExpression(var: !237)
296 !237 = !DIGlobalVariable(name: "q", scope: null, file: !2, line: 73, type: !238, isLocal: true, isDefinition: true)
297 !238 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 10368, align: 64, elements: !239)
298 !239 = !{!240}
299 !240 = !DISubrange(count: 162)
300 !241 = !DIGlobalVariableExpression(var: !242)
301 !242 = !DIGlobalVariable(name: "cuf", scope: null, file: !2, line: 72, type: !238, isLocal: true, isDefinition: true)
302 !243 = !DIGlobalVariableExpression(var: !244)
303 !244 = !DIGlobalVariable(name: "buf", scope: null, file: !2, line: 75, type: !245, isLocal: true, isDefinition: true)
304 !245 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 51840, align: 64, elements: !246)
305 !246 = !{!240, !19}
306 !247 = !DIGlobalVariableExpression(var: !248)
307 !248 = !DIGlobalVariable(name: "ue", scope: null, file: !2, line: 74, type: !245, isLocal: true, isDefinition: true)
308 !249 = !DIGlobalVariableExpression(var: !250)
309 !250 = !DIGlobalVariable(name: "njac", scope: null, file: !2, line: 86, type: !251, isLocal: true, isDefinition: true)
310 !251 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 6886684800, align: 64, elements: !252)
311 !252 = !{!18, !18, !240, !19, !19}
312 !253 = !DIGlobalVariableExpression(var: !254)
313 !254 = !DIGlobalVariable(name: "fjac", scope: null, file: !2, line: 84, type: !251, isLocal: true, isDefinition: true)
314 !255 = !DIGlobalVariableExpression(var: !256)
315 !256 = !DIGlobalVariable(name: "tmp3", scope: null, file: !2, line: 88, type: !13, isLocal: true, isDefinition: true)
316 !257 = !DIGlobalVariableExpression(var: !258)
317 !258 = !DIGlobalVariable(name: "tmp2", scope: null, file: !2, line: 88, type: !13, isLocal: true, isDefinition: true)
318 !259 = !DIGlobalVariableExpression(var: !260)
319 !260 = !DIGlobalVariable(name: "tmp1", scope: null, file: !2, line: 88, type: !13, isLocal: true, isDefinition: true)
320 !261 = !{i32 2, !"Dwarf Version", i32 4}
321 !262 = !{i32 1, !"Debug Info Version", i32 3}
322 !263 = distinct !DISubprogram(name: "compute_rhs", scope: !8, file: !8, line: 1767, type: !264, isLocal: true, isDefinition: true, scopeLine: 1767, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !7, variables: !266)
323 !264 = !DISubroutineType(types: !265)
324 !265 = !{null}
325 !266 = !{!267, !268, !269, !270, !271, !272, !273, !274, !275, !276, !277, !278, !279, !280}
326 !267 = !DILocalVariable(name: "i", scope: !263, file: !8, line: 1769, type: !4)
327 !268 = !DILocalVariable(name: "j", scope: !263, file: !8, line: 1769, type: !4)
328 !269 = !DILocalVariable(name: "k", scope: !263, file: !8, line: 1769, type: !4)
329 !270 = !DILocalVariable(name: "m", scope: !263, file: !8, line: 1769, type: !4)
330 !271 = !DILocalVariable(name: "rho_inv", scope: !263, file: !8, line: 1770, type: !13)
331 !272 = !DILocalVariable(name: "uijk", scope: !263, file: !8, line: 1770, type: !13)
332 !273 = !DILocalVariable(name: "up1", scope: !263, file: !8, line: 1770, type: !13)
333 !274 = !DILocalVariable(name: "um1", scope: !263, file: !8, line: 1770, type: !13)
334 !275 = !DILocalVariable(name: "vijk", scope: !263, file: !8, line: 1770, type: !13)
335 !276 = !DILocalVariable(name: "vp1", scope: !263, file: !8, line: 1770, type: !13)
336 !277 = !DILocalVariable(name: "vm1", scope: !263, file: !8, line: 1770, type: !13)
337 !278 = !DILocalVariable(name: "wijk", scope: !263, file: !8, line: 1770, type: !13)
338 !279 = !DILocalVariable(name: "wp1", scope: !263, file: !8, line: 1770, type: !13)
339 !280 = !DILocalVariable(name: "wm1", scope: !263, file: !8, line: 1770, type: !13)
340 !281 = !DILocation(line: 1898, scope: !282)
341 !282 = distinct !DILexicalBlock(scope: !263, file: !8, line: 1898)
342 !283 = !DILocation(line: 1913, scope: !284)
343 !284 = distinct !DILexicalBlock(scope: !263, file: !8, line: 1913)
344 !285 = !DILocation(line: 1923, scope: !263)
345 !286 = !{!287, !287, i64 0}
346 !287 = !{!"int", !288}
347 !288 = !{!"omnipotent char", !289}
348 !289 = !{!"Simple C/C++ TBAA"}
349 !290 = !DIExpression()
350 !291 = !DILocation(line: 1925, scope: !292)
351 !292 = distinct !DILexicalBlock(scope: !263, file: !8, line: 1925)
352 !293 = !DILocation(line: 1939, scope: !294)
353 !294 = distinct !DILexicalBlock(scope: !263, file: !8, line: 1939)
354 !295 = !DILocation(line: 1940, scope: !296)
355 !296 = distinct !DILexicalBlock(scope: !297, file: !8, line: 1940)
356 !297 = distinct !DILexicalBlock(scope: !294, file: !8, line: 1939)
357 !298 = !DILocation(line: 1941, scope: !299)
358 !299 = distinct !DILexicalBlock(scope: !300, file: !8, line: 1941)
359 !300 = distinct !DILexicalBlock(scope: !296, file: !8, line: 1940)
360 !301 = !DILocation(line: 2020, scope: !302)
361 !302 = distinct !DILexicalBlock(scope: !303, file: !8, line: 2020)
362 !303 = distinct !DILexicalBlock(scope: !304, file: !8, line: 2019)
363 !304 = distinct !DILexicalBlock(scope: !305, file: !8, line: 2019)
364 !305 = distinct !DILexicalBlock(scope: !306, file: !8, line: 2018)
365 !306 = distinct !DILexicalBlock(scope: !263, file: !8, line: 2018)
366
33 ; CHECK: #DEBUG_VALUE: usage:self <- %vreg4
44 ; CHECK: BB#1
55 ; CHECK: DW_TAG_variable
6 source_filename = "test/CodeGen/WebAssembly/dbgvalue.ll"
67 target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
78 target triple = "wasm32-unknown-unknown"
8
9 %0 = type opaque
109
1110 @key = external local_unnamed_addr global [15 x i8], align 1
1211 @.str = external unnamed_addr constant [33 x i8], align 1
1312
14 ; Function Attrs: nounwind
15 define internal i32 @0(i8*) local_unnamed_addr !dbg !14 !type !22 {
16 tail call void @llvm.dbg.value(metadata i8* %0, i64 0, metadata !21, metadata !23), !dbg !24
17 %2 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str, i32 0, i32 0), i8* %0), !dbg !25
18 br i1 1, label %a, label %b
19 a:
13 define internal i32 @0(i8*) local_unnamed_addr !dbg !15 !type !23 {
14 tail call void @llvm.dbg.value(metadata i8* %0, i64 0, metadata !22, metadata !24), !dbg !25
15 %2 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str, i32 0, i32 0), i8* %0), !dbg !26
16 br i1 true, label %a, label %b
17
18 a: ; preds = %1
2019 %3 = add i32 %2, %2
2120 br label %c
2221
23 b:
22 b: ; preds = %1
2423 %4 = sub i32 %2, %2
2524 br label %c
2625
27 c:
26 c: ; preds = %b, %a
2827 %5 = phi i32 [ %3, %a ], [ %4, %b ]
2928 %6 = add i32 ptrtoint (i32 (i8*)* @0 to i32), %5
30 ret i32 %6, !dbg !26
29 ret i32 %6, !dbg !27
3130 }
3231
33 ; Function Attrs: nounwind
3432 declare i32 @printf(i8* nocapture readonly, ...) local_unnamed_addr
3533
3634 ; Function Attrs: nounwind readnone
37 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
35 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
36
37 attributes #0 = { nounwind readnone }
3838
3939 !llvm.dbg.cu = !{!0}
40 !llvm.module.flags = !{!11, !12}
41 !llvm.ident = !{!13}
40 !llvm.module.flags = !{!12, !13}
41 !llvm.ident = !{!14}
4242
4343 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.9.0 (trunk 273884) (llvm/trunk 273897)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, globals: !3)
4444 !1 = !DIFile(filename: "crash.c", directory: "wasm/tests")
4545 !2 = !{}
4646 !3 = !{!4}
47 !4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "key", scope: !0, file: !1, line: 7, type: !5, isLocal: false, isDefinition: true))
48 !5 = !DICompositeType(tag: DW_TAG_array_type, baseType: !6, size: 120, align: 8, elements: !9)
49 !6 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !7, line: 185, baseType: !8)
50 !7 = !DIFile(filename: "wasm/emscripten/system/include/libc/bits/alltypes.h", directory: "wasm/tests")
51 !8 = !DIBasicType(name: "unsigned char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
52 !9 = !{!10}
53 !10 = !DISubrange(count: 15)
54 !11 = !{i32 2, !"Dwarf Version", i32 4}
55 !12 = !{i32 2, !"Debug Info Version", i32 3}
56 !13 = !{!"clang version 3.9.0 (trunk 273884) (llvm/trunk 273897)"}
57 !14 = distinct !DISubprogram(name: "usage", scope: !1, file: !1, line: 15, type: !15, isLocal: false, isDefinition: true, scopeLine: 15, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !20)
58 !15 = !DISubroutineType(types: !16)
59 !16 = !{!17, !18}
60 !17 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
61 !18 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !19, size: 32, align: 32)
62 !19 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
63 !20 = !{!21}
64 !21 = !DILocalVariable(name: "self", arg: 1, scope: !14, file: !1, line: 15, type: !18)
65 !22 = !{i64 0, !"_ZTSFiPcE"}
66 !23 = !DIExpression()
67 !24 = !DILocation(line: 15, column: 17, scope: !14)
68 !25 = !DILocation(line: 16, column: 3, scope: !14)
69 !26 = !DILocation(line: 17, column: 3, scope: !14)
47 !4 = !DIGlobalVariableExpression(var: !5)
48 !5 = !DIGlobalVariable(name: "key", scope: !0, file: !1, line: 7, type: !6, isLocal: false, isDefinition: true)
49 !6 = !DICompositeType(tag: DW_TAG_array_type, baseType: !7, size: 120, align: 8, elements: !10)
50 !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !8, line: 185, baseType: !9)
51 !8 = !DIFile(filename: "wasm/emscripten/system/include/libc/bits/alltypes.h", directory: "wasm/tests")
52 !9 = !DIBasicType(name: "unsigned char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
53 !10 = !{!11}
54 !11 = !DISubrange(count: 15)
55 !12 = !{i32 2, !"Dwarf Version", i32 4}
56 !13 = !{i32 2, !"Debug Info Version", i32 3}
57 !14 = !{!"clang version 3.9.0 (trunk 273884) (llvm/trunk 273897)"}
58 !15 = distinct !DISubprogram(name: "usage", scope: !1, file: !1, line: 15, type: !16, isLocal: false, isDefinition: true, scopeLine: 15, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !21)
59 !16 = !DISubroutineType(types: !17)
60 !17 = !{!18, !19}
61 !18 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
62 !19 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !20, size: 32, align: 32)
63 !20 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
64 !21 = !{!22}
65 !22 = !DILocalVariable(name: "self", arg: 1, scope: !15, file: !1, line: 15, type: !19)
66 !23 = !{i64 0, !"_ZTSFiPcE"}
67 !24 = !DIExpression()
68 !25 = !DILocation(line: 15, column: 17, scope: !15)
69 !26 = !DILocation(line: 16, column: 3, scope: !15)
70 !27 = !DILocation(line: 17, column: 3, scope: !15)
71
0 ; RUN: llc -O2 < %s | FileCheck %s
11 ; RUN: llc -O2 -regalloc=basic < %s | FileCheck %s
2 source_filename = "test/CodeGen/X86/2010-05-26-DotDebugLoc.ll"
23 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
34 target triple = "x86_64-apple-darwin10"
45
56 %struct.a = type { i32, %struct.a* }
67
7 @llvm.used = appending global [1 x i8*] [i8* bitcast (i8* (%struct.a*)* @bar to i8*)], section "llvm.metadata" ; <[1 x i8*]*> [#uses=0]
8 @llvm.used = appending global [1 x i8*] [i8* bitcast (i8* (%struct.a*)* @bar to i8*)], section "llvm.metadata"
89
9 define i8* @bar(%struct.a* %myvar) nounwind optsize noinline ssp !dbg !9 {
10 ; Function Attrs: noinline nounwind optsize ssp
11 define i8* @bar(%struct.a* %myvar) #0 !dbg !8 {
1012 entry:
11 tail call void @llvm.dbg.value(metadata %struct.a* %myvar, i64 0, metadata !8, metadata !DIExpression()), !dbg !DILocation(scope: !9)
12 %0 = getelementptr inbounds %struct.a, %struct.a* %myvar, i64 0, i32 0, !dbg !28 ; [#uses=1]
13 %1 = load i32, i32* %0, align 8, !dbg !28 ; [#uses=1]
14 tail call void @foo(i32 %1) nounwind optsize noinline ssp, !dbg !28
15 %2 = bitcast %struct.a* %myvar to i8*, !dbg !30 ; [#uses=1]
16 ret i8* %2, !dbg !30
13 tail call void @llvm.dbg.value(metadata %struct.a* %myvar, i64 0, metadata !18, metadata !19), !dbg !20
14 %0 = getelementptr inbounds %struct.a, %struct.a* %myvar, i64 0, i32 0, !dbg !21
15 %1 = load i32, i32* %0, align 8, !dbg !21
16 tail call void @foo(i32 %1) #0, !dbg !21
17 %2 = bitcast %struct.a* %myvar to i8*, !dbg !23
18 ret i8* %2, !dbg !23
1719 }
1820
19 declare void @foo(i32) nounwind optsize noinline ssp
21 ; Function Attrs: noinline nounwind optsize ssp
22 declare void @foo(i32) #0
2023
21 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
24 ; Function Attrs: nounwind readnone
25 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
2226
23 !llvm.dbg.cu = !{!2}
24 !llvm.module.flags = !{!38}
27 attributes #0 = { noinline nounwind optsize ssp }
28 attributes #1 = { nounwind readnone }
2529
26 !0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ret", line: 7, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !3))
30 !llvm.dbg.cu = !{!0}
31 !llvm.module.flags = !{!7}
32
33 !0 = distinct !DICompileUnit(language: DW_LANG_C89, file: !1, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !2, globals: !3, imports: !2)
2734 !1 = !DIFile(filename: "foo.c", directory: "/tmp/")
28 !2 = distinct !DICompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", isOptimized: true, emissionKind: FullDebug, file: !36, enums: !37, retainedTypes: !37, globals: !31, imports: !37)
29 !3 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
30 !4 = !DILocalVariable(name: "x", line: 12, arg: 1, scope: !5, file: !1, type: !3)
31 !5 = distinct !DISubprogram(name: "foo", linkageName: "foo", line: 13, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, unit: !2, scopeLine: 13, file: !36, scope: !1, type: !6, variables: !33)
32 !6 = !DISubroutineType(types: !7)
33 !7 = !{null, !3}
34 !8 = !DILocalVariable(name: "myvar", line: 17, arg: 1, scope: !9, file: !1, type: !13)
35 !9 = distinct !DISubprogram(name: "bar", linkageName: "bar", line: 17, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, unit: !2, scopeLine: 17, file: !36, scope: !1, type: !10, variables: !34)
36 !10 = !DISubroutineType(types: !11)
37 !11 = !{!12, !13}
38 !12 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !36, scope: !1, baseType: null)
39 !13 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !36, scope: !1, baseType: !14)
40 !14 = !DICompositeType(tag: DW_TAG_structure_type, name: "a", line: 2, size: 128, align: 64, file: !36, scope: !1, elements: !15)
41 !15 = !{!16, !17}
42 !16 = !DIDerivedType(tag: DW_TAG_member, name: "c", line: 3, size: 32, align: 32, file: !36, scope: !14, baseType: !3)
43 !17 = !DIDerivedType(tag: DW_TAG_member, name: "d", line: 4, size: 64, align: 64, offset: 64, file: !36, scope: !14, baseType: !13)
44 !18 = !DILocalVariable(name: "argc", line: 22, arg: 1, scope: !19, file: !1, type: !3)
45 !19 = distinct !DISubprogram(name: "main", linkageName: "main", line: 22, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, unit: !2, scopeLine: 22, file: !36, scope: !1, type: !20, variables: !35)
46 !20 = !DISubroutineType(types: !21)
47 !21 = !{!3, !3, !22}
48 !22 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !36, scope: !1, baseType: !23)
49 !23 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !36, scope: !1, baseType: !24)
50 !24 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
51 !25 = !DILocalVariable(name: "argv", line: 22, arg: 2, scope: !19, file: !1, type: !22)
52 !26 = !DILocalVariable(name: "e", line: 23, scope: !27, file: !1, type: !14)
53 !27 = distinct !DILexicalBlock(line: 22, column: 0, file: !36, scope: !19)
54 !28 = !DILocation(line: 18, scope: !29)
55 !29 = distinct !DILexicalBlock(line: 17, column: 0, file: !36, scope: !9)
56 !30 = !DILocation(line: 19, scope: !29)
57 !31 = !{!0}
58 !33 = !{!4}
59 !34 = !{!8}
60 !35 = !{!18, !25, !26}
61 !36 = !DIFile(filename: "foo.c", directory: "/tmp/")
62 !37 = !{}
35 !2 = !{}
36 !3 = !{!4}
37 !4 = !DIGlobalVariableExpression(var: !5)
38 !5 = !DIGlobalVariable(name: "ret", scope: !1, file: !1, line: 7, type: !6, isLocal: false, isDefinition: true)
39 !6 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
40 !7 = !{i32 1, !"Debug Info Version", i32 3}
41 !8 = distinct !DISubprogram(name: "bar", linkageName: "bar", scope: !1, file: !1, line: 17, type: !9, isLocal: false, isDefinition: true, scopeLine: 17, virtualIndex: 6, isOptimized: true, unit: !0, variables: !17)
42 !9 = !DISubroutineType(types: !10)
43 !10 = !{!11, !12}
44 !11 = !DIDerivedType(tag: DW_TAG_pointer_type, scope: !1, file: !1, baseType: null, size: 64, align: 64)
45 !12 = !DIDerivedType(tag: DW_TAG_pointer_type, scope: !1, file: !1, baseType: !13, size: 64, align: 64)
46 !13 = !DICompositeType(tag: DW_TAG_structure_type, name: "a", scope: !1, file: !1, line: 2, size: 128, align: 64, elements: !14)
47 !14 = !{!15, !16}
48 !15 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !13, file: !1, line: 3, baseType: !6, size: 32, align: 32)
49 !16 = !DIDerivedType(tag: DW_TAG_member, name: "d", scope: !13, file: !1, line: 4, baseType: !12, size: 64, align: 64, offset: 64)
50 !17 = !{!18}
51 !18 = !DILocalVariable(name: "myvar", arg: 1, scope: !8, file: !1, line: 17, type: !12)
52 !19 = !DIExpression()
53 !20 = !DILocation(line: 0, scope: !8)
54 !21 = !DILocation(line: 18, scope: !22)
55 !22 = distinct !DILexicalBlock(scope: !8, file: !1, line: 17)
56 !23 = !DILocation(line: 19, scope: !22)
6357
6458 ; The variable bar:myvar changes registers after the first movq.
6559 ; It is cobbered by popq %rbx
6862 ; CHECK: .loc 1 19 0
6963 ; CHECK: popq
7064 ; CHECK-NEXT: [[CLOBBER:Ltmp[0-9]*]]
71
7265
7366 ; CHECK: Ldebug_loc0:
7467 ; CHECK-NEXT: [[SET1:.*]] = Lfunc_begin0-Lfunc_begin0
8376 ; CHECK-NEXT: .quad [[SET4]]
8477 ; CHECK-NEXT: .short 1 ## Loc expr size
8578 ; CHECK-NEXT: .byte 83
86 !38 = !{i32 1, !"Debug Info Version", i32 3}
1313 @ld_ptr = common local_unnamed_addr global fp128* null, align 8, !dbg !0
1414
1515 ; Function Attrs: nounwind readonly uwtable
16 define fp128 @test_return1(fp128* nocapture readonly %ptr) local_unnamed_addr #0 !dbg !11 {
16 define fp128 @test_return1(fp128* nocapture readonly %ptr) local_unnamed_addr #0 !dbg !12 {
1717 entry:
18 tail call void @llvm.dbg.value(metadata fp128* %ptr, i64 0, metadata !15, metadata !16), !dbg !17
19 %0 = load fp128, fp128* %ptr, align 16, !dbg !18, !tbaa !19
20 ret fp128 %0, !dbg !23
18 tail call void @llvm.dbg.value(metadata fp128* %ptr, i64 0, metadata !16, metadata !17), !dbg !18
19 %0 = load fp128, fp128* %ptr, align 16, !dbg !19, !tbaa !20
20 ret fp128 %0, !dbg !24
2121 ; X64-LABEL: test_return1:
2222 ; X64: .loc
2323 ; X64: movaps (%rdi), %xmm0
2626 }
2727
2828 ; Function Attrs: nounwind readonly uwtable
29 define fp128 @test_return2(fp128* nocapture readonly %ptr) local_unnamed_addr #0 !dbg !24 {
29 define fp128 @test_return2(fp128* nocapture readonly %ptr) local_unnamed_addr #0 !dbg !25 {
3030 entry:
31 tail call void @llvm.dbg.value(metadata fp128* %ptr, i64 0, metadata !26, metadata !16), !dbg !28
32 %0 = load fp128, fp128* %ptr, align 16, !dbg !29, !tbaa !19
33 tail call void @llvm.dbg.value(metadata fp128 %0, i64 0, metadata !27, metadata !16), !dbg !30
34 ret fp128 %0, !dbg !31
31 tail call void @llvm.dbg.value(metadata fp128* %ptr, i64 0, metadata !27, metadata !17), !dbg !29
32 %0 = load fp128, fp128* %ptr, align 16, !dbg !30, !tbaa !20
33 tail call void @llvm.dbg.value(metadata fp128 %0, i64 0, metadata !28, metadata !17), !dbg !31
34 ret fp128 %0, !dbg !32
35 }
36
3537 ; X64-LABEL: test_return2:
3638 ; X64: .loc
3739 ; X64: movaps (%rdi), %xmm0
3840 ; X64: .loc
3941 ; X64: retq
40 }
42 ; Function Attrs: nounwind readonly uwtable
4143
42 ; Function Attrs: nounwind readonly uwtable
43 define fp128 @test_return3(fp128* nocapture readonly %ptr) local_unnamed_addr #0 !dbg !32 {
44 define fp128 @test_return3(fp128* nocapture readonly %ptr) local_unnamed_addr #0 !dbg !33 {
4445 entry:
45 tail call void @llvm.dbg.value(metadata fp128* %ptr, i64 0, metadata !34, metadata !16), !dbg !35
46 %0 = load fp128, fp128* %ptr, align 16, !dbg !36, !tbaa !19
47 %add = fadd fp128 %0, %0, !dbg !37
48 ret fp128 %add, !dbg !38
46 tail call void @llvm.dbg.value(metadata fp128* %ptr, i64 0, metadata !35, metadata !17), !dbg !36
47 %0 = load fp128, fp128* %ptr, align 16, !dbg !37, !tbaa !20
48 %add = fadd fp128 %0, %0, !dbg !38
49 ret fp128 %add, !dbg !39
4950 ; X64-LABEL: test_return3:
5051 ; X64: .loc
5152 ; X64: movaps (%rdi), %xmm0
5758 }
5859
5960 ; Function Attrs: norecurse nounwind readonly uwtable
60 define fp128 @test_return4() local_unnamed_addr #1 !dbg !39 {
61 define fp128 @test_return4() local_unnamed_addr #1 !dbg !40 {
6162 entry:
62 %0 = load fp128*, fp128** @ld_ptr, align 8, !dbg !42, !tbaa !43
63 %1 = load fp128, fp128* %0, align 16, !dbg !45, !tbaa !19
64 ret fp128 %1, !dbg !46
63 %0 = load fp128*, fp128** @ld_ptr, align 8, !dbg !43, !tbaa !44
64 %1 = load fp128, fp128* %0, align 16, !dbg !46, !tbaa !20
65 ret fp128 %1, !dbg !47
6566 ; X64-LABEL: test_return4:
6667 ; X64: .loc
6768 ; X64: movq ld_ptr(%rip), %rax
7273 }
7374
7475 ; Function Attrs: nounwind readonly uwtable
75 define fp128 @test_return5() local_unnamed_addr #0 !dbg !47 {
76 define fp128 @test_return5() local_unnamed_addr #0 !dbg !48 {
7677 entry:
77 %0 = load fp128*, fp128** @ld_ptr, align 8, !dbg !50, !tbaa !43
78 %1 = load fp128, fp128* %0, align 16, !dbg !51, !tbaa !19
79 tail call void @llvm.dbg.value(metadata fp128 %1, i64 0, metadata !49, metadata !16), !dbg !52
80 ret fp128 %1, !dbg !53
78 %0 = load fp128*, fp128** @ld_ptr, align 8, !dbg !51, !tbaa !44
79 %1 = load fp128, fp128* %0, align 16, !dbg !52, !tbaa !20
80 tail call void @llvm.dbg.value(metadata fp128 %1, i64 0, metadata !50, metadata !17), !dbg !53
81 ret fp128 %1, !dbg !54
8182 ; X64-LABEL: test_return5:
8283 ; X64: .loc
8384 ; X64: movq ld_ptr(%rip), %rax
8889 }
8990
9091 ; Function Attrs: norecurse nounwind readonly uwtable
91 define fp128 @test_return6() local_unnamed_addr #1 !dbg !54 {
92 define fp128 @test_return6() local_unnamed_addr #1 !dbg !55 {
9293 entry:
93 %0 = load fp128*, fp128** @ld_ptr, align 8, !dbg !55, !tbaa !43
94 %1 = load fp128, fp128* %0, align 16, !dbg !56, !tbaa !19
95 %add = fadd fp128 %1, %1, !dbg !57
96 ret fp128 %add, !dbg !58
94 %0 = load fp128*, fp128** @ld_ptr, align 8, !dbg !56, !tbaa !44
95 %1 = load fp128, fp128* %0, align 16, !dbg !57, !tbaa !20
96 %add = fadd fp128 %1, %1, !dbg !58
97 ret fp128 %add, !dbg !59
9798 ; X64-LABEL: test_return6:
9899 ; X64: .loc
99100 ; X64: movaps (%rax), %xmm0
111112 attributes #1 = { norecurse nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
112113 attributes #2 = { nounwind readnone }
113114
114 !llvm.dbg.cu = !{!1}
115 !llvm.module.flags = !{!7, !8, !9}
116 !llvm.ident = !{!10}
115 !llvm.dbg.cu = !{!2}
116 !llvm.module.flags = !{!8, !9, !10}
117 !llvm.ident = !{!11}
117118
118 !0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ld_ptr", scope: !1, file: !2, line: 17, type: !5, isLocal: false, isDefinition: true))
119 !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 4.0.0 (trunk 281495)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)
120 !2 = !DIFile(filename: "fp128-g.c", directory: "/disk5/chh/Debug/ld.loop")
121 !3 = !{}
122 !4 = !{!0}
123 !5 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !6, size: 64, align: 64)
124 !6 = !DIBasicType(name: "long double", size: 128, align: 128, encoding: DW_ATE_float)
125 !7 = !{i32 2, !"Dwarf Version", i32 4}
126 !8 = !{i32 2, !"Debug Info Version", i32 3}
127 !9 = !{i32 1, !"PIC Level", i32 2}
128 !10 = !{!"clang version 4.0.0 (trunk 281495)"}
129 !11 = distinct !DISubprogram(name: "test_return1", scope: !2, file: !2, line: 3, type: !12, isLocal: false, isDefinition: true, scopeLine: 3, flags: DIFlagPrototyped, isOptimized: true, unit: !1, variables: !14)
130 !12 = !DISubroutineType(types: !13)
131 !13 = !{!6, !5}
132 !14 = !{!15}
133 !15 = !DILocalVariable(name: "ptr", arg: 1, scope: !11, file: !2, line: 3, type: !5)
134 !16 = !DIExpression()
135 !17 = !DILocation(line: 3, column: 39, scope: !11)
136 !18 = !DILocation(line: 4, column: 12, scope: !11)
137 !19 = !{!20, !20, i64 0}
138 !20 = !{!"long double", !21, i64 0}
139 !21 = !{!"omnipotent char", !22, i64 0}
140 !22 = !{!"Simple C/C++ TBAA"}
141 !23 = !DILocation(line: 4, column: 5, scope: !11)
142 !24 = distinct !DISubprogram(name: "test_return2", scope: !2, file: !2, line: 7, type: !12, isLocal: false, isDefinition: true, scopeLine: 7, flags: DIFlagPrototyped, isOptimized: true, unit: !1, variables: !25)
143 !25 = !{!26, !27}
144 !26 = !DILocalVariable(name: "ptr", arg: 1, scope: !24, file: !2, line: 7, type: !5)
145 !27 = !DILocalVariable(name: "value", scope: !24, file: !2, line: 8, type: !6)
146 !28 = !DILocation(line: 7, column: 39, scope: !24)
147 !29 = !DILocation(line: 9, column: 14, scope: !24)
148 !30 = !DILocation(line: 8, column: 17, scope: !24)
149 !31 = !DILocation(line: 10, column: 5, scope: !24)
150 !32 = distinct !DISubprogram(name: "test_return3", scope: !2, file: !2, line: 13, type: !12, isLocal: false, isDefinition: true, scopeLine: 13, flags: DIFlagPrototyped, isOptimized: true, unit: !1, variables: !33)
151 !33 = !{!34}
152 !34 = !DILocalVariable(name: "ptr", arg: 1, scope: !32, file: !2, line: 13, type: !5)
153 !35 = !DILocation(line: 13, column: 39, scope: !32)
154 !36 = !DILocation(line: 14, column: 12, scope: !32)
155 !37 = !DILocation(line: 14, column: 17, scope: !32)
156 !38 = !DILocation(line: 14, column: 5, scope: !32)
157 !39 = distinct !DISubprogram(name: "test_return4", scope: !2, file: !2, line: 18, type: !40, isLocal: false, isDefinition: true, scopeLine: 18, isOptimized: true, unit: !1, variables: !3)
158 !40 = !DISubroutineType(types: !41)
159 !41 = !{!6}
160 !42 = !DILocation(line: 19, column: 13, scope: !39)
161 !43 = !{!44, !44, i64 0}
162 !44 = !{!"any pointer", !21, i64 0}
163 !45 = !DILocation(line: 19, column: 12, scope: !39)
164 !46 = !DILocation(line: 19, column: 5, scope: !39)
165 !47 = distinct !DISubprogram(name: "test_return5", scope: !2, file: !2, line: 22, type: !40, isLocal: false, isDefinition: true, scopeLine: 22, isOptimized: true, unit: !1, variables: !48)
166 !48 = !{!49}
167 !49 = !DILocalVariable(name: "value", scope: !47, file: !2, line: 23, type: !6)
168 !50 = !DILocation(line: 23, column: 26, scope: !47)
169 !51 = !DILocation(line: 23, column: 25, scope: !47)
170 !52 = !DILocation(line: 23, column: 17, scope: !47)
171 !53 = !DILocation(line: 24, column: 5, scope: !47)
172 !54 = distinct !DISubprogram(name: "test_return6", scope: !2, file: !2, line: 27, type: !40, isLocal: false, isDefinition: true, scopeLine: 27, isOptimized: true, unit: !1, variables: !3)
173 !55 = !DILocation(line: 28, column: 13, scope: !54)
174 !56 = !DILocation(line: 28, column: 12, scope: !54)
175 !57 = !DILocation(line: 28, column: 20, scope: !54)
176 !58 = !DILocation(line: 28, column: 5, scope: !54)
119 !0 = !DIGlobalVariableExpression(var: !1)
120 !1 = !DIGlobalVariable(name: "ld_ptr", scope: !2, file: !3, line: 17, type: !6, isLocal: false, isDefinition: true)
121 !2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 4.0.0 (trunk 281495)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5)
122 !3 = !DIFile(filename: "fp128-g.c", directory: "/disk5/chh/Debug/ld.loop")
123 !4 = !{}
124 !5 = !{!0}
125 !6 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64, align: 64)
126 !7 = !DIBasicType(name: "long double", size: 128, align: 128, encoding: DW_ATE_float)
127 !8 = !{i32 2, !"Dwarf Version", i32 4}
128 !9 = !{i32 2, !"Debug Info Version", i32 3}
129 !10 = !{i32 1, !"PIC Level", i32 2}
130 !11 = !{!"clang version 4.0.0 (trunk 281495)"}
131 !12 = distinct !DISubprogram(name: "test_return1", scope: !3, file: !3, line: 3, type: !13, isLocal: false, isDefinition: true, scopeLine: 3, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !15)
132 !13 = !DISubroutineType(types: !14)
133 !14 = !{!7, !6}
134 !15 = !{!16}
135 !16 = !DILocalVariable(name: "ptr", arg: 1, scope: !12, file: !3, line: 3, type: !6)
136 !17 = !DIExpression()
137 !18 = !DILocation(line: 3, column: 39, scope: !12)
138 !19 = !DILocation(line: 4, column: 12, scope: !12)
139 !20 = !{!21, !21, i64 0}
140 !21 = !{!"long double", !22, i64 0}
141 !22 = !{!"omnipotent char", !23, i64 0}
142 !23 = !{!"Simple C/C++ TBAA"}
143 !24 = !DILocation(line: 4, column: 5, scope: !12)
144 !25 = distinct !DISubprogram(name: "test_return2", scope: !3, file: !3, line: 7, type: !13, isLocal: false, isDefinition: true, scopeLine: 7, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !26)
145 !26 = !{!27, !28}
146 !27 = !DILocalVariable(name: "ptr", arg: 1, scope: !25, file: !3, line: 7, type: !6)
147 !28 = !DILocalVariable(name: "value", scope: !25, file: !3, line: 8, type: !7)
148 !29 = !DILocation(line: 7, column: 39, scope: !25)
149 !30 = !DILocation(line: 9, column: 14, scope: !25)
150 !31 = !DILocation(line: 8, column: 17, scope: !25)
151 !32 = !DILocation(line: 10, column: 5, scope: !25)
152 !33 = distinct !DISubprogram(name: "test_return3", scope: !3, file: !3, line: 13, type: !13, isLocal: false, isDefinition: true, scopeLine: 13, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !34)
153 !34 = !{!35}
154 !35 = !DILocalVariable(name: "ptr", arg: 1, scope: !33, file: !3, line: 13, type: !6)
155 !36 = !DILocation(line: 13, column: 39, scope: !33)
156 !37 = !DILocation(line: 14, column: 12, scope: !33)
157 !38 = !DILocation(line: 14, column: 17, scope: !33)
158 !39 = !DILocation(line: 14, column: 5, scope: !33)
159 !40 = distinct !DISubprogram(name: "test_return4", scope: !3, file: !3, line: 18, type: !41, isLocal: false, isDefinition: true, scopeLine: 18, isOptimized: true, unit: !2, variables: !4)
160 !41 = !DISubroutineType(types: !42)
161 !42 = !{!7}
162 !43 = !DILocation(line: 19, column: 13, scope: !40)
163 !44 = !{!45, !45, i64 0}
164 !45 = !{!"any pointer", !22, i64 0}
165 !46 = !DILocation(line: 19, column: 12, scope: !40)
166 !47 = !DILocation(line: 19, column: 5, scope: !40)
167 !48 = distinct !DISubprogram(name: "test_return5", scope: !3, file: !3, line: 22, type: !41, isLocal: false, isDefinition: true, scopeLine: 22, isOptimized: true, unit: !2, variables: !49)
168 !49 = !{!50}
169 !50 = !DILocalVariable(name: "value", scope: !48, file: !3, line: 23, type: !7)
170 !51 = !DILocation(line: 23, column: 26, scope: !48)
171 !52 = !DILocation(line: 23, column: 25, scope: !48)
172 !53 = !DILocation(line: 23, column: 17, scope: !48)
173 !54 = !DILocation(line: 24, column: 5, scope: !48)
174 !55 = distinct !DISubprogram(name: "test_return6", scope: !3, file: !3, line: 27, type: !41, isLocal: false, isDefinition: true, scopeLine: 27, isOptimized: true, unit: !2, variables: !4)
175 !56 = !DILocation(line: 28, column: 13, scope: !55)
176 !57 = !DILocation(line: 28, column: 12, scope: !55)
177 !58 = !DILocation(line: 28, column: 20, scope: !55)
178 !59 = !DILocation(line: 28, column: 5, scope: !55)
179
0 ; RUN: llc < %s -mcpu=generic -mtriple=i386-apple-darwin -no-integrated-as
11
2 @g1 = global double 0.000000e+00, align 8, !dbg !22
3 @g2 = global i32 0, align 4, !dbg !23
2 source_filename = "test/CodeGen/X86/fpstack-debuginstr-kill.ll"
43
5 define void @_Z16fpuop_arithmeticjj(i32, i32) !dbg !4 {
4 @g1 = global double 0.000000e+00, align 8, !dbg !0
5 @g2 = global i32 0, align 4, !dbg !7
6
7 define void @_Z16fpuop_arithmeticjj(i32, i32) !dbg !16 {
68 entry:
79 switch i32 undef, label %sw.bb.i1921 [
810 ]
911
10 sw.bb261: ; preds = %entry, %entry
12 sw.bb261: ; No predecessors!
1113 unreachable
1214
13 sw.bb.i1921: ; preds = %if.end504
15 sw.bb.i1921: ; preds = %entry
1416 switch i32 undef, label %if.end511 [
1517 i32 1, label %sw.bb27.i
1618 ]
1921 %conv.i.i1923 = fpext float undef to x86_fp80
2022 br label %if.end511
2123
22 if.end511: ; preds = %sw.bb27.i, %sw.bb13.i
24 if.end511: ; preds = %sw.bb27.i, %sw.bb.i1921
2325 %src.sroa.0.0.src.sroa.0.0.2280 = phi x86_fp80 [ %conv.i.i1923, %sw.bb27.i ], [ undef, %sw.bb.i1921 ]
2426 switch i32 undef, label %sw.bb992 [
2527 i32 3, label %sw.bb735
3133 unreachable
3234
3335 if.end41.i2210: ; preds = %if.end511
34 call void @llvm.dbg.value(metadata x86_fp80 %src.sroa.0.0.src.sroa.0.0.2280, i64 0, metadata !20, metadata !DIExpression()), !dbg !DILocation(scope: !4)
36 call void @llvm.dbg.value(metadata x86_fp80 %src.sroa.0.0.src.sroa.0.0.2280, i64 0, metadata !25, metadata !26), !dbg !27
3537 unreachable
3638
3739 sw.bb992: ; preds = %if.end511
3840 ret void
3941 }
4042
41 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
43 ; Function Attrs: nounwind readnone
44 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
4245
43 !llvm.dbg.cu = !{!0}
44 !llvm.module.flags = !{!24, !25}
45 !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.6.0 (http://llvm.org/git/clang 8444ae7cfeaefae031f8fedf0d1435ca3b14d90b) (http://llvm.org/git/llvm 886f0101a7d176543b831f5efb74c03427244a55)", isOptimized: true, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !21, imports: !2)
46 !1 = !DIFile(filename: "fpu_ieee.cpp", directory: "x87stackifier")
47 !2 = !{}
48 !4 = distinct !DISubprogram(name: "fpuop_arithmetic", linkageName: "_Z16fpuop_arithmeticjj", line: 11, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 13, file: !5, scope: !6, type: !7, variables: !10)
49 !5 = !DIFile(filename: "f1.cpp", directory: "x87stackifier")
50 !6 = !DIFile(filename: "f1.cpp", directory: "x87stackifier")
51 !7 = !DISubroutineType(types: !8)
52 !8 = !{null, !9, !9}
53 !9 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned)
54 !10 = !{!11, !12, !13, !18, !20}
55 !11 = !DILocalVariable(name: "", line: 11, arg: 1, scope: !4, file: !6, type: !9)
56 !12 = !DILocalVariable(name: "", line: 11, arg: 2, scope: !4, file: !6, type: !9)
57 !13 = !DILocalVariable(name: "x", line: 14, scope: !4, file: !6, type: !14)
58 !14 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpu_extended", line: 3, file: !5, baseType: !15)
59 !15 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpu_register", line: 2, file: !5, baseType: !16)
60 !16 = !DIDerivedType(tag: DW_TAG_typedef, name: "uae_f64", line: 1, file: !5, baseType: !17)
61 !17 = !DIBasicType(tag: DW_TAG_base_type, name: "long double", size: 128, align: 128, encoding: DW_ATE_float)
62 !18 = !DILocalVariable(name: "a", line: 15, scope: !4, file: !6, type: !19)
63 !19 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
64 !20 = !DILocalVariable(name: "value", line: 16, scope: !4, file: !6, type: !14)
65 !21 = !{!22, !23}
66 !22 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "g1", line: 5, isLocal: false, isDefinition: true, scope: null, file: !6, type: !14))
67 !23 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "g2", line: 6, isLocal: false, isDefinition: true, scope: null, file: !6, type: !19))
68 !24 = !{i32 2, !"Dwarf Version", i32 2}
69 !25 = !{i32 2, !"Debug Info Version", i32 3}
46 attributes #0 = { nounwind readnone }
47
48 !llvm.dbg.cu = !{!10}
49 !llvm.module.flags = !{!14, !15}
50
51 !0 = !DIGlobalVariableExpression(var: !1)
52 !1 = !DIGlobalVariable(name: "g1", scope: null, file: !2, line: 5, type: !3, isLocal: false, isDefinition: true)
53 !2 = !DIFile(filename: "f1.cpp", directory: "x87stackifier")
54 !3 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpu_extended", file: !2, line: 3, baseType: !4)
55 !4 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpu_register", file: !2, line: 2, baseType: !5)
56 !5 = !DIDerivedType(tag: DW_TAG_typedef, name: "uae_f64", file: !2, line: 1, baseType: !6)
57 !6 = !DIBasicType(name: "long double", size: 128, align: 128, encoding: DW_ATE_float)
58 !7 = !DIGlobalVariableExpression(var: !8)
59 !8 = !DIGlobalVariable(name: "g2", scope: null, file: !2, line: 6, type: !9, isLocal: false, isDefinition: true)
60 !9 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
61 !10 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !11, producer: "clang version 3.6.0 (http://llvm.org/git/clang 8444ae7cfeaefae031f8fedf0d1435ca3b14d90b) (http://llvm.org/git/llvm 886f0101a7d176543b831f5efb74c03427244a55)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !12, retainedTypes: !12, globals: !13, imports: !12)
62 !11 = !DIFile(filename: "fpu_ieee.cpp", directory: "x87stackifier")
63 !12 = !{}
64 !13 = !{!0, !7}
65 !14 = !{i32 2, !"Dwarf Version", i32 2}
66 !15 = !{i32 2, !"Debug Info Version", i32 3}
67 !16 = distinct !DISubprogram(name: "fpuop_arithmetic", linkageName: "_Z16fpuop_arithmeticjj", scope: !2, file: !2, line: 11, type: !17, isLocal: false, isDefinition: true, scopeLine: 13, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !10, variables: !20)
68 !17 = !DISubroutineType(types: !18)
69 !18 = !{null, !19, !19}
70 !19 = !DIBasicType(name: "unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned)
71 !20 = !{!21, !22, !23, !24, !25}
72 !21 = !DILocalVariable(arg: 1, scope: !16, file: !2, line: 11, type: !19)
73 !22 = !DILocalVariable(arg: 2, scope: !16, file: !2, line: 11, type: !19)
74 !23 = !DILocalVariable(name: "x", scope: !16, file: !2, line: 14, type: !3)
75 !24 = !DILocalVariable(name: "a", scope: !16, file: !2, line: 15, type: !9)
76 !25 = !DILocalVariable(name: "value", scope: !16, file: !2, line: 16, type: !3)
77 !26 = !DIExpression()
78 !27 = !DILocation(line: 0, scope: !16)
79
1818 ; clang -O2 -c test.cpp -emit-llvm -S -g
1919 ;
2020
21 source_filename = "test/CodeGen/X86/misched-code-difference-with-debug.ll"
2122
2223 %class.C = type { i8 }
2324
24 @argc = global i8 0, align 1, !dbg !21
25 @argc = global i8 0, align 1, !dbg !0
2526
2627 declare i32 @test_function(%class.C*, i8 signext, i8 signext, i8 signext, ...)
27
2828 ; CHECK-LABEL: test_without_debug
2929 ; CHECK: movl [[A:%[a-z]+]], [[B:%[a-z]+]]
3030 ; CHECK-NEXT: movl [[A]], [[C:%[a-z]+]]
31
3132 define void @test_without_debug() {
3233 entry:
3334 %c = alloca %class.C, align 1
3839 %call2 = call i32 (%class.C*, i8, i8, i8, ...) @test_function(%class.C* %c, i8 signext 0, i8 signext %1, i8 signext 0, i32 %conv)
3940 ret void
4041 }
41
4242 ; CHECK-LABEL: test_with_debug
4343 ; CHECK: movl [[A]], [[B]]
4444 ; CHECK-NEXT: movl [[A]], [[C]]
45 define void @test_with_debug() !dbg !13 {
45
46 define void @test_with_debug() !dbg !17 {
4647 entry:
4748 %c = alloca %class.C, align 1
4849 %0 = load i8, i8* @argc, align 1
49 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !19, metadata !29), !dbg !DILocation(scope: !13)
50 tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !22, metadata !23), !dbg !24
5051 %conv = sext i8 %0 to i32
51 tail call void @llvm.dbg.value(metadata %class.C* %c, i64 0, metadata !18, metadata !DIExpression(DW_OP_deref)), !dbg !DILocation(scope: !13)
52 tail call void @llvm.dbg.value(metadata %class.C* %c, i64 0, metadata !21, metadata !25), !dbg !24
5253 %call = call i32 (%class.C*, i8, i8, i8, ...) @test_function(%class.C* %c, i8 signext 0, i8 signext %0, i8 signext 0, i32 %conv)
5354 %1 = load i8, i8* @argc, align 1
54 call void @llvm.dbg.value(metadata %class.C* %c, i64 0, metadata !18, metadata !DIExpression(DW_OP_deref)), !dbg !DILocation(scope: !13)
55 call void @llvm.dbg.value(metadata %class.C* %c, i64 0, metadata !21, metadata !25), !dbg !24
5556 %call2 = call i32 (%class.C*, i8, i8, i8, ...) @test_function(%class.C* %c, i8 signext 0, i8 signext %1, i8 signext 0, i32 %conv)
5657 ret void
5758 }
5859
59 declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
60 ; Function Attrs: nounwind readnone
6061
61 !llvm.dbg.cu = !{!0}
62 !llvm.module.flags = !{!22, !23}
62 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
6363
64 !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, enums: !2, retainedTypes: !3, globals: !20, imports: !2, emissionKind: FullDebug)
65 !1 = !DIFile(filename: "test.cpp", directory: "")
66 !2 = !{}
67 !3 = !{!4}
68 !4 = !DICompositeType(tag: DW_TAG_class_type, name: "C", line: 2, size: 8, align: 8, file: !1, elements: !5, identifier: "_ZTS1C")
69 !5 = !{!6}
70 !6 = !DISubprogram(name: "test", file: !1, scope: !4, type: !7, isDefinition: false)
71 !7 = !DISubroutineType(types: !8)
72 !8 = !{!9, !10, !11, !11, !11, null}
73 !9 = !DIBasicType(encoding: DW_ATE_signed, size: 32, align: 32, name: "int")
74 !10 = !DIDerivedType(baseType: !4, tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial)
75 !11 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
76 !13 = distinct !DISubprogram(name: "test_with_debug", linkageName: "test_with_debug", line: 6, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 6, file: !1, scope: !14, type: !15, variables: !17)
77 !14 = !DIFile(filename: "test.cpp", directory: "")
78 !15 = !DISubroutineType(types: !16)
79 !16 = !{null}
80 !17 = !{!18, !19}
81 !18 = !DILocalVariable(name: "c", line: 7, scope: !13, file: !14, type: !4)
82 !19 = !DILocalVariable(name: "lc", line: 8, scope: !13, file: !14, type: !11)
83 !20 = !{!21}
84 !21 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "argc", line: 1, isLocal: false, isDefinition: true, scope: null, file: !14, type: !11))
85 !22 = !{i32 2, !"Dwarf Version", i32 4}
86 !23 = !{i32 2, !"Debug Info Version", i32 3}
87 !25 = !DILocation(line: 8, column: 3, scope: !13)
88 !29 = !DIExpression()
64 attributes #0 = { nounwind readnone }
65
66 !llvm.dbg.cu = !{!4}
67 !llvm.module.flags = !{!15, !16}
68
69 !0 = !DIGlobalVariableExpression(var: !1)
70 !1 = !DIGlobalVariable(name: "argc", scope: null, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)
71 !2 = !DIFile(filename: "test.cpp", directory: "")
72 !3 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
73 !4 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !2, isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !5, retainedTypes: !6, globals: !14, imports: !5)
74 !5 = !{}
75 !6 = !{!7}
76 !7 = !DICompositeType(tag: DW_TAG_class_type, name: "C", file: !2, line: 2, size: 8, align: 8, elements: !8, identifier: "_ZTS1C")
77 !8 = !{!9}
78 !9 = !DISubprogram(name: "test", scope: !7, file: !2, type: !10, isLocal: false, isDefinition: false, isOptimized: false)
79 !10 = !DISubroutineType(types: !11)
80 !11 = !{!12, !13, !3, !3, !3, null}
81 !12 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
82 !13 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64, align: 64, flags: DIFlagArtificial)
83 !14 = !{!0}
84 !15 = !{i32 2, !"Dwarf Version", i32 4}
85 !16 = !{i32 2, !"Debug Info Version", i32 3}
86 !17 = distinct !DISubprogram(name: "test_with_debug", linkageName: "test_with_debug", scope: !2, file: !2, line: 6, type: !18, isLocal: false, isDefinition: true, scopeLine: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !4, variables: !20)
87 !18 = !DISubroutineType(types: !19)
88 !19 = !{null}
89 !20 = !{!21, !22}
90 !21 = !DILocalVariable(name: "c", scope: !17, file: !2, line: 7, type: !7)
91 !22 = !DILocalVariable(name: "lc", scope: !17, file: !2, line: 8, type: !3)
92 !23 = !DIExpression()
93 !24 = !DILocation(line: 0, scope: !17)
94 !25 = !DIExpression(DW_OP_deref)
95
22 ; RUN: llc -filetype=null -o %t -march=x86 %s
33 ; RUN: llc -filetype=null -o %t -mtriple=i686-cygwin %s
44
5 define void @f0() {
5 source_filename = "test/CodeGen/X86/null-streamer.ll"
6
7 define void @f0() {
68 ret void
79 }
810
1113 }
1214
1315 !llvm.dbg.cu = !{!0}
14 !llvm.module.flags = !{!11, !13}
16 !llvm.module.flags = !{!7, !8}
1517
16 !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: " ", isOptimized: true, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !9, imports: !2)
18 !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: " ", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !2, globals: !3, imports: !2)
1719 !1 = !DIFile(filename: "file.c", directory: "")
1820 !2 = !{}
19 !4 = distinct !DISubprogram(name: "", line: 2, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2, file: !1, scope: !1, type: !6, variables: !2)
20 !6 = !DISubroutineType(types: !7)
21 !7 = !{!8}
22 !8 = !DIBasicType(tag: DW_TAG_base_type, size: 32, align: 32, encoding: DW_ATE_signed)
23 !9 = !{!10}
24 !10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", linkageName: "_ZL1i", line: 1, isLocal: true, isDefinition: true, scope: null, file: !1, type: !8))
25 !11 = !{i32 2, !"Dwarf Version", i32 3}
26 !13 = !{i32 1, !"Debug Info Version", i32 3}
21 !3 = !{!4}
22 !4 = !DIGlobalVariableExpression(var: !5)
23 !5 = !DIGlobalVariable(name: "i", linkageName: "_ZL1i", scope: null, file: !1, line: 1, type: !6, isLocal: true, isDefinition: true)
24 !6 = !DIBasicType(size: 32, align: 32, encoding: DW_ATE_signed)
25 !7 = !{i32 2, !"Dwarf Version", i32 3}
26 !8 = !{i32 1, !"Debug Info Version", i32 3}
27
0 ; RUN: llc %s -filetype=asm -o -
11
2 source_filename = "test/DebugInfo/AArch64/big-endian.ll"
23 target datalayout = "E-m:e-i64:64-i128:128-n32:64-S128"
34 target triple = "aarch64_be--none-eabi"
45
5 @a = common global i32 0, align 4, !dbg !4
6 @a = common global i32 0, align 4, !dbg !0
67
7 !llvm.dbg.cu = !{!0}
8 !llvm.dbg.cu = !{!4}
89 !llvm.module.flags = !{!8, !9}
910 !llvm.ident = !{!10}
1011
11 !0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: true, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !3, imports: !2)
12 !1 = !DIFile(filename: "-", directory: "/work/validation")
13 !2 = !{}
14 !3 = !{!4}
15 !4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !7))
16 !5 = !DIFile(filename: "", directory: "/work/validation")
17 !6 = !{!"", !"/work/validation"}
18 !7 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
12 !0 = !DIGlobalVariableExpression(var: !1)
13 !1 = !DIGlobalVariable(name: "a", scope: null, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)
14 !2 = !DIFile(filename: "", directory: "/work/validation")
15 !3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
16 !4 = distinct !DICompileUnit(language: DW_LANG_C99, file: !5, producer: "clang version 3.6.0 ", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !6, retainedTypes: !6, globals: !7, imports: !6)
17 !5 = !DIFile(filename: "-", directory: "/work/validation")
18 !6 = !{}
19 !7 = !{!0}
1920 !8 = !{i32 2, !"Dwarf Version", i32 4}
2021 !9 = !{i32 2, !"Debug Info Version", i32 3}
2122 !10 = !{!"clang version 3.6.0 "}
23
4242 ; CHECK-NEXT: DW_AT_data_member_location {{.*}} 08
4343
4444 ; ModuleID = 'bitfields.c'
45 source_filename = "test/DebugInfo/AArch64/bitfields.ll"
4546 target datalayout = "E-m:e-i64:64-i128:128-n32:64-S128"
4647 target triple = "aarch64_be--linux-gnu"
4748
4849 %struct.bitfield = type <{ i8, [3 x i8], i64 }>
4950
50 @b = common global %struct.bitfield zeroinitializer, align 4, !dbg !4
51 @b = common global %struct.bitfield zeroinitializer, align 4, !dbg !0
5152
52 !llvm.dbg.cu = !{!0}
53 !llvm.dbg.cu = !{!2}
5354 !llvm.module.flags = !{!13, !14, !15}
5455 !llvm.ident = !{!16}
5556
56 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !2, globals: !3, imports: !2)
57 !1 = !DIFile(filename: "bitfields.c", directory: "/")
58 !2 = !{}
59 !3 = !{!4}
60 !4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", scope: !0, file: !5, line: 8, type: !6, isLocal: false, isDefinition: true))
61 !5 = !DIFile(filename: "bitfields.c", directory: "/")
62 !6 = !DICompositeType(tag: DW_TAG_structure_type, name: "bitfield", file: !5, line: 1, size: 96, elements: !7)
57 !0 = !DIGlobalVariableExpression(var: !1)
58 !1 = !DIGlobalVariable(name: "b", scope: !2, file: !3, line: 8, type: !6, isLocal: false, isDefinition: true)
59 !2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, retainedTypes: !4, globals: !5, imports: !4)
60 !3 = !DIFile(filename: "bitfields.c", directory: "/")
61 !4 = !{}
62 !5 = !{!0}
63 !6 = !DICompositeType(tag: DW_TAG_structure_type, name: "bitfield", file: !3, line: 1, size: 96, elements: !7)
6364 !7 = !{!8, !10, !11, !12}
64 !8 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !6, file: !5, line: 2, baseType: !9, size: 2)
65 !8 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !6, file: !3, line: 2, baseType: !9, size: 2)
6566 !9 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
66 !10 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !6, file: !5, line: 3, baseType: !9, size: 32, offset: 32)
67 !11 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !6, file: !5, line: 4, baseType: !9, size: 1, offset: 64)
68 !12 = !DIDerivedType(tag: DW_TAG_member, name: "d", scope: !6, file: !5, line: 5, baseType: !9, size: 28, offset: 65)
67 !10 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !6, file: !3, line: 3, baseType: !9, size: 32, offset: 32)
68 !11 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !6, file: !3, line: 4, baseType: !9, size: 1, offset: 64)
69 !12 = !DIDerivedType(tag: DW_TAG_member, name: "d", scope: !6, file: !3, line: 5, baseType: !9, size: 28, offset: 65)
6970 !13 = !{i32 2, !"Dwarf Version", i32 2}
7071 !14 = !{i32 2, !"Debug Info Version", i32 3}
7172 !15 = !{i32 1, !"PIC Level", i32 2}
7273 !16 = !{!"clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)"}
74
3232 ; f11(c);
3333 ; }
3434 ; ModuleID = 'test.cpp'
35 source_filename = "test/DebugInfo/AArch64/frameindices.ll"
3536 target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
3637 target triple = "aarch64-apple-ios"
3738
3839 %struct.A = type { i8, i8*, i8 }
3940 %struct.B = type { i8 }
4041
41 @a = global i64 0, align 8, !dbg !41
42 @b = global i32* null, align 8, !dbg !42
43
44 define void @_Z3f131A(%struct.A* nocapture readonly %p1) #0 !dbg !25 {
42 @a = global i64 0, align 8, !dbg !0
43 @b = global i32* null, align 8, !dbg !4
44
45 define void @_Z3f131A(%struct.A* nocapture readonly %p1) !dbg !32 {
4546 entry:
4647 %agg.tmp = alloca %struct.A, align 8
47 tail call void @llvm.dbg.declare(metadata %struct.A* %p1, metadata !30, metadata !46), !dbg !47
48 %0 = load i64, i64* @a, align 8, !dbg !48, !tbaa !49
49 %call = tail call noalias i8* @_Znwm(i64 %0) #5, !dbg !53
50 store i8* %call, i8** bitcast (i32** @b to i8**), align 8, !dbg !54, !tbaa !55
51 %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp, i64 0, i32 0, !dbg !57
52 %2 = getelementptr inbounds %struct.A, %struct.A* %p1, i64 0, i32 0, !dbg !57
53 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1, i8* %2, i64 24, i32 8, i1 false), !dbg !57, !tbaa.struct !58
54 call void @_Z2f91A(%struct.A* %agg.tmp), !dbg !61
55 ret void, !dbg !62
48 tail call void @llvm.dbg.declare(metadata %struct.A* %p1, metadata !36, metadata !37), !dbg !38
49 %0 = load i64, i64* @a, align 8, !dbg !39, !tbaa !40
50 %call = tail call noalias i8* @_Znwm(i64 %0) #4, !dbg !44
51 store i8* %call, i8** bitcast (i32** @b to i8**), align 8, !dbg !45, !tbaa !46
52 %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp, i64 0, i32 0, !dbg !48
53 %2 = getelementptr inbounds %struct.A, %struct.A* %p1, i64 0, i32 0, !dbg !48
54 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1, i8* %2, i64 24, i32 8, i1 false), !dbg !48, !tbaa.struct !49
55 call void @_Z2f91A(%struct.A* %agg.tmp), !dbg !52
56 ret void, !dbg !53
5657 }
5758
5859 ; Function Attrs: nounwind readnone
59 declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
60 declare void @llvm.dbg.declare(metadata, metadata, metadata) #0
6061
6162 ; Function Attrs: nobuiltin
62 declare noalias i8* @_Znwm(i64) #2
63
64 declare void @_Z2f91A(%struct.A*) #0
65
66 ; Function Attrs: nounwind
67 declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #3
68
69 define void @_Z3f111A(%struct.A* nocapture readonly %p1) #0 !dbg !31 {
63 declare noalias i8* @_Znwm(i64) #1
64
65 declare void @_Z2f91A(%struct.A*)
66
67 ; Function Attrs: argmemonly nounwind
68 declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #2
69
70 define void @_Z3f111A(%struct.A* nocapture readonly %p1) !dbg !54 {
7071 entry:
7172 %agg.tmp.i = alloca %struct.A, align 8
72 tail call void @llvm.dbg.declare(metadata %struct.A* %p1, metadata !33, metadata !46), !dbg !63
73 %0 = getelementptr inbounds %struct.A, %struct.A* %p1, i64 0, i32 0, !dbg !64
74 %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i, i64 0, i32 0, !dbg !65
75 call void @llvm.lifetime.start(i64 24, i8* %1), !dbg !65
76 %2 = load i64, i64* @a, align 8, !dbg !67, !tbaa !49
77 %call.i = tail call noalias i8* @_Znwm(i64 %2) #5, !dbg !68
78 store i8* %call.i, i8** bitcast (i32** @b to i8**), align 8, !dbg !69, !tbaa !55
79 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1, i8* %0, i64 24, i32 8, i1 false), !dbg !70
80 call void @_Z2f91A(%struct.A* %agg.tmp.i), !dbg !71
81 call void @llvm.lifetime.end(i64 24, i8* %1), !dbg !72
82 ret void, !dbg !73
73 tail call void @llvm.dbg.declare(metadata %struct.A* %p1, metadata !56, metadata !37), !dbg !57
74 %0 = getelementptr inbounds %struct.A, %struct.A* %p1, i64 0, i32 0, !dbg !58
75 %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i, i64 0, i32 0, !dbg !59
76 call void @llvm.lifetime.start(i64 24, i8* %1), !dbg !59
77 %2 = load i64, i64* @a, align 8, !dbg !61, !tbaa !40
78 %call.i = tail call noalias i8* @_Znwm(i64 %2) #4, !dbg !62
79 store i8* %call.i, i8** bitcast (i32** @b to i8**), align 8, !dbg !63, !tbaa !46
80 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1, i8* %0, i64 24, i32 8, i1 false), !dbg !64
81 call void @_Z2f91A(%struct.A* %agg.tmp.i), !dbg !65
82 call void @llvm.lifetime.end(i64 24, i8* %1), !dbg !66
83 ret void, !dbg !67
8384 }
8485
85 define void @_Z3f16v() #0 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) !dbg !34 {
86 define void @_Z3f16v() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) !dbg !68 {
8687 entry:
8788 %agg.tmp.i.i = alloca %struct.A, align 8
8889 %d = alloca %struct.B, align 1
8990 %agg.tmp.sroa.2 = alloca [15 x i8], align 1
9091 %agg.tmp.sroa.4 = alloca [7 x i8], align 1
91 tail call void @llvm.dbg.declare(metadata [15 x i8]* %agg.tmp.sroa.2, metadata !74, metadata !76), !dbg !77
92 tail call void @llvm.dbg.declare(metadata [7 x i8]* %agg.tmp.sroa.4, metadata !74, metadata !78), !dbg !77
93 tail call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !38, metadata !79), !dbg !80
94 %0 = load i64, i64* @a, align 8, !dbg !81, !tbaa !49
95 tail call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !39, metadata !79), !dbg !82
96 %call = call %struct.B* @_ZN1BC1El(%struct.B* %d, i64 %0), !dbg !82
97 call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !38, metadata !83), !dbg !80
98 call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !38, metadata !84), !dbg !80
99 call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !74, metadata !83), !dbg !77
100 call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !74, metadata !84), !dbg !77
101 call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !74, metadata !46), !dbg !77
102 %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i.i, i64 0, i32 0, !dbg !85
103 call void @llvm.lifetime.start(i64 24, i8* %1), !dbg !85
104 %2 = load i64, i64* @a, align 8, !dbg !87, !tbaa !49
105 %call.i.i5 = invoke noalias i8* @_Znwm(i64 %2) #5
106 to label %call.i.i.noexc unwind label %lpad, !dbg !88
92 tail call void @llvm.dbg.declare(metadata [15 x i8]* %agg.tmp.sroa.2, metadata !56, metadata !74), !dbg !75
93 tail call void @llvm.dbg.declare(metadata [7 x i8]* %agg.tmp.sroa.4, metadata !56, metadata !77), !dbg !75
94 tail call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !72, metadata !37), !dbg !78
95 %0 = load i64, i64* @a, align 8, !dbg !79, !tbaa !40
96 tail call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !73, metadata !37), !dbg !80
97 %call = call %struct.B* @_ZN1BC1El(%struct.B* %d, i64 %0), !dbg !80
98 call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !72, metadata !81), !dbg !78
99 call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !72, metadata !82), !dbg !78
100 call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !56, metadata !81), !dbg !75
101 call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !56, metadata !82), !dbg !75
102 call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !56, metadata !37), !dbg !75
103 %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i.i, i64 0, i32 0, !dbg !83
104 call void @llvm.lifetime.start(i64 24, i8* %1), !dbg !83
105 %2 = load i64, i64* @a, align 8, !dbg !85, !tbaa !40
106 %call.i.i5 = invoke noalias i8* @_Znwm(i64 %2) #4
107 to label %call.i.i.noexc unwind label %lpad, !dbg !86
107108
108109 call.i.i.noexc: ; preds = %entry
109 %agg.tmp.sroa.4.17..sroa_idx = getelementptr inbounds [7 x i8], [7 x i8]* %agg.tmp.sroa.4, i64 0, i64 0, !dbg !89
110 %agg.tmp.sroa.2.1..sroa_idx = getelementptr inbounds [15 x i8], [15 x i8]* %agg.tmp.sroa.2, i64 0, i64 0, !dbg !89
111 store i8* %call.i.i5, i8** bitcast (i32** @b to i8**), align 8, !dbg !90, !tbaa !55
112 store i8 1, i8* %1, align 8, !dbg !91
113 %agg.tmp.sroa.2.0..sroa_raw_idx = getelementptr inbounds i8, i8* %1, i64 1, !dbg !91
114 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %agg.tmp.sroa.2.0..sroa_raw_idx, i8* %agg.tmp.sroa.2.1..sroa_idx, i64 15, i32 1, i1 false), !dbg !91
115 %agg.tmp.sroa.3.0..sroa_idx = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i.i, i64 0, i32 2, !dbg !91
116 store i8 1, i8* %agg.tmp.sroa.3.0..sroa_idx, align 8, !dbg !91
117 %agg.tmp.sroa.4.0..sroa_raw_idx = getelementptr inbounds i8, i8* %1, i64 17, !dbg !91
118 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %agg.tmp.sroa.4.0..sroa_raw_idx, i8* %agg.tmp.sroa.4.17..sroa_idx, i64 7, i32 1, i1 false), !dbg !91
110 %agg.tmp.sroa.4.17..sroa_idx = getelementptr inbounds [7 x i8], [7 x i8]* %agg.tmp.sroa.4, i64 0, i64 0, !dbg !87
111 %agg.tmp.sroa.2.1..sroa_idx = getelementptr inbounds [15 x i8], [15 x i8]* %agg.tmp.sroa.2, i64 0, i64 0, !dbg !87
112 store i8* %call.i.i5, i8** bitcast (i32** @b to i8**), align 8, !dbg !88, !tbaa !46
113 store i8 1, i8* %1, align 8, !dbg !89
114 %agg.tmp.sroa.2.0..sroa_raw_idx = getelementptr inbounds i8, i8* %1, i64 1, !dbg !89
115 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %agg.tmp.sroa.2.0..sroa_raw_idx, i8* %agg.tmp.sroa.2.1..sroa_idx, i64 15, i32 1, i1 false), !dbg !89
116 %agg.tmp.sroa.3.0..sroa_idx = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i.i, i64 0, i32 2, !dbg !89
117 store i8 1, i8* %agg.tmp.sroa.3.0..sroa_idx, align 8, !dbg !89
118 %agg.tmp.sroa.4.0..sroa_raw_idx = getelementptr inbounds i8, i8* %1, i64 17, !dbg !89
119 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %agg.tmp.sroa.4.0..sroa_raw_idx, i8* %agg.tmp.sroa.4.17..sroa_idx, i64 7, i32 1, i1 false), !dbg !89
119120 invoke void @_Z2f91A(%struct.A* %agg.tmp.i.i)
120 to label %invoke.cont unwind label %lpad, !dbg !92
121 to label %invoke.cont unwind label %lpad, !dbg !90
121122
122123 invoke.cont: ; preds = %call.i.i.noexc
123 call void @llvm.lifetime.end(i64 24, i8* %1), !dbg !93
124 call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !39, metadata !79), !dbg !82
125 %call1 = call %struct.B* @_ZN1BD1Ev(%struct.B* %d) #3, !dbg !94
126 ret void, !dbg !94
124 call void @llvm.lifetime.end(i64 24, i8* %1), !dbg !91
125 call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !73, metadata !37), !dbg !80
126 %call1 = call %struct.B* @_ZN1BD1Ev(%struct.B* %d) #3, !dbg !92
127 ret void, !dbg !92
127128
128129 lpad: ; preds = %call.i.i.noexc, %entry
129130 %3 = landingpad { i8*, i32 }
130 cleanup, !dbg !94
131 call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !39, metadata !79), !dbg !82
132 %call2 = call %struct.B* @_ZN1BD1Ev(%struct.B* %d) #3, !dbg !94
133 resume { i8*, i32 } %3, !dbg !94
131 cleanup, !dbg !92
132 call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !73, metadata !37), !dbg !80
133 %call2 = call %struct.B* @_ZN1BD1Ev(%struct.B* %d) #3, !dbg !92
134 resume { i8*, i32 } %3, !dbg !92
134135 }
135136
136137 declare %struct.B* @_ZN1BC1El(%struct.B*, i64)
138139 declare i32 @__gxx_personality_v0(...)
139140
140141 ; Function Attrs: nounwind
141 declare %struct.B* @_ZN1BD1Ev(%struct.B*) #4
142 declare %struct.B* @_ZN1BD1Ev(%struct.B*) #3
142143
143144 ; Function Attrs: nounwind readnone
144 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
145
146 ; Function Attrs: nounwind
147 declare void @llvm.lifetime.start(i64, i8* nocapture) #3
148
149 ; Function Attrs: nounwind
150 declare void @llvm.lifetime.end(i64, i8* nocapture) #3
151
152 attributes #1 = { nounwind readnone }
153 attributes #2 = { nobuiltin }
145 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
146
147 ; Function Attrs: argmemonly nounwind
148 declare void @llvm.lifetime.start(i64, i8* nocapture) #2
149
150 ; Function Attrs: argmemonly nounwind
151 declare void @llvm.lifetime.end(i64, i8* nocapture) #2
152
153 attributes #0 = { nounwind readnone }
154 attributes #1 = { nobuiltin }
155 attributes #2 = { argmemonly nounwind }
154156 attributes #3 = { nounwind }
155 attributes #4 = { nounwind }
156 attributes #5 = { builtin }
157
158 !llvm.dbg.cu = !{!0}
159 !llvm.module.flags = !{!43, !44}
160 !llvm.ident = !{!45}
161
162 !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.7.0 ", isOptimized: true, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !3, globals: !40, imports: !2)
163 !1 = !DIFile(filename: "", directory: "")
164 !2 = !{}
165 !3 = !{!4, !12, !14}
166 !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "A", line: 2, size: 192, align: 64, file: !5, elements: !6, identifier: "_ZTS1A")
167 !5 = !DIFile(filename: "test.cpp", directory: "")
168 !6 = !{!7, !9, !11}
169 !7 = !DIDerivedType(tag: DW_TAG_member, name: "x4", line: 3, size: 8, align: 8, file: !5, scope: !4, baseType: !8)
170 !8 = !DIBasicType(tag: DW_TAG_base_type, name: "bool", size: 8, align: 8, encoding: DW_ATE_boolean)
171 !9 = !DIDerivedType(tag: DW_TAG_member, name: "x5", line: 4, size: 64, align: 64, offset: 64, file: !5, scope: !4, baseType: !10)
172 !10 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: null)
173 !11 = !DIDerivedType(tag: DW_TAG_member, name: "x6", line: 5, size: 8, align: 8, offset: 128, file: !5, scope: !4, baseType: !8)
174 !12 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !13)
175 !13 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
176 !14 = !DICompositeType(tag: DW_TAG_structure_type, name: "B", line: 8, size: 8, align: 8, file: !5, elements: !15, identifier: "_ZTS1B")
177 !15 = !{!16, !21}
178 !16 = !DISubprogram(name: "B", line: 9, isLocal: false, isDefinition: false, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 9, file: !5, scope: !14, type: !17)
179 !17 = !DISubroutineType(types: !18)
180 !18 = !{null, !19, !20}
181 !19 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer, baseType: !14)
182 !20 = !DIBasicType(tag: DW_TAG_base_type, name: "long int", size: 64, align: 64, encoding: DW_ATE_signed)
183 !21 = !DISubprogram(name: "~B", line: 10, isLocal: false, isDefinition: false, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 10, file: !5, scope: !14, type: !22)
157 attributes #4 = { builtin }
158
159 !llvm.dbg.cu = !{!8}
160 !llvm.module.flags = !{!29, !30}
161 !llvm.ident = !{!31}
162
163 !0 = !DIGlobalVariableExpression(var: !1)
164 !1 = !DIGlobalVariable(name: "a", scope: null, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)
165 !2 = !DIFile(filename: "test.cpp", directory: "")
166 !3 = !DIBasicType(name: "long int", size: 64, align: 64, encoding: DW_ATE_signed)
167 !4 = !DIGlobalVariableExpression(var: !5)
168 !5 = !DIGlobalVariable(name: "b", scope: null, file: !2, line: 7, type: !6, isLocal: false, isDefinition: true)
169 !6 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64, align: 64)
170 !7 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
171 !8 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !9, producer: "clang version 3.7.0 ", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !10, retainedTypes: !11, globals: !28, imports: !10)
172 !9 = !DIFile(filename: "", directory: "")
173 !10 = !{}
174 !11 = !{!12, !6, !19}
175 !12 = !DICompositeType(tag: DW_TAG_structure_type, name: "A", file: !2, line: 2, size: 192, align: 64, elements: !13, identifier: "_ZTS1A")
176 !13 = !{!14, !16, !18}
177 !14 = !DIDerivedType(tag: DW_TAG_member, name: "x4", scope: !12, file: !2, line: 3, baseType: !15, size: 8, align: 8)
178 !15 = !DIBasicType(name: "bool", size: 8, align: 8, encoding: DW_ATE_boolean)
179 !16 = !DIDerivedType(tag: DW_TAG_member, name: "x5", scope: !12, file: !2, line: 4, baseType: !17, size: 64, align: 64, offset: 64)
180 !17 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64, align: 64)
181 !18 = !DIDerivedType(tag: DW_TAG_member, name: "x6", scope: !12, file: !2, line: 5, baseType: !15, size: 8, align: 8, offset: 128)
182 !19 = !DICompositeType(tag: DW_TAG_structure_type, name: "B", file: !2, line: 8, size: 8, align: 8, elements: !20, identifier: "_ZTS1B")
183 !20 = !{!21, !25}
184 !21 = !DISubprogram(name: "B", scope: !19, file: !2, line: 9, type: !22, isLocal: false, isDefinition: false, scopeLine: 9, flags: DIFlagPrototyped, isOptimized: true)
184185 !22 = !DISubroutineType(types: !23)
185 !23 = !{null, !19}
186 !25 = distinct !DISubprogram(name: "f13", linkageName: "_Z3f131A", line: 13, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 13, file: !5, scope: !26, type: !27, variables: !29)
187 !26 = !DIFile(filename: "test.cpp", directory: "")
188 !27 = !DISubroutineType(types: !28)
189 !28 = !{null, !4}
190 !29 = !{!30}
191 !30 = !DILocalVariable(name: "p1", line: 13, arg: 1, scope: !25, file: !26, type: !4)
192 !31 = distinct !DISubprogram(name: "f11", linkageName: "_Z3f111A", line: 17, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 17, file: !5, scope: !26, type: !27, variables: !32)
193 !32 = !{!33}
194 !33 = !DILocalVariable(name: "p1", line: 17, arg: 1, scope: !31, file: !26, type: !4)
195 !34 = distinct !DISubprogram(name: "f16", linkageName: "_Z3f16v", line: 18, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 18, file: !5, scope: !26, type: !35, variables: !37)
196 !35 = !DISubroutineType(types: !36)
197 !36 = !{null}
198 !37 = !{!38, !39}
199 !38 = !DILocalVariable(name: "c", line: 19, scope: !34, file: !26, type: !4)
200 !39 = !DILocalVariable(name: "d", line: 20, scope: !34, file: !26, type: !14)
201 !40 = !{!41, !42}
202 !41 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !26, type: !20))
203 !42 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", line: 7, isLocal: false, isDefinition: true, scope: null, file: !26, type: !12))
204 !43 = !{i32 2, !"Dwarf Version", i32 2}
205 !44 = !{i32 2, !"Debug Info Version", i32 3}
206 !45 = !{!"clang version 3.7.0 "}
207 !46 = !DIExpression(DW_OP_deref)
208 !47 = !DILocation(line: 13, column: 12, scope: !25)
209 !48 = !DILocation(line: 14, column: 37, scope: !25)
210 !49 = !{!50, !50, i64 0}
211 !50 = !{!"long", !51, i64 0}
212 !51 = !{!"omnipotent char", !52, i64 0}
213 !52 = !{!"Simple C/C++ TBAA"}
214 !53 = !DILocation(line: 14, column: 14, scope: !25)
215 !54 = !DILocation(line: 14, column: 5, scope: !25)
216 !55 = !{!56, !56, i64 0}
217 !56 = !{!"any pointer", !51, i64 0}
218 !57 = !DILocation(line: 15, column: 6, scope: !25)
219 !58 = !{i64 0, i64 1, !59, i64 8, i64 8, !55, i64 16, i64 1, !59}
220 !59 = !{!60, !60, i64 0}
221 !60 = !{!"bool", !51, i64 0}
222 !61 = !DILocation(line: 15, column: 3, scope: !25)
223 !62 = !DILocation(line: 16, column: 1, scope: !25)
224 !63 = !DILocation(line: 17, column: 12, scope: !31)
225 !64 = !DILocation(line: 17, column: 22, scope: !31)
226 !65 = !DILocation(line: 13, column: 12, scope: !25, inlinedAt: !66)
227 !66 = distinct !DILocation(line: 17, column: 18, scope: !31)
228 !67 = !DILocation(line: 14, column: 37, scope: !25, inlinedAt: !66)
229 !68 = !DILocation(line: 14, column: 14, scope: !25, inlinedAt: !66)
230 !69 = !DILocation(line: 14, column: 5, scope: !25, inlinedAt: !66)
231 !70 = !DILocation(line: 15, column: 6, scope: !25, inlinedAt: !66)
232 !71 = !DILocation(line: 15, column: 3, scope: !25, inlinedAt: !66)
233 !72 = !DILocation(line: 16, column: 1, scope: !25, inlinedAt: !66)
234 !73 = !DILocation(line: 17, column: 27, scope: !31)
235 !74 = !DILocalVariable(name: "p1", line: 17, arg: 1, scope: !31, file: !26, type: !4)
236 !75 = distinct !DILocation(line: 22, column: 3, scope: !34)
237 !76 = !DIExpression(DW_OP_LLVM_fragment, 8, 120)
238 !77 = !DILocation(line: 17, column: 12, scope: !31, inlinedAt: !75)
239 !78 = !DIExpression(DW_OP_LLVM_fragment, 136, 56)
240 !79 = !DIExpression(DW_OP_deref)
241 !80 = !DILocation(line: 19, column: 5, scope: !34)
242 !81 = !DILocation(line: 20, column: 7, scope: !34)
243 !82 = !DILocation(line: 20, column: 5, scope: !34)
244 !83 = !DIExpression(DW_OP_LLVM_fragment, 0, 8)
245 !84 = !DIExpression(DW_OP_LLVM_fragment, 128, 8)
246 !85 = !DILocation(line: 13, column: 12, scope: !25, inlinedAt: !86)
247 !86 = distinct !DILocation(line: 17, column: 18, scope: !31, inlinedAt: !75)
248 !87 = !DILocation(line: 14, column: 37, scope: !25, inlinedAt: !86)
249 !88 = !DILocation(line: 14, column: 14, scope: !25, inlinedAt: !86)
250 !89 = !DILocation(line: 22, column: 7, scope: !34)
251 !90 = !DILocation(line: 14, column: 5, scope: !25, inlinedAt: !86)
252 !91 = !DILocation(line: 15, column: 6, scope: !25, inlinedAt: !86)
253 !92 = !DILocation(line: 15, column: 3, scope: !25, inlinedAt: !86)
254 !93 = !DILocation(line: 16, column: 1, scope: !25, inlinedAt: !86)
255 !94 = !DILocation(line: 23, column: 1, scope: !34)
186 !23 = !{null, !24, !3}
187 !24 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !19, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
188 !25 = !DISubprogram(name: "~B", scope: !19, file: !2, line: 10, type: !26, isLocal: false, isDefinition: false, scopeLine: 10, flags: DIFlagPrototyped, isOptimized: true)
189 !26 = !DISubroutineType(types: !27)
190 !27 = !{null, !24}
191 !28 = !{!0, !4}
192 !29 = !{i32 2, !"Dwarf Version", i32 2}
193 !30 = !{i32 2, !"Debug Info Version", i32 3}
194 !31 = !{!"clang version 3.7.0 "}
195 !32 = distinct !DISubprogram(name: "f13", linkageName: "_Z3f131A", scope: !2, file: !2, line: 13, type: !33, isLocal: false, isDefinition: true, scopeLine: 13, flags: DIFlagPrototyped, isOptimized: true, unit: !8, variables: !35)
196 !33 = !DISubroutineType(types: !34)
197 !34 = !{null, !12}
198 !35 = !{!36}
199 !36 = !DILocalVariable(name: "p1", arg: 1, scope: !32, file: !2, line: 13, type: !12)
200 !37 = !DIExpression(DW_OP_deref)
201 !38 = !DILocation(line: 13, column: 12, scope: !32)
202 !39 = !DILocation(line: 14, column: 37, scope: !32)
203 !40 = !{!41, !41, i64 0}
204 !41 = !{!"long", !42, i64 0}
205 !42 = !{!"omnipotent char", !43, i64 0}
206 !43 = !{!"Simple C/C++ TBAA"}
207 !44 = !DILocation(line: 14, column: 14, scope: !32)
208 !45 = !DILocation(line: 14, column: 5, scope: !32)
209 !46 = !{!47, !47, i64 0}
210 !47 = !{!"any pointer", !42, i64 0}
211 !48 = !DILocation(line: 15, column: 6, scope: !32)
212 !49 = !{i64 0, i64 1, !50, i64 8, i64 8, !46, i64 16, i64 1, !50}
213 !50 = !{!51, !51, i64 0}
214 !51 = !{!"bool", !42, i64 0}
215 !52 = !DILocation(line: 15, column: 3, scope: !32)
216 !53 = !DILocation(line: 16, column: 1, scope: !32)
217 !54 = distinct !DISubprogram(name: "f11", linkageName: "_Z3f111A", scope: !2, file: !2, line: 17, type: !33, isLocal: false, isDefinition: true, scopeLine: 17, flags: DIFlagPrototyped, isOptimized: true, unit: !8, variables: !55)
218 !55 = !{!56}
219 !56 = !DILocalVariable(name: "p1", arg: 1, scope: !54, file: !2, line: 17, type: !12)
220 !57 = !DILocation(line: 17, column: 12, scope: !54)
221 !58 = !DILocation(line: 17, column: 22, scope: !54)
222 !59 = !DILocation(line: 13, column: 12, scope: !32, inlinedAt: !60)
223 !60 = distinct !DILocation(line: 17, column: 18, scope: !54)
224 !61 = !DILocation(line: 14, column: 37, scope: !32, inlinedAt: !60)
225 !62 = !DILocation(line: 14, column: 14, scope: !32, inlinedAt: !60)
226 !63 = !DILocation(line: 14, column: 5, scope: !32, inlinedAt: !60)
227 !64 = !DILocation(line: 15, column: 6, scope: !32, inlinedAt: !60)
228 !65 = !DILocation(line: 15, column: 3, scope: !32, inlinedAt: !60)
229 !66 = !DILocation(line: 16, column: 1, scope: !32, inlinedAt: !60)
230 !67 = !DILocation(line: 17, column: 27, scope: !54)
231 !68 = distinct !DISubprogram(name: "f16", linkageName: "_Z3f16v", scope: !2, file: !2, line: 18, type: !69, isLocal: false, isDefinition: true, scopeLine: 18, flags: DIFlagPrototyped, isOptimized: true, unit: !8, variables: !71)
232 !69 = !DISubroutineType(types: !70)
233 !70 = !{null}
234 !71 = !{!72, !73}
235 !72 = !DILocalVariable(name: "c", scope: !68, file: !2, line: 19, type: !12)
236 !73 = !DILocalVariable(name: "d", scope: !68, file: !2, line: 20, type: !19)
237 !74 = !DIExpression(DW_OP_LLVM_fragment, 8, 120)
238 !75 = !DILocation(line: 17, column: 12, scope: !54, inlinedAt: !76)
239 !76 = distinct !DILocation(line: 22, column: 3, scope: !68)
240 !77 = !DIExpression(DW_OP_LLVM_fragment, 136, 56)
241 !78 = !DILocation(line: 19, column: 5, scope: !68)
242 !79 = !DILocation(line: 20, column: 7, scope: !68)
243 !80 = !DILocation(line: 20, column: 5, scope: !68)
244 !81 = !DIExpression(DW_OP_LLVM_fragment, 0, 8)
245 !82 = !DIExpression(DW_OP_LLVM_fragment, 128, 8)
246 !83 = !DILocation(line: 13, column: 12, scope: !32, inlinedAt: !84)
247 !84 = distinct !DILocation(line: 17, column: 18, scope: !54, inlinedAt: !76)
248 !85 = !DILocation(line: 14, column: 37, scope: !32, inlinedAt: !84)
249 !86 = !DILocation(line: 14, column: 14, scope: !32, inlinedAt: !84)
250 !87 = !DILocation(line: 22, column: 7, scope: !68)
251 !88 = !DILocation(line: 14, column: 5, scope: !32, inlinedAt: !84)
252 !89 = !DILocation(line: 15, column: 6, scope: !32, inlinedAt: !84)
253 !90 = !DILocation(line: 15, column: 3, scope: !32, inlinedAt: !84)
254 !91 = !DILocation(line: 16, column: 1, scope: !32, inlinedAt: !84)
255 !92 = !DILocation(line: 23, column: 1, scope: !68)
256
77 ; int n:8;
88 ; } s;
99
10 source_filename = "test/DebugInfo/ARM/big-endian-bitfield.ll"
1011 target datalayout = "E-m:e-p:32:32-i64:64-v128:64:128-n32-S64"
1112
1213 %struct.S = type { i24 }
1314
14 @s = common global %struct.S zeroinitializer, align 4, !dbg !4
15 @s = common global %struct.S zeroinitializer, align 4, !dbg !0
1516
16 !llvm.dbg.cu = !{!0}
17 !llvm.module.flags = !{!12, !13, !14}
18 !llvm.ident = !{!15}
17 !llvm.dbg.cu = !{!2}
18 !llvm.module.flags = !{!13, !14, !15}
19 !llvm.ident = !{!16}
1920
20 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.9.0 (trunk 267633)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, globals: !3)
21 !1 = !DIFile(filename: "bitfield.c", directory: "/Volumes/Data/llvm")
22 !2 = !{}
23 !3 = !{!4}
24 !4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s", scope: !0, file: !1, line: 6, type: !5, isLocal: false, isDefinition: true))
25 !5 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !1, line: 1, size: 32, elements: !6)
26 !6 = !{!7, !9, !10, !11}
21 !0 = distinct !DIGlobalVariableExpression(var: !1)
22 !1 = !DIGlobalVariable(name: "s", scope: !2, file: !3, line: 6, type: !6, isLocal: false, isDefinition: true)
23 !2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 3.9.0 (trunk 267633)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5)
24 !3 = !DIFile(filename: "bitfield.c", directory: "/Volumes/Data/llvm")
25 !4 = !{}
26 !5 = !{!0}
27 !6 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !3, line: 1, size: 32, elements: !7)
28 !7 = !{!8, !10, !11, !12}
29 !8 = !DIDerivedType(tag: DW_TAG_member, name: "j", scope: !6, file: !3, line: 2, baseType: !9, size: 5)
2730 ; CHECK: DW_TAG_member
2831 ; CHECK-NEXT: DW_AT_name{{.*}}"j"
2932 ; CHECK-NOT: DW_TAG
3033 ; CHECK: DW_AT_data_bit_offset [DW_FORM_data1] (0x00)
31 !7 = !DIDerivedType(tag: DW_TAG_member, name: "j", scope: !5, file: !1, line: 2, baseType: !8, size: 5)
32 !8 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
34 !9 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
35 !10 = !DIDerivedType(tag: DW_TAG_member, name: "k", scope: !6, file: !3, line: 3, baseType: !9, size: 6, offset: 5)
36 !11 = !DIDerivedType(tag: DW_TAG_member, name: "m", scope: !6, file: !3, line: 4, baseType: !9, size: 5, offset: 11)
37 !12 = !DIDerivedType(tag: DW_TAG_member, name: "n", scope: !6, file: !3, line: 5, baseType: !9, size: 8, offset: 16)
38 !13 = !{i32 2, !"Dwarf Version", i32 4}
3339 ; CHECK: DW_TAG_member
3440 ; CHECK-NEXT: DW_AT_name{{.*}}"k"
3541 ; CHECK-NOT: DW_TAG
3642 ; CHECK: DW_AT_data_bit_offset [DW_FORM_data1] (0x05)
37 !9 = !DIDerivedType(tag: DW_TAG_member, name: "k", scope: !5, file: !1, line: 3, baseType: !8, size: 6, offset: 5)
43 !14 = !{i32 2, !"Debug Info Version", i32 3}
3844 ; CHECK: DW_TAG_member
3945 ; CHECK-NEXT: DW_AT_name{{.*}}"m"
4046 ; CHECK-NOT: DW_TAG
4147 ; CHECK: DW_AT_data_bit_offset [DW_FORM_data1] (0x0b)
42 !10 = !DIDerivedType(tag: DW_TAG_member, name: "m", scope: !5, file: !1, line: 4, baseType: !8, size: 5, offset: 11)
48 !15 = !{i32 1, !"PIC Level", i32 2}
4349 ; CHECK: DW_TAG_member
4450 ; CHECK-NEXT: DW_AT_name{{.*}}"n"
4551 ; CHECK-NOT: DW_TAG
4652 ; CHECK: DW_AT_data_bit_offset [DW_FORM_data1] (0x10)
47 !11 = !DIDerivedType(tag: DW_TAG_member, name: "n", scope: !5, file: !1, line: 5, baseType: !8, size: 8, offset: 16)
48 !12 = !{i32 2, !"Dwarf Version", i32 4}
49 !13 = !{i32 2, !"Debug Info Version", i32 3}
50 !14 = !{i32 1, !"PIC Level", i32 2}
51 !15 = !{!"clang version 3.9.0 (trunk 267633)"}
53 !16 = !{!"clang version 3.9.0 (trunk 267633)"}
54
1414 ; CHECK: DW_AT_bit_size {{.*}} (0x1c)
1515 ; CHECK: DW_AT_bit_offset {{.*}} (0xfffffffffffffff8)
1616 ; CHECK: DW_AT_data_member_location {{.*}}00
17 source_filename = "test/DebugInfo/ARM/bitfield.ll"
1718 target datalayout = "e-m:o-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
1819 target triple = "thumbv7-apple-ios"
1920
2021 %struct.anon = type { i8, [5 x i8] }
2122
22 @a = common global %struct.anon zeroinitializer, align 1, !dbg !4
23 @a = common global %struct.anon zeroinitializer, align 1, !dbg !0
2324
24 !llvm.dbg.cu = !{!0}
25 !llvm.module.flags = !{!11, !12, !13, !14, !15}
26 !llvm.ident = !{!16}
25 !llvm.dbg.cu = !{!2}
26 !llvm.module.flags = !{!12, !13, !14, !15, !16}
27 !llvm.ident = !{!17}
2728
28 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !2, globals: !3, imports: !2)
29 !1 = !DIFile(filename: "test.i", directory: "/")
30 !2 = !{}
31 !3 = !{!4}
32 !4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 5, type: !5, isLocal: false, isDefinition: true))
33 !5 = !DICompositeType(tag: DW_TAG_structure_type, file: !1, line: 1, size: 48, align: 8, elements: !6)
34 !6 = !{!7, !9}
35 !7 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !5, file: !1, line: 2, baseType: !8, size: 8, align: 8)
36 !8 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
37 !9 = !DIDerivedType(tag: DW_TAG_member, name: "reserved", scope: !5, file: !1, line: 4, baseType: !10, size: 28, align: 32, offset: 12)
38 !10 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
39 !11 = !{i32 2, !"Dwarf Version", i32 2}
40 !12 = !{i32 2, !"Debug Info Version", i32 3}
41 !13 = !{i32 1, !"wchar_size", i32 4}
42 !14 = !{i32 1, !"min_enum_size", i32 4}
43 !15 = !{i32 1, !"PIC Level", i32 2}
44 !16 = !{!"clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)"}
29 !0 = !DIGlobalVariableExpression(var: !1)
30 !1 = !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 5, type: !6, isLocal: false, isDefinition: true)
31 !2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, retainedTypes: !4, globals: !5, imports: !4)
32 !3 = !DIFile(filename: "test.i", directory: "/")
33 !4 = !{}
34 !5 = !{!0}
35 !6 = !DICompositeType(tag: DW_TAG_structure_type, file: !3, line: 1, size: 48, align: 8, elements: !7)
36 !7 = !{!8, !10}
37 !8 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !6, file: !3, line: 2, baseType: !9, size: 8, align: 8)
38 !9 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
39 !10 = !DIDerivedType(tag: DW_TAG_member, name: "reserved", scope: !6, file: !3, line: 4, baseType: !11, size: 28, align: 32, offset: 12)
40 !11 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
41 !12 = !{i32 2, !"Dwarf Version", i32 2}
42 !13 = !{i32 2, !"Debug Info Version", i32 3}
43 !14 = !{i32 1, !"wchar_size", i32 4}
44 !15 = !{i32 1, !"min_enum_size", i32 4}
45 !16 = !{i32 1, !"PIC Level", i32 2}
46 !17 = !{!"clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)"}
47
1111 ; CHECK: .loc 1 7 7
1212 ; CHECK: mov r{{[0-9]}}, #0
1313
14 source_filename = "test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll"
1415 target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
1516 target triple = "armv7--linux-gnueabihf"
1617
17 @ch = common global i8 0, align 1, !dbg !8
18 @b = common global i32 0, align 4, !dbg !10
18 @ch = common global i8 0, align 1, !dbg !0
19 @b = common global i32 0, align 4, !dbg !5
1920
2021 ; Function Attrs: nounwind
21 define void @proc() #0 !dbg !4 {
22 define void @proc() #0 !dbg !13 {
2223 entry:
2324 store i8 65, i8* @ch, align 1, !dbg !17
2425 store i32 0, i32* @b, align 4, !dbg !18
2728
2829 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="cortex-a8" "target-features"="+neon,+vfp3" "unsafe-fp-math"="false" "use-soft-float"="false" }
2930
30 !llvm.dbg.cu = !{!0}
31 !llvm.module.flags = !{!12, !13, !14, !15}
32 !llvm.ident = !{!16}
31 !llvm.dbg.cu = !{!2}
32 !llvm.module.flags = !{!8, !9, !10, !11}
33 !llvm.ident = !{!12}
3334
34 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "", isOptimized: false, emissionKind: FullDebug)
35 !1 = !DIFile(filename: "test.c", directory: "/home/user/clang/build")
36 !2 = !{}
37 !4 = distinct !DISubprogram(name: "proc", scope: !1, file: !1, line: 4, type: !5, isLocal: false, isDefinition: true, scopeLine: 5, flags: DIFlagPrototyped, isOptimized: false, unit: !0, variables: !2)
38 !5 = !DISubroutineType(types: !6)
39 !6 = !{null}
40 !7 = !{!8, !10}
41 !8 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ch", scope: !0, file: !1, line: 1, type: !9, isLocal: false, isDefinition: true))
42 !9 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
43 !10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", scope: !0, file: !1, line: 2, type: !11, isLocal: false, isDefinition: true))
44 !11 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
45 !12 = !{i32 2, !"Dwarf Version", i32 4}
46 !13 = !{i32 2, !"Debug Info Version", i32 3}
47 !14 = !{i32 1, !"wchar_size", i32 4}
48 !15 = !{i32 1, !"min_enum_size", i32 4}
49 !16 = !{!"clang version 3.7.0 (http://llvm.org/git/clang.git 9b0abb9df531ef7928c8182120e1869affca17d5) (http://llvm.org/git/llvm.git b1e759524dd94f7ce1e24935daed8383927e96c1)"}
50 !17 = !DILocation(line: 6, column: 8, scope: !4)
51 !18 = !DILocation(line: 7, column: 7, scope: !4)
52 !19 = !DILocation(line: 8, column: 1, scope: !4)
35 !0 = !DIGlobalVariableExpression(var: !1)
36 !1 = !DIGlobalVariable(name: "ch", scope: !2, file: !3, line: 1, type: !4, isLocal: false, isDefinition: true)
37 !2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
38 !3 = !DIFile(filename: "test.c", directory: "/home/user/clang/build")
39 !4 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
40 !5 = !DIGlobalVariableExpression(var: !6)
41 !6 = !DIGlobalVariable(name: "b", scope: !2, file: !3, line: 2, type: !7, isLocal: false, isDefinition: true)
42 !7 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
43 !8 = !{i32 2, !"Dwarf Version", i32 4}
44 !9 = !{i32 2, !"Debug Info Version", i32 3}
45 !10 = !{i32 1, !"wchar_size", i32 4}
46 !11 = !{i32 1, !"min_enum_size", i32 4}
47 !12 = !{!"clang version 3.7.0 (http://llvm.org/git/clang.git 9b0abb9df531ef7928c8182120e1869affca17d5) (http://llvm.org/git/llvm.git b1e759524dd94f7ce1e24935daed8383927e96c1)"}
48 !13 = distinct !DISubprogram(name: "proc", scope: !3, file: !3, line: 4, type: !14, isLocal: false, isDefinition: true, scopeLine: 5, flags: DIFlagPrototyped, isOptimized: false, unit: !2, variables: !16)
49 !14 = !DISubroutineType(types: !15)
50 !15 = !{null}