From 096faa974afe2fc3cabbb9b2a545b7cdc8df16fc Mon Sep 17 00:00:00 2001 From: Adrian Prantl Date: Fri, 16 Dec 2016 19:39:01 +0000 Subject: Revert "[IR] Remove the DIExpression field from DIGlobalVariable." This reverts commit 289920 (again). I forgot to implement a Bitcode upgrade for the case where a DIGlobalVariable has not DIExpression. Unfortunately it is not possible to safely upgrade these variables without adding a flag to the bitcode record indicating which version they are. My plan of record is to roll the planned follow-up patch that adds a unit: field to DIGlobalVariable into this patch before recomitting. This way we only need one Bitcode upgrade for both changes (with a version flag in the bitcode record to safely distinguish the record formats). Sorry for the churn! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289982 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Assembler/diglobalvariable.ll | 16 ++++++++++------ test/Assembler/diglobalvariableexpression.ll | 23 ----------------------- 2 files changed, 10 insertions(+), 29 deletions(-) delete mode 100644 test/Assembler/diglobalvariableexpression.ll (limited to 'test/Assembler') diff --git a/test/Assembler/diglobalvariable.ll b/test/Assembler/diglobalvariable.ll index 02dd6289c0a..33c2ec3a762 100644 --- a/test/Assembler/diglobalvariable.ll +++ b/test/Assembler/diglobalvariable.ll @@ -3,8 +3,8 @@ @foo = global i32 0 -; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8} -!named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8} +; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !8, !9, !10} +!named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9} !0 = !DIFile(filename: "scope.h", directory: "/path/to/dir") !1 = distinct !{} @@ -17,8 +17,12 @@ file: !2, line: 7, type: !3, isLocal: true, isDefinition: false, align: 32) -!6 = !DICompositeType(tag: DW_TAG_structure_type, name: "Class", size: 8, align: 8) -!7 = !DIDerivedType(tag: DW_TAG_member, name: "mem", flags: DIFlagStaticMember, scope: !6, baseType: !3) +; CHECK: !6 = !DIGlobalVariable(name: "foo", scope: !0, isLocal: false, isDefinition: true, expr: !7) +; CHECK: !7 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value) +!6 = !DIGlobalVariable(name: "foo", scope: !0, expr: !DIExpression(DW_OP_constu, 42, DW_OP_stack_value)) -; CHECK: !8 = !DIGlobalVariable(name: "mem", scope: !0, isLocal: false, isDefinition: true, declaration: !7) -!8 = !DIGlobalVariable(name: "mem", scope: !0, declaration: !7) +!7 = !DICompositeType(tag: DW_TAG_structure_type, name: "Class", size: 8, align: 8) +!8 = !DIDerivedType(tag: DW_TAG_member, name: "mem", flags: DIFlagStaticMember, scope: !7, baseType: !3) + +; CHECK: !10 = !DIGlobalVariable(name: "mem", scope: !0, isLocal: false, isDefinition: true, declaration: !9) +!9 = !DIGlobalVariable(name: "mem", scope: !0, declaration: !8) diff --git a/test/Assembler/diglobalvariableexpression.ll b/test/Assembler/diglobalvariableexpression.ll deleted file mode 100644 index 19f3d1443bf..00000000000 --- a/test/Assembler/diglobalvariableexpression.ll +++ /dev/null @@ -1,23 +0,0 @@ -; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s -; RUN: verify-uselistorder %s - -@foo = global i32 0 - -; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !7} -!named = !{!0, !1, !2, !3, !4, !5, !6, !7} - -!0 = !DIFile(filename: "scope.h", directory: "/path/to/dir") -!1 = distinct !{} -!2 = !DIFile(filename: "path/to/file", directory: "/path/to/dir") -!3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed) -!4 = distinct !{} - -; CHECK: !5 = !DIGlobalVariable(name: "foo", linkageName: "foo", scope: !0, file: !2, line: 7, type: !3, isLocal: true, isDefinition: false, align: 32) -!5 = !DIGlobalVariable(name: "foo", linkageName: "foo", scope: !0, - file: !2, line: 7, type: !3, isLocal: true, - isDefinition: false, align: 32) - -; CHECK: !6 = !DIGlobalVariableExpression(var: !5, expr: !7) -!6 = !DIGlobalVariableExpression(var: !5, expr: !7) -; CHECK: !7 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value) -!7 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value) -- cgit v1.2.3