diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2016-09-13 01:12:59 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2016-09-13 01:12:59 +0000 |
commit | d4135bbc30de3d3dbd44d64d718fb2169f41bae0 (patch) | |
tree | 0b96e34c50822aed89a2272d9e9f3688bc3a0e46 /llvm/test/CodeGen | |
parent | efc066758309683482edd289d82ec7670d38931f (diff) | |
download | bcm5719-llvm-d4135bbc30de3d3dbd44d64d718fb2169f41bae0.tar.gz bcm5719-llvm-d4135bbc30de3d3dbd44d64d718fb2169f41bae0.zip |
DebugInfo: New metadata representation for global variables.
This patch reverses the edge from DIGlobalVariable to GlobalVariable.
This will allow us to more easily preserve debug info metadata when
manipulating global variables.
Fixes PR30362. A program for upgrading test cases is attached to that
bug.
Differential Revision: http://reviews.llvm.org/D20147
llvm-svn: 281284
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r-- | llvm/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll | 4 | ||||
-rw-r--r-- | llvm/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll | 24 | ||||
-rw-r--r-- | llvm/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll | 12 | ||||
-rw-r--r-- | llvm/test/CodeGen/ARM/coalesce-dbgvalue.ll | 16 | ||||
-rw-r--r-- | llvm/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll | 5 | ||||
-rw-r--r-- | llvm/test/CodeGen/PowerPC/pr17168.ll | 4 | ||||
-rw-r--r-- | llvm/test/CodeGen/PowerPC/pr24546.ll | 4 | ||||
-rw-r--r-- | llvm/test/CodeGen/X86/fpstack-debuginstr-kill.ll | 8 | ||||
-rw-r--r-- | llvm/test/CodeGen/X86/misched-code-difference-with-debug.ll | 4 |
9 files changed, 40 insertions, 41 deletions
diff --git a/llvm/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll b/llvm/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll index 5ae1b6626f1..7a202ddab09 100644 --- a/llvm/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll +++ b/llvm/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll @@ -3,7 +3,7 @@ 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" target triple = "thumbv7-apple-darwin3.0.0-iphoneos" -@length = common global i32 0, align 4 ; <i32*> [#uses=1] +@length = common global i32 0, align 4, !dbg !14 ; <i32*> [#uses=1] define void @x0(i8* nocapture %buf, i32 %nbytes) nounwind optsize { entry: @@ -60,7 +60,7 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon !11 = distinct !DILexicalBlock(line: 5, column: 1, file: !26, scope: !1) !12 = !DILocalVariable(name: "c", line: 7, scope: !11, file: !2, type: !13) !13 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed) -!14 = !DIGlobalVariable(name: "length", linkageName: "length", line: 1, isLocal: false, isDefinition: true, scope: !2, file: !2, type: !13, variable: i32* @length) +!14 = !DIGlobalVariable(name: "length", linkageName: "length", line: 1, isLocal: false, isDefinition: true, scope: !2, file: !2, type: !13) !15 = !DILocation(line: 4, column: 24, scope: !1) !16 = !DILocation(line: 4, column: 43, scope: !1) !17 = !DILocation(line: 9, column: 2, scope: !11) diff --git a/llvm/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll b/llvm/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll index 8c6cf00cc3a..1dce3d2d836 100644 --- a/llvm/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll +++ b/llvm/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll @@ -3,11 +3,11 @@ 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" target triple = "thumbv7-apple-darwin10" -@x1 = internal global i8 1, align 1 -@x2 = internal global i8 1, align 1 -@x3 = internal global i8 1, align 1 -@x4 = internal global i8 1, align 1 -@x5 = global i8 1, align 1 +@x1 = internal global i8 1, align 1, !dbg !13 +@x2 = internal global i8 1, align 1, !dbg !14 +@x3 = internal global i8 1, align 1, !dbg !15 +@x4 = internal global i8 1, align 1, !dbg !16 +@x5 = global i8 1, align 1, !dbg !17 ; Check debug info output for merged global. ; DW_AT_location @@ -21,12 +21,12 @@ target triple = "thumbv7-apple-darwin10" ; CHECK-NOT: DW_TAG ; CHECK: DW_AT_name {{.*}} "x1" ; CHECK-NOT: {{DW_TAG|NULL}} -; CHECK: DW_AT_location [DW_FORM_exprloc] (<0x8> 03 [[ADDR:.. .. .. ..]] 10 00 22 ) +; CHECK: DW_AT_location [DW_FORM_exprloc] (<0x5> 03 [[ADDR:.. .. .. ..]] ) ; CHECK: DW_TAG_variable ; CHECK-NOT: DW_TAG ; CHECK: DW_AT_name {{.*}} "x2" ; CHECK-NOT: {{DW_TAG|NULL}} -; CHECK: DW_AT_location [DW_FORM_exprloc] (<0x8> 03 [[ADDR]] 10 01 22 ) +; CHECK: DW_AT_location [DW_FORM_exprloc] (<0x7> 03 [[ADDR]] 23 01 ) define zeroext i8 @get1(i8 zeroext %a) nounwind optsize !dbg !0 { entry: @@ -91,11 +91,11 @@ entry: !10 = !DILocalVariable(name: "a", line: 4, arg: 1, scope: !0, file: !1, type: !5) !11 = !DILocalVariable(name: "b", line: 4, scope: !12, file: !1, type: !5) !12 = distinct !DILexicalBlock(line: 4, column: 0, file: !47, scope: !0) -!13 = !DIGlobalVariable(name: "x1", line: 3, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5, variable: i8* @x1) -!14 = !DIGlobalVariable(name: "x2", line: 6, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5, variable: i8* @x2) -!15 = !DIGlobalVariable(name: "x3", line: 9, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5, variable: i8* @x3) -!16 = !DIGlobalVariable(name: "x4", line: 12, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5, variable: i8* @x4) -!17 = !DIGlobalVariable(name: "x5", line: 15, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5, variable: i8* @x5) +!13 = !DIGlobalVariable(name: "x1", line: 3, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5) +!14 = !DIGlobalVariable(name: "x2", line: 6, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5) +!15 = !DIGlobalVariable(name: "x3", line: 9, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5) +!16 = !DIGlobalVariable(name: "x4", line: 12, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5) +!17 = !DIGlobalVariable(name: "x5", line: 15, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5) !18 = !DILocalVariable(name: "a", line: 7, arg: 1, scope: !6, file: !1, type: !5) !19 = !DILocalVariable(name: "b", line: 7, scope: !20, file: !1, type: !5) !20 = distinct !DILexicalBlock(line: 7, column: 0, file: !47, scope: !6) diff --git a/llvm/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll b/llvm/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll index 4da4fd4c926..1303aa195fd 100644 --- a/llvm/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll +++ b/llvm/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll @@ -12,18 +12,18 @@ ; CHECK-NOT: DW_TAG ; CHECK: DW_AT_name {{.*}} "x1" ; CHECK-NOT: {{DW_TAG|NULL}} -; CHECK: DW_AT_location [DW_FORM_exprloc] (<0x8> 03 [[ADDR:.. .. .. ..]] 10 00 22 ) +; CHECK: DW_AT_location [DW_FORM_exprloc] (<0x5> 03 [[ADDR:.. .. .. ..]] ) ; CHECK: DW_TAG_variable ; CHECK-NOT: DW_TAG ; CHECK: DW_AT_name {{.*}} "x2" ; CHECK-NOT: {{DW_TAG|NULL}} -; CHECK: DW_AT_location [DW_FORM_exprloc] (<0x8> 03 [[ADDR]] 10 04 22 ) +; CHECK: DW_AT_location [DW_FORM_exprloc] (<0x7> 03 [[ADDR]] 23 04 ) 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" target triple = "thumbv7-apple-macosx10.7.0" -@x1 = internal unnamed_addr global i32 1, align 4 -@x2 = internal unnamed_addr global i32 2, align 4 +@x1 = internal unnamed_addr global i32 1, align 4, !dbg !25 +@x2 = internal unnamed_addr global i32 2, align 4, !dbg !26 @x3 = internal unnamed_addr global i32 3, align 4 @x4 = internal unnamed_addr global i32 4, align 4 @x5 = global i32 0, align 4 @@ -95,8 +95,8 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon !19 = !DILocalVariable(name: "a", line: 14, arg: 1, scope: !8, file: !2, type: !5) !20 = !DILocalVariable(name: "b", line: 14, scope: !21, file: !2, type: !5) !21 = distinct !DILexicalBlock(line: 14, column: 19, file: !47, scope: !8) -!25 = !DIGlobalVariable(name: "x1", line: 4, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5, variable: i32* @x1) -!26 = !DIGlobalVariable(name: "x2", line: 7, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5, variable: i32* @x2) +!25 = !DIGlobalVariable(name: "x1", line: 4, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5) +!26 = !DIGlobalVariable(name: "x2", line: 7, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5) !27 = !DILocalVariable(name: "a", line: 17, arg: 1, scope: !9, file: !2, type: !5) !28 = !DILocalVariable(name: "b", line: 17, scope: !29, file: !2, type: !5) !29 = distinct !DILexicalBlock(line: 17, column: 19, file: !47, scope: !9) diff --git a/llvm/test/CodeGen/ARM/coalesce-dbgvalue.ll b/llvm/test/CodeGen/ARM/coalesce-dbgvalue.ll index cd45af338fd..bf718db322e 100644 --- a/llvm/test/CodeGen/ARM/coalesce-dbgvalue.ll +++ b/llvm/test/CodeGen/ARM/coalesce-dbgvalue.ll @@ -9,10 +9,10 @@ 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" target triple = "thumbv7-apple-ios3.0.0" -@c = common global i32 0, align 4 -@b = common global i32 0, align 4 -@a = common global i64 0, align 8 -@d = common global i32 0, align 4 +@c = common global i32 0, align 4, !dbg !19 +@b = common global i32 0, align 4, !dbg !18 +@a = common global i64 0, align 8, !dbg !16 +@d = common global i32 0, align 4, !dbg !20 ; Function Attrs: nounwind ssp define i32 @pr16110() #0 !dbg !4 { @@ -94,11 +94,11 @@ attributes #3 = { nounwind } !13 = distinct !DILexicalBlock(line: 12, column: 0, file: !1, scope: !4) !14 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, baseType: !8) !15 = !{!16, !18, !19, !20} -!16 = !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !17, variable: i64* @a) +!16 = !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !17) !17 = !DIBasicType(tag: DW_TAG_base_type, name: "long long int", size: 64, align: 32, encoding: DW_ATE_signed) -!18 = !DIGlobalVariable(name: "b", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8, variable: i32* @b) -!19 = !DIGlobalVariable(name: "c", line: 3, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8, variable: i32* @c) -!20 = !DIGlobalVariable(name: "d", line: 4, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8, variable: i32* @d) +!18 = !DIGlobalVariable(name: "b", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8) +!19 = !DIGlobalVariable(name: "c", line: 3, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8) +!20 = !DIGlobalVariable(name: "d", line: 4, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8) !21 = !DILocation(line: 10, scope: !22) !22 = distinct !DILexicalBlock(line: 10, column: 0, file: !1, scope: !4) !26 = !DILocation(line: 12, scope: !13) diff --git a/llvm/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll b/llvm/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll index 4b33d270035..623a2d8740c 100644 --- a/llvm/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll +++ b/llvm/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll @@ -7,7 +7,7 @@ target triple = "nvptx64-nvidia-cuda" ; Generic space variables should be converted to global space AKA addrspace(1). ; CHECK-DAG: @static_var = {{.*}}addrspace(1) -@static_var = externally_initialized global i8 0, align 1 +@static_var = externally_initialized global i8 0, align 1, !dbg !4 ; CHECK-DAG: @.str = {{.*}}addrspace(1) @.str = private unnamed_addr constant [4 x i8] c"XXX\00", align 1 @@ -43,12 +43,11 @@ declare void @extfunc(i8 signext) ; Find list of global variables and make sure it's the one used by DICompileUnit ; CHECK: [[GLOBALSNODE]] = !{[[GVNODE:![0-9]+]]} !4 = distinct !DIGlobalVariable(name: "static_var", scope: !0, file: !1, line: 2, type: !5, isLocal: false, - isDefinition: true, variable: i8* @static_var) + isDefinition: true) ; Debug info must also be updated to reflect new address space. ; CHECK: [[GVNODE]] = distinct !DIGlobalVariable(name: "static_var" ; CHECK-SAME: scope: [[CUNODE]] ; CHECK-SAME: type: [[TYPENODE:![0-9]+]] -; CHECK-SAME: variable: i8* addrspacecast (i8 addrspace(1)* @static_var to i8*) !5 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char) ; CHECK: [[TYPENODE]] = !DIBasicType(name: "char" !6 = !{i32 2, !"Dwarf Version", i32 4} diff --git a/llvm/test/CodeGen/PowerPC/pr17168.ll b/llvm/test/CodeGen/PowerPC/pr17168.ll index 0dbdfb891dc..6d8e28cba97 100644 --- a/llvm/test/CodeGen/PowerPC/pr17168.ll +++ b/llvm/test/CodeGen/PowerPC/pr17168.ll @@ -6,7 +6,7 @@ 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" target triple = "powerpc64-unknown-linux-gnu" -@grid_points = external global [3 x i32], align 4 +@grid_points = external global [3 x i32], align 4, !dbg !299 ; Function Attrs: nounwind define fastcc void @compute_rhs() #0 !dbg !114 { @@ -352,7 +352,7 @@ attributes #1 = { nounwind readnone } !296 = !DILocalVariable(name: "j", line: 907, scope: !293, file: !5, type: !8) !297 = !DILocalVariable(name: "k", line: 907, scope: !293, file: !5, type: !8) !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} -!299 = !DIGlobalVariable(name: "grid_points", line: 28, isLocal: true, isDefinition: true, scope: null, file: !300, type: !302, variable: [3 x i32]* @grid_points) +!299 = !DIGlobalVariable(name: "grid_points", line: 28, isLocal: true, isDefinition: true, scope: null, file: !300, type: !302) !300 = !DIFile(filename: "./header.h", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT") !301 = !{!"./header.h", !"/home/hfinkel/src/NPB2.3-omp-C/BT"} !302 = !DICompositeType(tag: DW_TAG_array_type, size: 96, align: 32, baseType: !8, elements: !303) diff --git a/llvm/test/CodeGen/PowerPC/pr24546.ll b/llvm/test/CodeGen/PowerPC/pr24546.ll index 2f667cfcb1a..d7cd9e18acc 100644 --- a/llvm/test/CodeGen/PowerPC/pr24546.ll +++ b/llvm/test/CodeGen/PowerPC/pr24546.ll @@ -3,7 +3,7 @@ ; Verify that we no longer crash in VSX swap removal when debug values ; are in the code stream. -@php_intpow10.powers = external unnamed_addr constant [23 x double], align 8 +@php_intpow10.powers = external unnamed_addr constant [23 x double], align 8, !dbg !24 ; Function Attrs: nounwind define double @_php_math_round(double %value, i32 signext %places, i32 signext %mode) #0 !dbg !6 { @@ -79,7 +79,7 @@ attributes #3 = { nounwind } !21 = !{!22} !22 = !DILocalVariable(name: "power", arg: 1, scope: !18, file: !1, line: 1, type: !9) !23 = !{!24} -!24 = !DIGlobalVariable(name: "powers", scope: !18, file: !1, line: 3, type: !25, isLocal: true, isDefinition: true, variable: [23 x double]* @php_intpow10.powers) +!24 = !DIGlobalVariable(name: "powers", scope: !18, file: !1, line: 3, type: !25, isLocal: true, isDefinition: true) !25 = !DICompositeType(tag: DW_TAG_array_type, baseType: !26, size: 1472, align: 64, elements: !27) !26 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4) !27 = !{!28} diff --git a/llvm/test/CodeGen/X86/fpstack-debuginstr-kill.ll b/llvm/test/CodeGen/X86/fpstack-debuginstr-kill.ll index 874cc7ce7f3..60d335dd48d 100644 --- a/llvm/test/CodeGen/X86/fpstack-debuginstr-kill.ll +++ b/llvm/test/CodeGen/X86/fpstack-debuginstr-kill.ll @@ -1,7 +1,7 @@ ; RUN: llc < %s -mcpu=generic -mtriple=i386-apple-darwin -no-integrated-as -@g1 = global double 0.000000e+00, align 8 -@g2 = global i32 0, align 4 +@g1 = global double 0.000000e+00, align 8, !dbg !22 +@g2 = global i32 0, align 4, !dbg !23 define void @_Z16fpuop_arithmeticjj(i32, i32) !dbg !4 { entry: @@ -64,7 +64,7 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) !19 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed) !20 = !DILocalVariable(name: "value", line: 16, scope: !4, file: !6, type: !14) !21 = !{!22, !23} -!22 = !DIGlobalVariable(name: "g1", line: 5, isLocal: false, isDefinition: true, scope: null, file: !6, type: !14, variable: double* @g1) -!23 = !DIGlobalVariable(name: "g2", line: 6, isLocal: false, isDefinition: true, scope: null, file: !6, type: !19, variable: i32* @g2) +!22 = !DIGlobalVariable(name: "g1", line: 5, isLocal: false, isDefinition: true, scope: null, file: !6, type: !14) +!23 = !DIGlobalVariable(name: "g2", line: 6, isLocal: false, isDefinition: true, scope: null, file: !6, type: !19) !24 = !{i32 2, !"Dwarf Version", i32 2} !25 = !{i32 2, !"Debug Info Version", i32 3} diff --git a/llvm/test/CodeGen/X86/misched-code-difference-with-debug.ll b/llvm/test/CodeGen/X86/misched-code-difference-with-debug.ll index db218f4bd09..1f91e3ad0b8 100644 --- a/llvm/test/CodeGen/X86/misched-code-difference-with-debug.ll +++ b/llvm/test/CodeGen/X86/misched-code-difference-with-debug.ll @@ -22,7 +22,7 @@ %class.C = type { i8 } -@argc = global i8 0, align 1 +@argc = global i8 0, align 1, !dbg !21 declare i32 @test_function(%class.C*, i8 signext, i8 signext, i8 signext, ...) @@ -82,7 +82,7 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) !18 = !DILocalVariable(name: "c", line: 7, scope: !13, file: !14, type: !4) !19 = !DILocalVariable(name: "lc", line: 8, scope: !13, file: !14, type: !11) !20 = !{!21} -!21 = !DIGlobalVariable(name: "argc", line: 1, isLocal: false, isDefinition: true, scope: null, file: !14, type: !11, variable: i8* @argc) +!21 = !DIGlobalVariable(name: "argc", line: 1, isLocal: false, isDefinition: true, scope: null, file: !14, type: !11) !22 = !{i32 2, !"Dwarf Version", i32 4} !23 = !{i32 2, !"Debug Info Version", i32 3} !25 = !DILocation(line: 8, column: 3, scope: !13) |