<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Aug 30, 2017 at 11:07 AM Adrian Prantl via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: adrian<br>
Date: Wed Aug 30 11:06:51 2017<br>
New Revision: 312144<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=312144&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=312144&view=rev</a><br>
Log:<br>
Canonicalize the representation of empty an expression in DIGlobalVariableExpression<br>
<br>
This change simplifies code that has to deal with<br>
DIGlobalVariableExpression and mirrors how we treat DIExpressions in<br>
debug info intrinsics. Before this change there were two ways of<br>
representing empty expressions on globals, a nullptr and an empty<br>
!DIExpression().<br>
<br>
If someone needs to upgrade out-of-tree testcases:<br>
  perl -pi -e 's/(!DIGlobalVariableExpression\(var: ![0-9]*)\)/\1, expr: !DIExpression())/g' <MYTEST.ll><br></blockquote><div><br>Seems like it'd be nice for readability to omit the !DIExpression(), perhaps (even if the bitcode remains the same and these are never null)? Or do you find it's easier to read with it present?<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
will catch 95%.<br>
<br>
Modified:<br>
    llvm/trunk/include/llvm/IR/DebugInfoMetadata.h<br>
    llvm/trunk/lib/AsmParser/LLParser.cpp<br>
    llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp<br>
    llvm/trunk/lib/IR/DIBuilder.cpp<br>
    llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll<br>
    llvm/trunk/test/Bitcode/DIGlobalVariableExpression2.ll<br>
    llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll<br>
    llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll<br>
    llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll<br>
    llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll<br>
    llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll<br>
    llvm/trunk/test/CodeGen/ARM/no-cfi.ll<br>
    llvm/trunk/test/CodeGen/BPF/dwarfdump.ll<br>
    llvm/trunk/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll<br>
    llvm/trunk/test/CodeGen/PowerPC/pr17168.ll<br>
    llvm/trunk/test/CodeGen/PowerPC/pr24546.ll<br>
    llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll<br>
    llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll<br>
    llvm/trunk/test/CodeGen/X86/dwarf-headers.ll<br>
    llvm/trunk/test/CodeGen/X86/fp128-g.ll<br>
    llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll<br>
    llvm/trunk/test/CodeGen/X86/machine-outliner-debuginfo.ll<br>
    llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll<br>
    llvm/trunk/test/CodeGen/X86/null-streamer.ll<br>
    llvm/trunk/test/DebugInfo/AArch64/big-endian.ll<br>
    llvm/trunk/test/DebugInfo/AArch64/bitfields.ll<br>
    llvm/trunk/test/DebugInfo/AArch64/frameindices.ll<br>
    llvm/trunk/test/DebugInfo/AMDGPU/variable-locations.ll<br>
    llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll<br>
    llvm/trunk/test/DebugInfo/ARM/bitfield.ll<br>
    llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll<br>
    llvm/trunk/test/DebugInfo/ARM/tls.ll<br>
    llvm/trunk/test/DebugInfo/COFF/anonymous-struct.ll<br>
    llvm/trunk/test/DebugInfo/COFF/array-odr-violation.ll<br>
    llvm/trunk/test/DebugInfo/COFF/big-type.ll<br>
    llvm/trunk/test/DebugInfo/COFF/bitfields.ll<br>
    llvm/trunk/test/DebugInfo/COFF/enum.ll<br>
    llvm/trunk/test/DebugInfo/COFF/global-dllimport.ll<br>
    llvm/trunk/test/DebugInfo/COFF/globals-discarded.ll<br>
    llvm/trunk/test/DebugInfo/COFF/globals.ll<br>
    llvm/trunk/test/DebugInfo/COFF/inheritance.ll<br>
    llvm/trunk/test/DebugInfo/COFF/inlining-files.ll<br>
    llvm/trunk/test/DebugInfo/COFF/inlining-header.ll<br>
    llvm/trunk/test/DebugInfo/COFF/inlining-levels.ll<br>
    llvm/trunk/test/DebugInfo/COFF/int8-char-type.ll<br>
    llvm/trunk/test/DebugInfo/COFF/long-type-name.ll<br>
    llvm/trunk/test/DebugInfo/COFF/nested-types.ll<br>
    llvm/trunk/test/DebugInfo/COFF/register-variables.ll<br>
    llvm/trunk/test/DebugInfo/COFF/scopes.ll<br>
    llvm/trunk/test/DebugInfo/COFF/types-array-advanced.ll<br>
    llvm/trunk/test/DebugInfo/COFF/types-nested-class.ll<br>
    llvm/trunk/test/DebugInfo/COFF/types-ptr-to-member.ll<br>
    llvm/trunk/test/DebugInfo/COFF/udts.ll<br>
    llvm/trunk/test/DebugInfo/COFF/virtual-method-kinds.ll<br>
    llvm/trunk/test/DebugInfo/COFF/vtable-optzn-array.ll<br>
    llvm/trunk/test/DebugInfo/Generic/2009-11-05-DeadGlobalVariable.ll<br>
    llvm/trunk/test/DebugInfo/Generic/2009-11-06-NamelessGlobalVariable.ll<br>
    llvm/trunk/test/DebugInfo/Generic/2010-06-29-InlinedFnLocalVar.ll<br>
    llvm/trunk/test/DebugInfo/Generic/accel-table-hash-collisions.ll<br>
    llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll<br>
    llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce.ll<br>
    llvm/trunk/test/DebugInfo/Generic/dbg-at-specficiation.ll<br>
    llvm/trunk/test/DebugInfo/Generic/debuginfofinder-forward-declaration.ll<br>
    llvm/trunk/test/DebugInfo/Generic/dwarf-public-names.ll<br>
    llvm/trunk/test/DebugInfo/Generic/enum.ll<br>
    llvm/trunk/test/DebugInfo/Generic/global-sra-array.ll<br>
    llvm/trunk/test/DebugInfo/Generic/global-sra-struct.ll<br>
    llvm/trunk/test/DebugInfo/Generic/global.ll<br>
    llvm/trunk/test/DebugInfo/Generic/gvn.ll<br>
    llvm/trunk/test/DebugInfo/Generic/member-pointers.ll<br>
    llvm/trunk/test/DebugInfo/Generic/namespace.ll<br>
    llvm/trunk/test/DebugInfo/Generic/recursive_inlining.ll<br>
    llvm/trunk/test/DebugInfo/Generic/template-recursive-void.ll<br>
    llvm/trunk/test/DebugInfo/Generic/tu-member-pointer.ll<br>
    llvm/trunk/test/DebugInfo/Generic/typedef.ll<br>
    llvm/trunk/test/DebugInfo/MIR/X86/live-debug-values-spill.mir<br>
    llvm/trunk/test/DebugInfo/MIR/X86/live-debug-values.mir<br>
    llvm/trunk/test/DebugInfo/MIR/X86/mlicm-hoist.mir<br>
    llvm/trunk/test/DebugInfo/Mips/InlinedFnLocalVar.ll<br>
    llvm/trunk/test/DebugInfo/Mips/dwarfdump-tls.ll<br>
    llvm/trunk/test/DebugInfo/Mips/tls.ll<br>
    llvm/trunk/test/DebugInfo/PowerPC/tls-fission.ll<br>
    llvm/trunk/test/DebugInfo/PowerPC/tls.ll<br>
    llvm/trunk/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll<br>
    llvm/trunk/test/DebugInfo/X86/DIModuleContext.ll<br>
    llvm/trunk/test/DebugInfo/X86/DW_AT_calling-convention.ll<br>
    llvm/trunk/test/DebugInfo/X86/DW_AT_specification.ll<br>
    llvm/trunk/test/DebugInfo/X86/DW_TAG_friend.ll<br>
    llvm/trunk/test/DebugInfo/X86/FrameIndexExprs.ll<br>
    llvm/trunk/test/DebugInfo/X86/InlinedFnLocalVar.ll<br>
    llvm/trunk/test/DebugInfo/X86/PR26148.ll<br>
    llvm/trunk/test/DebugInfo/X86/align_c11.ll<br>
    llvm/trunk/test/DebugInfo/X86/align_cpp11.ll<br>
    llvm/trunk/test/DebugInfo/X86/align_objc.ll<br>
    llvm/trunk/test/DebugInfo/X86/arange-and-stub.ll<br>
    llvm/trunk/test/DebugInfo/X86/arange.ll<br>
    llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-4.ll<br>
    llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-5.ll<br>
    llvm/trunk/test/DebugInfo/X86/bitfields-dwarf4.ll<br>
    llvm/trunk/test/DebugInfo/X86/bitfields.ll<br>
    llvm/trunk/test/DebugInfo/X86/c-type-units.ll<br>
    llvm/trunk/test/DebugInfo/X86/concrete_out_of_line.ll<br>
    llvm/trunk/test/DebugInfo/X86/cu-ranges-odr.ll<br>
    llvm/trunk/test/DebugInfo/X86/data_member_location.ll<br>
    llvm/trunk/test/DebugInfo/X86/dbg-subrange.ll<br>
    llvm/trunk/test/DebugInfo/X86/dbg-value-inlined-parameter.ll<br>
    llvm/trunk/test/DebugInfo/X86/dbg-value-regmask-clobber.ll<br>
    llvm/trunk/test/DebugInfo/X86/debug-info-access.ll<br>
    llvm/trunk/test/DebugInfo/X86/debug-info-packed-struct.ll<br>
    llvm/trunk/test/DebugInfo/X86/debug-info-static-member.ll<br>
    llvm/trunk/test/DebugInfo/X86/debug-loc-frame.ll<br>
    llvm/trunk/test/DebugInfo/X86/debugger-tune.ll<br>
    llvm/trunk/test/DebugInfo/X86/decl-derived-member.ll<br>
    llvm/trunk/test/DebugInfo/X86/default-subrange-array.ll<br>
    llvm/trunk/test/DebugInfo/X86/dllimport.ll<br>
    llvm/trunk/test/DebugInfo/X86/dwarf-aranges-no-dwarf-labels.ll<br>
    llvm/trunk/test/DebugInfo/X86/dwarf-aranges.ll<br>
    llvm/trunk/test/DebugInfo/X86/dwarf-linkage-names.ll<br>
    llvm/trunk/test/DebugInfo/X86/dwarf-public-names.ll<br>
    llvm/trunk/test/DebugInfo/X86/empty-array.ll<br>
    llvm/trunk/test/DebugInfo/X86/enum-class.ll<br>
    llvm/trunk/test/DebugInfo/X86/enum-fwd-decl.ll<br>
    llvm/trunk/test/DebugInfo/X86/fission-cu.ll<br>
    llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll<br>
    llvm/trunk/test/DebugInfo/X86/gnu-public-names-tu.ll<br>
    llvm/trunk/test/DebugInfo/X86/gnu-public-names.ll<br>
    llvm/trunk/test/DebugInfo/X86/inline-member-function.ll<br>
    llvm/trunk/test/DebugInfo/X86/inline-namespace.ll<br>
    llvm/trunk/test/DebugInfo/X86/inlined-indirect-value.ll<br>
    llvm/trunk/test/DebugInfo/X86/isel-cse-line.ll<br>
    llvm/trunk/test/DebugInfo/X86/linkage-name.ll<br>
    llvm/trunk/test/DebugInfo/X86/live-debug-values.ll<br>
    llvm/trunk/test/DebugInfo/X86/memberfnptr.ll<br>
    llvm/trunk/test/DebugInfo/X86/misched-dbg-value.ll<br>
    llvm/trunk/test/DebugInfo/X86/multiple-aranges.ll<br>
    llvm/trunk/test/DebugInfo/X86/nondefault-subrange-array.ll<br>
    llvm/trunk/test/DebugInfo/X86/objc-fwd-decl.ll<br>
    llvm/trunk/test/DebugInfo/X86/pointer-type-size.ll<br>
    llvm/trunk/test/DebugInfo/X86/ref_addr_relocation.ll<br>
    llvm/trunk/test/DebugInfo/X86/split-global.ll<br>
    llvm/trunk/test/DebugInfo/X86/static_member_array.ll<br>
    llvm/trunk/test/DebugInfo/X86/stringpool.ll<br>
    llvm/trunk/test/DebugInfo/X86/struct-loc.ll<br>
    llvm/trunk/test/DebugInfo/X86/template.ll<br>
    llvm/trunk/test/DebugInfo/X86/tls.ll<br>
    llvm/trunk/test/DebugInfo/X86/type_units_with_addresses.ll<br>
    llvm/trunk/test/DebugInfo/X86/union-template.ll<br>
    llvm/trunk/test/DebugInfo/X86/vector.ll<br>
    llvm/trunk/test/DebugInfo/pr34186.ll<br>
    llvm/trunk/test/Instrumentation/AddressSanitizer/debug-info-global-var.ll<br>
    llvm/trunk/test/LTO/X86/Inputs/type-mapping-src.ll<br>
    llvm/trunk/test/LTO/X86/type-mapping-bug.ll<br>
    llvm/trunk/test/Linker/2011-08-04-Metadata.ll<br>
    llvm/trunk/test/Linker/2011-08-04-Metadata2.ll<br>
    llvm/trunk/test/Linker/debug-info-global-var.ll<br>
    llvm/trunk/test/Linker/odr.ll<br>
    llvm/trunk/test/Linker/only-needed-debug-metadata.ll<br>
    llvm/trunk/test/ThinLTO/X86/Inputs/crash_debuginfo.ll<br>
    llvm/trunk/test/ThinLTO/X86/crash_debuginfo.ll<br>
    llvm/trunk/test/ThinLTO/X86/debuginfo-cu-import.ll<br>
    llvm/trunk/test/Transforms/ConstantMerge/merge-dbg.ll<br>
    llvm/trunk/test/Transforms/GCOVProfiling/return-block.ll<br>
    llvm/trunk/test/Transforms/GlobalMerge/debug-info.ll<br>
    llvm/trunk/test/Transforms/GlobalOpt/2009-03-05-dbg.ll<br>
    llvm/trunk/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll<br>
    llvm/trunk/test/Transforms/Inline/alloca-dbgdeclare.ll<br>
    llvm/trunk/test/Transforms/LoopVectorize/dbg.value.ll<br>
    llvm/trunk/test/Transforms/SampleProfile/cov-zero-samples.ll<br>
    llvm/trunk/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll<br>
    llvm/trunk/test/Transforms/StripSymbols/2010-06-30-StripDebug.ll<br>
    llvm/trunk/test/Transforms/StripSymbols/2010-08-25-crash.ll<br>
    llvm/trunk/test/Transforms/StripSymbols/strip-dead-debug-info.ll<br>
    llvm/trunk/test/Transforms/Util/clone-dicompileunit.ll<br>
    llvm/trunk/test/Transforms/Util/strip-nonlinetable-debuginfo-containingtypes.ll<br>
    llvm/trunk/test/Verifier/pr34325.ll<br>
    llvm/trunk/test/tools/llvm-objdump/Hexagon/source-interleave-hexagon.ll<br>
<br>
Modified: llvm/trunk/include/llvm/IR/DebugInfoMetadata.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/DebugInfoMetadata.h?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/DebugInfoMetadata.h?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/IR/DebugInfoMetadata.h (original)<br>
+++ llvm/trunk/include/llvm/IR/DebugInfoMetadata.h Wed Aug 30 11:06:51 2017<br>
@@ -2630,7 +2630,7 @@ public:<br>
   Metadata *getRawExpression() const { return getOperand(1); }<br>
<br>
   DIExpression *getExpression() const {<br>
-    return cast_or_null<DIExpression>(getRawExpression());<br>
+    return cast<DIExpression>(getRawExpression());<br>
   }<br>
<br>
   static bool classof(const Metadata *MD) {<br>
<br>
Modified: llvm/trunk/lib/AsmParser/LLParser.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/LLParser.cpp?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/LLParser.cpp?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/AsmParser/LLParser.cpp (original)<br>
+++ llvm/trunk/lib/AsmParser/LLParser.cpp Wed Aug 30 11:06:51 2017<br>
@@ -4383,7 +4383,7 @@ bool LLParser::ParseDIGlobalVariableExpr<br>
                                                bool IsDistinct) {<br>
 #define VISIT_MD_FIELDS(OPTIONAL, REQUIRED)                                    \<br>
   REQUIRED(var, MDField, );                                                    \<br>
-  OPTIONAL(expr, MDField, );<br>
+  REQUIRED(expr, MDField, );<br>
   PARSE_MD_FIELDS();<br>
 #undef VISIT_MD_FIELDS<br>
<br>
<br>
Modified: llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp (original)<br>
+++ llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp Wed Aug 30 11:06:51 2017<br>
@@ -497,8 +497,8 @@ class MetadataLoader::MetadataLoaderImpl<br>
           for (unsigned I = 0; I < GVs->getNumOperands(); I++)<br>
             if (auto *GV =<br>
                     dyn_cast_or_null<DIGlobalVariable>(GVs->getOperand(I))) {<br>
-              auto *DGVE =<br>
-                  DIGlobalVariableExpression::getDistinct(Context, GV, nullptr);<br>
+              auto *DGVE = DIGlobalVariableExpression::getDistinct(<br>
+                  Context, GV, DIExpression::get(Context, {}));<br>
               GVs->replaceOperandWith(I, DGVE);<br>
             }<br>
       }<br>
@@ -510,8 +510,8 @@ class MetadataLoader::MetadataLoaderImpl<br>
       GV.eraseMetadata(LLVMContext::MD_dbg);<br>
       for (auto *MD : MDs)<br>
         if (auto *DGV = dyn_cast_or_null<DIGlobalVariable>(MD)) {<br>
-          auto *DGVE =<br>
-              DIGlobalVariableExpression::getDistinct(Context, DGV, nullptr);<br>
+          auto *DGVE = DIGlobalVariableExpression::getDistinct(<br>
+              Context, DGV, DIExpression::get(Context, {}));<br>
           GV.addMetadata(LLVMContext::MD_dbg, *DGVE);<br>
         } else<br>
           GV.addMetadata(LLVMContext::MD_dbg, *MD);<br>
@@ -1585,7 +1585,8 @@ Error MetadataLoader::MetadataLoaderImpl<br>
<br>
       DIGlobalVariableExpression *DGVE = nullptr;<br>
       if (Attach || Expr)<br>
-        DGVE = DIGlobalVariableExpression::getDistinct(Context, DGV, Expr);<br>
+        DGVE = DIGlobalVariableExpression::getDistinct(<br>
+            Context, DGV, Expr ? Expr : DIExpression::get(Context, {}));<br>
       if (Attach)<br>
         Attach->addDebugInfo(DGVE);<br>
<br>
@@ -1648,10 +1649,13 @@ Error MetadataLoader::MetadataLoaderImpl<br>
       return error("Invalid record");<br>
<br>
     IsDistinct = Record[0];<br>
-    MetadataList.assignValue(GET_OR_DISTINCT(DIGlobalVariableExpression,<br>
-                                             (Context, getMDOrNull(Record[1]),<br>
-                                              getMDOrNull(Record[2]))),<br>
-                             NextMetadataNo);<br>
+    Metadata *Expr = getMDOrNull(Record[2]);<br>
+    if (!Expr)<br>
+      Expr = DIExpression::get(Context, {});<br>
+    MetadataList.assignValue(<br>
+        GET_OR_DISTINCT(DIGlobalVariableExpression,<br>
+                        (Context, getMDOrNull(Record[1]), Expr)),<br>
+        NextMetadataNo);<br>
     NextMetadataNo++;<br>
     break;<br>
   }<br>
<br>
Modified: llvm/trunk/lib/IR/DIBuilder.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/DIBuilder.cpp?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/DIBuilder.cpp?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/IR/DIBuilder.cpp (original)<br>
+++ llvm/trunk/lib/IR/DIBuilder.cpp Wed Aug 30 11:06:51 2017<br>
@@ -595,6 +595,8 @@ DIGlobalVariableExpression *DIBuilder::c<br>
       VMContext, cast_or_null<DIScope>(Context), Name, LinkageName, F,<br>
       LineNumber, Ty, isLocalToUnit, true, cast_or_null<DIDerivedType>(Decl),<br>
       AlignInBits);<br>
+  if (!Expr)<br>
+    Expr = createExpression();<br>
   auto *N = DIGlobalVariableExpression::get(VMContext, GV, Expr);<br>
   AllGVs.push_back(N);<br>
   return N;<br>
<br>
Modified: llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll (original)<br>
+++ llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll Wed Aug 30 11:06:51 2017<br>
@@ -13,7 +13,7 @@<br>
 ; CHECK: ![[HVAR:[0-9]+]] = distinct !DIGlobalVariable(name: "h",<br>
 ; CHECK: ![[IMPORTS]] = !{![[CIMPORT:[0-9]+]]}<br>
 ; CHECK: ![[CIMPORT]] = !DIImportedEntity({{.*}}entity: ![[HVAR]]<br>
-; CHECK: ![[H]] = {{.*}}!DIGlobalVariableExpression(var: ![[HVAR]])<br>
+; CHECK: ![[H]] = {{.*}}!DIGlobalVariableExpression(var: ![[HVAR]], expr: !DIExpression())<br>
<br>
 @g = common global i32 0, align 4, !dbg !0<br>
 @h = common global i32 0, align 4, !dbg !11<br>
<br>
Modified: llvm/trunk/test/Bitcode/DIGlobalVariableExpression2.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/DIGlobalVariableExpression2.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/DIGlobalVariableExpression2.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/Bitcode/DIGlobalVariableExpression2.ll (original)<br>
+++ llvm/trunk/test/Bitcode/DIGlobalVariableExpression2.ll Wed Aug 30 11:06:51 2017<br>
@@ -1,10 +1,10 @@<br>
 ; RUN: llvm-dis -o - %s.bc | FileCheck %s<br>
<br>
 ; CHECK: @g = common global i32 0, align 4, !dbg ![[G:[0-9]+]]<br>
-; CHECK-DAG: ![[G]] = distinct !DIGlobalVariableExpression(var: ![[GVAR:[0-9]+]])<br>
+; CHECK-DAG: ![[G]] = distinct !DIGlobalVariableExpression(var: ![[GVAR:[0-9]+]], expr: !DIExpression())<br>
 ; CHECK-DAG: distinct !DICompileUnit({{.*}}, globals: ![[GLOBS:[0-9]+]]<br>
 ; CHECK-DAG: ![[GLOBS]] = !{![[GEXPR:[0-9]+]]}<br>
-; CHECK-DAG: ![[GEXPR]] = distinct !DIGlobalVariableExpression(var: ![[GVAR]])<br>
+; CHECK-DAG: ![[GEXPR]] = distinct !DIGlobalVariableExpression(var: ![[GVAR]], expr: !DIExpression())<br>
 ; CHECK-DAG: ![[GVAR]] = !DIGlobalVariable(name: "g",<br>
<br>
 ; Test the bitcode upgrade for DIGlobalVariable -> DIGlobalVariableExpression.<br>
<br>
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll (original)<br>
+++ llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll Wed Aug 30 11:06:51 2017<br>
@@ -31,7 +31,7 @@ attributes #1 = { nounwind readnone }<br>
 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.0 (<a href="http://llvm.org/git/clang.git" rel="noreferrer" target="_blank">http://llvm.org/git/clang.git</a> git:/git/puzzlebox/clang.git/ c4d1aea01c4444eb81bdbf391f1be309127c3cf1)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, globals: !2)<br>
 !1 = !DIFile(filename: "print.i", directory: "/Volumes/Ebi/echeng/radars/r9146594")<br>
 !2 = !{!3}<br>
-!3 = !DIGlobalVariableExpression(var: !4)<br>
+!3 = !DIGlobalVariableExpression(var: !4, expr: !DIExpression())<br>
 !4 = !DIGlobalVariable(name: "vsplive", scope: !5, file: !1, line: 617, type: !8, isLocal: true, isDefinition: true)<br>
 !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)<br>
 !6 = !DISubroutineType(types: !7)<br>
<br>
Modified: llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll (original)<br>
+++ llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll Wed Aug 30 11:06:51 2017<br>
@@ -56,7 +56,7 @@ attributes #2 = { nounwind readnone }<br>
 !<a href="http://llvm.dbg.cu" rel="noreferrer" target="_blank">llvm.dbg.cu</a> = !{!4}<br>
 !llvm.module.flags = !{!6, !7}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "length", linkageName: "length", scope: !2, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)<br>
 !2 = !DIFile(filename: "t.c", directory: "/private/tmp")<br>
 !3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br>
<br>
Modified: llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll (original)<br>
+++ llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll Wed Aug 30 11:06:51 2017<br>
@@ -83,17 +83,17 @@ attributes #1 = { nounwind readnone }<br>
 !<a href="http://llvm.dbg.cu" rel="noreferrer" target="_blank">llvm.dbg.cu</a> = !{!12}<br>
 !llvm.module.flags = !{!15}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "x1", scope: !2, file: !2, line: 3, type: !3, isLocal: true, isDefinition: true)<br>
 !2 = !DIFile(filename: "foo.c", directory: "/tmp/")<br>
 !3 = !DIBasicType(name: "_Bool", size: 8, align: 8, encoding: DW_ATE_boolean)<br>
-!4 = !DIGlobalVariableExpression(var: !5)<br>
+!4 = !DIGlobalVariableExpression(var: !5, expr: !DIExpression())<br>
 !5 = !DIGlobalVariable(name: "x2", scope: !2, file: !2, line: 6, type: !3, isLocal: true, isDefinition: true)<br>
-!6 = !DIGlobalVariableExpression(var: !7)<br>
+!6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression())<br>
 !7 = !DIGlobalVariable(name: "x3", scope: !2, file: !2, line: 9, type: !3, isLocal: true, isDefinition: true)<br>
-!8 = !DIGlobalVariableExpression(var: !9)<br>
+!8 = !DIGlobalVariableExpression(var: !9, expr: !DIExpression())<br>
 !9 = !DIGlobalVariable(name: "x4", scope: !2, file: !2, line: 12, type: !3, isLocal: true, isDefinition: true)<br>
-!10 = !DIGlobalVariableExpression(var: !11)<br>
+!10 = !DIGlobalVariableExpression(var: !11, expr: !DIExpression())<br>
 !11 = !DIGlobalVariable(name: "x5", scope: !2, file: !2, line: 15, type: !3, isLocal: false, isDefinition: true)<br>
 !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)<br>
 !13 = !{}<br>
<br>
Modified: llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll (original)<br>
+++ llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll Wed Aug 30 11:06:51 2017<br>
@@ -80,13 +80,13 @@ attributes #1 = { nounwind readnone }<br>
 !<a href="http://llvm.dbg.cu" rel="noreferrer" target="_blank">llvm.dbg.cu</a> = !{!2}<br>
 !llvm.module.flags = !{!9}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "x1", scope: !2, file: !3, line: 4, type: !8, isLocal: true, isDefinition: true)<br>
 !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)<br>
 !3 = !DIFile(filename: "ss3.c", directory: "/private/tmp")<br>
 !4 = !{}<br>
 !5 = !{!0, !6}<br>
-!6 = !DIGlobalVariableExpression(var: !7)<br>
+!6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression())<br>
 !7 = !DIGlobalVariable(name: "x2", scope: !2, file: !3, line: 7, type: !8, isLocal: true, isDefinition: true)<br>
 !8 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br>
 !9 = !{i32 1, !"Debug Info Version", i32 3}<br>
<br>
Modified: llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll (original)<br>
+++ llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll Wed Aug 30 11:06:51 2017<br>
@@ -80,16 +80,16 @@ attributes #3 = { nounwind }<br>
 !<a href="http://llvm.dbg.cu" rel="noreferrer" target="_blank">llvm.dbg.cu</a> = !{!11}<br>
 !llvm.module.flags = !{!14}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "c", scope: null, file: !2, line: 3, type: !3, isLocal: false, isDefinition: true)<br>
 !2 = !DIFile(filename: "pr16110.c", directory: "/d/b")<br>
 !3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br>
-!4 = !DIGlobalVariableExpression(var: !5)<br>
+!4 = !DIGlobalVariableExpression(var: !5, expr: !DIExpression())<br>
 !5 = !DIGlobalVariable(name: "b", scope: null, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true)<br>
-!6 = !DIGlobalVariableExpression(var: !7)<br>
+!6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression())<br>
 !7 = !DIGlobalVariable(name: "a", scope: null, file: !2, line: 1, type: !8, isLocal: false, isDefinition: true)<br>
 !8 = !DIBasicType(name: "long long int", size: 64, align: 32, encoding: DW_ATE_signed)<br>
-!9 = !DIGlobalVariableExpression(var: !10)<br>
+!9 = !DIGlobalVariableExpression(var: !10, expr: !DIExpression())<br>
 !10 = !DIGlobalVariable(name: "d", scope: null, file: !2, line: 4, type: !3, isLocal: false, isDefinition: true)<br>
 !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)<br>
 !12 = !{}<br>
<br>
Modified: llvm/trunk/test/CodeGen/ARM/no-cfi.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/no-cfi.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/no-cfi.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/ARM/no-cfi.ll (original)<br>
+++ llvm/trunk/test/CodeGen/ARM/no-cfi.ll Wed Aug 30 11:06:51 2017<br>
@@ -11,7 +11,7 @@ target triple = "armv4t--linux"<br>
 !<a href="http://llvm.dbg.cu" rel="noreferrer" target="_blank">llvm.dbg.cu</a> = !{!2}<br>
 !llvm.module.flags = !{!7, !8, !9, !10}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = distinct !DIGlobalVariable(name: "f", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)<br>
 !2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 4.0.0 (trunk 290216)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5)<br>
 !3 = !DIFile(filename: "test2.c", directory: "/tmp")<br>
<br>
Modified: llvm/trunk/test/CodeGen/BPF/dwarfdump.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/BPF/dwarfdump.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/BPF/dwarfdump.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/BPF/dwarfdump.ll (original)<br>
+++ llvm/trunk/test/CodeGen/BPF/dwarfdump.ll Wed Aug 30 11:06:51 2017<br>
@@ -30,7 +30,7 @@ attributes #1 = { nounwind readnone }<br>
 !llvm.module.flags = !{!13, !14}<br>
 !llvm.ident = !{!15}<br>
<br>
-!0 = distinct !DIGlobalVariableExpression(var: !1)<br>
+!0 = distinct !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "myvar_c", scope: !2, file: !3, line: 3, type: !6, isLocal: true, isDefinition: true)<br>
 !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)<br>
 !3 = !DIFile(filename: "testprog.c", directory: "/w/llvm/bld")<br>
<br>
Modified: llvm/trunk/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll (original)<br>
+++ llvm/trunk/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll Wed Aug 30 11:06:51 2017<br>
@@ -42,9 +42,9 @@ declare void @extfunc(i8 signext)<br>
 !3 = !{!4}<br>
 ; Find list of global variables and make sure it's the one used by DICompileUnit<br>
 ; CHECK: [[GLOBALSNODE]] = !{[[GVNODE:![0-9]+]]}<br>
-!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "static_var", scope: !0, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true))<br>
+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "static_var", scope: !0, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true), expr: !DIExpression())<br>
 ; Debug info must also be updated to reflect new address space.<br>
-; CHECK: [[GVNODE]] = !DIGlobalVariableExpression(var: [[GVVAR:.*]])<br>
+; CHECK: [[GVNODE]] = !DIGlobalVariableExpression(var: [[GVVAR:.*]], expr: !DIExpression())<br>
 ; CHECK: [[GVVAR]] = !DIGlobalVariable(name: "static_var"<br>
 ; CHECK-SAME: scope: [[CUNODE]]<br>
 ; CHECK-SAME: type: [[TYPENODE:![0-9]+]]<br>
<br>
Modified: llvm/trunk/test/CodeGen/PowerPC/pr17168.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/pr17168.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/pr17168.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/PowerPC/pr17168.ll (original)<br>
+++ llvm/trunk/test/CodeGen/PowerPC/pr17168.ll Wed Aug 30 11:06:51 2017<br>
@@ -57,7 +57,7 @@ attributes #1 = { nounwind readnone }<br>
 !<a href="http://llvm.dbg.cu" rel="noreferrer" target="_blank">llvm.dbg.cu</a> = !{!7}<br>
 !llvm.module.flags = !{!261, !262}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "grid_points", scope: null, file: !2, line: 28, type: !3, isLocal: true, isDefinition: true)<br>
 !2 = !DIFile(filename: "./header.h", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")<br>
 !3 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 96, align: 32, elements: !5)<br>
@@ -68,255 +68,255 @@ attributes #1 = { nounwind readnone }<br>
 !8 = !DIFile(filename: "bt.c", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")<br>
 !9 = !{}<br>
 !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}<br>
-!11 = !DIGlobalVariableExpression(var: !12)<br>
+!11 = !DIGlobalVariableExpression(var: !12, expr: !DIExpression())<br>
 !12 = !DIGlobalVariable(name: "dt", scope: null, file: !2, line: 35, type: !13, isLocal: true, isDefinition: true)<br>
 !13 = !DIBasicType(name: "double", size: 64, align: 64, encoding: DW_ATE_float)<br>
-!14 = !DIGlobalVariableExpression(var: !15)<br>
+!14 = !DIGlobalVariableExpression(var: !15, expr: !DIExpression())<br>
 !15 = !DIGlobalVariable(name: "rhs", scope: null, file: !2, line: 68, type: !16, isLocal: true, isDefinition: true)<br>
 !16 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 1385839040, align: 64, elements: !17)<br>
 !17 = !{!18, !18, !18, !19}<br>
 !18 = !DISubrange(count: 163)<br>
 !19 = !DISubrange(count: 5)<br>
-!20 = !DIGlobalVariableExpression(var: !21)<br>
+!20 = !DIGlobalVariableExpression(var: !21, expr: !DIExpression())<br>
 !21 = !DIGlobalVariable(name: "zzcon5", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)<br>
-!22 = !DIGlobalVariableExpression(var: !23)<br>
+!22 = !DIGlobalVariableExpression(var: !23, expr: !DIExpression())<br>
 !23 = !DIGlobalVariable(name: "zzcon4", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)<br>
-!24 = !DIGlobalVariableExpression(var: !25)<br>
+!24 = !DIGlobalVariableExpression(var: !25, expr: !DIExpression())<br>
 !25 = !DIGlobalVariable(name: "zzcon3", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)<br>
-!26 = !DIGlobalVariableExpression(var: !27)<br>
+!26 = !DIGlobalVariableExpression(var: !27, expr: !DIExpression())<br>
 !27 = !DIGlobalVariable(name: "dz5tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)<br>
-!28 = !DIGlobalVariableExpression(var: !29)<br>
+!28 = !DIGlobalVariableExpression(var: !29, expr: !DIExpression())<br>
 !29 = !DIGlobalVariable(name: "dz4tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)<br>
-!30 = !DIGlobalVariableExpression(var: !31)<br>
+!30 = !DIGlobalVariableExpression(var: !31, expr: !DIExpression())<br>
 !31 = !DIGlobalVariable(name: "dz3tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)<br>
-!32 = !DIGlobalVariableExpression(var: !33)<br>
+!32 = !DIGlobalVariableExpression(var: !33, expr: !DIExpression())<br>
 !33 = !DIGlobalVariable(name: "zzcon2", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)<br>
-!34 = !DIGlobalVariableExpression(var: !35)<br>
+!34 = !DIGlobalVariableExpression(var: !35, expr: !DIExpression())<br>
 !35 = !DIGlobalVariable(name: "dz2tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)<br>
-!36 = !DIGlobalVariableExpression(var: !37)<br>
+!36 = !DIGlobalVariableExpression(var: !37, expr: !DIExpression())<br>
 !37 = !DIGlobalVariable(name: "tz2", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)<br>
-!38 = !DIGlobalVariableExpression(var: !39)<br>
+!38 = !DIGlobalVariableExpression(var: !39, expr: !DIExpression())<br>
 !39 = !DIGlobalVariable(name: "dz1tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)<br>
-!40 = !DIGlobalVariableExpression(var: !41)<br>
+!40 = !DIGlobalVariableExpression(var: !41, expr: !DIExpression())<br>
 !41 = !DIGlobalVariable(name: "yycon5", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)<br>
-!42 = !DIGlobalVariableExpression(var: !43)<br>
+!42 = !DIGlobalVariableExpression(var: !43, expr: !DIExpression())<br>
 !43 = !DIGlobalVariable(name: "yycon4", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)<br>
-!44 = !DIGlobalVariableExpression(var: !45)<br>
+!44 = !DIGlobalVariableExpression(var: !45, expr: !DIExpression())<br>
 !45 = !DIGlobalVariable(name: "yycon3", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)<br>
-!46 = !DIGlobalVariableExpression(var: !47)<br>
+!46 = !DIGlobalVariableExpression(var: !47, expr: !DIExpression())<br>
 !47 = !DIGlobalVariable(name: "dy5ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)<br>
-!48 = !DIGlobalVariableExpression(var: !49)<br>
+!48 = !DIGlobalVariableExpression(var: !49, expr: !DIExpression())<br>
 !49 = !DIGlobalVariable(name: "dy4ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)<br>
-!50 = !DIGlobalVariableExpression(var: !51)<br>
+!50 = !DIGlobalVariableExpression(var: !51, expr: !DIExpression())<br>
 !51 = !DIGlobalVariable(name: "dy3ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)<br>
-!52 = !DIGlobalVariableExpression(var: !53)<br>
+!52 = !DIGlobalVariableExpression(var: !53, expr: !DIExpression())<br>
 !53 = !DIGlobalVariable(name: "yycon2", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)<br>
-!54 = !DIGlobalVariableExpression(var: !55)<br>
+!54 = !DIGlobalVariableExpression(var: !55, expr: !DIExpression())<br>
 !55 = !DIGlobalVariable(name: "dy2ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)<br>
-!56 = !DIGlobalVariableExpression(var: !57)<br>
+!56 = !DIGlobalVariableExpression(var: !57, expr: !DIExpression())<br>
 !57 = !DIGlobalVariable(name: "ty2", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)<br>
-!58 = !DIGlobalVariableExpression(var: !59)<br>
+!58 = !DIGlobalVariableExpression(var: !59, expr: !DIExpression())<br>
 !59 = !DIGlobalVariable(name: "dy1ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)<br>
-!60 = !DIGlobalVariableExpression(var: !61)<br>
+!60 = !DIGlobalVariableExpression(var: !61, expr: !DIExpression())<br>
 !61 = !DIGlobalVariable(name: "dssp", scope: null, file: !2, line: 35, type: !13, isLocal: true, isDefinition: true)<br>
-!62 = !DIGlobalVariableExpression(var: !63)<br>
+!62 = !DIGlobalVariableExpression(var: !63, expr: !DIExpression())<br>
 !63 = !DIGlobalVariable(name: "c1", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)<br>
-!64 = !DIGlobalVariableExpression(var: !65)<br>
+!64 = !DIGlobalVariableExpression(var: !65, expr: !DIExpression())<br>
 !65 = !DIGlobalVariable(name: "xxcon5", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)<br>
-!66 = !DIGlobalVariableExpression(var: !67)<br>
+!66 = !DIGlobalVariableExpression(var: !67, expr: !DIExpression())<br>
 !67 = !DIGlobalVariable(name: "xxcon4", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)<br>
-!68 = !DIGlobalVariableExpression(var: !69)<br>
+!68 = !DIGlobalVariableExpression(var: !69, expr: !DIExpression())<br>
 !69 = !DIGlobalVariable(name: "xxcon3", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)<br>
-!70 = !DIGlobalVariableExpression(var: !71)<br>
+!70 = !DIGlobalVariableExpression(var: !71, expr: !DIExpression())<br>
 !71 = !DIGlobalVariable(name: "dx5tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)<br>
-!72 = !DIGlobalVariableExpression(var: !73)<br>
+!72 = !DIGlobalVariableExpression(var: !73, expr: !DIExpression())<br>
 !73 = !DIGlobalVariable(name: "dx4tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)<br>
-!74 = !DIGlobalVariableExpression(var: !75)<br>
+!74 = !DIGlobalVariableExpression(var: !75, expr: !DIExpression())<br>
 !75 = !DIGlobalVariable(name: "dx3tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)<br>
-!76 = !DIGlobalVariableExpression(var: !77)<br>
+!76 = !DIGlobalVariableExpression(var: !77, expr: !DIExpression())<br>
 !77 = !DIGlobalVariable(name: "c2", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)<br>
-!78 = !DIGlobalVariableExpression(var: !79)<br>
+!78 = !DIGlobalVariableExpression(var: !79, expr: !DIExpression())<br>
 !79 = !DIGlobalVariable(name: "con43", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)<br>
-!80 = !DIGlobalVariableExpression(var: !81)<br>
+!80 = !DIGlobalVariableExpression(var: !81, expr: !DIExpression())<br>
 !81 = !DIGlobalVariable(name: "xxcon2", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)<br>
-!82 = !DIGlobalVariableExpression(var: !83)<br>
+!82 = !DIGlobalVariableExpression(var: !83, expr: !DIExpression())<br>
 !83 = !DIGlobalVariable(name: "dx2tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)<br>
-!84 = !DIGlobalVariableExpression(var: !85)<br>
+!84 = !DIGlobalVariableExpression(var: !85, expr: !DIExpression())<br>
 !85 = !DIGlobalVariable(name: "tx2", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)<br>
-!86 = !DIGlobalVariableExpression(var: !87)<br>
+!86 = !DIGlobalVariableExpression(var: !87, expr: !DIExpression())<br>
 !87 = !DIGlobalVariable(name: "dx1tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)<br>
-!88 = !DIGlobalVariableExpression(var: !89)<br>
+!88 = !DIGlobalVariableExpression(var: !89, expr: !DIExpression())<br>
 !89 = !DIGlobalVariable(name: "forcing", scope: null, file: !2, line: 66, type: !90, isLocal: true, isDefinition: true)<br>
 !90 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 1663006848, align: 64, elements: !91)<br>
 !91 = !{!18, !18, !18, !92}<br>
 !92 = !DISubrange(count: 6)<br>
-!93 = !DIGlobalVariableExpression(var: !94)<br>
+!93 = !DIGlobalVariableExpression(var: !94, expr: !DIExpression())<br>
 !94 = !DIGlobalVariable(name: "qs", scope: null, file: !2, line: 63, type: !95, isLocal: true, isDefinition: true)<br>
 !95 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 277167808, align: 64, elements: !96)<br>
 !96 = !{!18, !18, !18}<br>
-!97 = !DIGlobalVariableExpression(var: !98)<br>
+!97 = !DIGlobalVariableExpression(var: !98, expr: !DIExpression())<br>
 !98 = !DIGlobalVariable(name: "square", scope: null, file: !2, line: 65, type: !95, isLocal: true, isDefinition: true)<br>
-!99 = !DIGlobalVariableExpression(var: !100)<br>
+!99 = !DIGlobalVariableExpression(var: !100, expr: !DIExpression())<br>
 !100 = !DIGlobalVariable(name: "ws", scope: null, file: !2, line: 62, type: !95, isLocal: true, isDefinition: true)<br>
-!101 = !DIGlobalVariableExpression(var: !102)<br>
+!101 = !DIGlobalVariableExpression(var: !102, expr: !DIExpression())<br>
 !102 = !DIGlobalVariable(name: "vs", scope: null, file: !2, line: 61, type: !95, isLocal: true, isDefinition: true)<br>
-!103 = !DIGlobalVariableExpression(var: !104)<br>
+!103 = !DIGlobalVariableExpression(var: !104, expr: !DIExpression())<br>
 !104 = !DIGlobalVariable(name: "us", scope: null, file: !2, line: 60, type: !95, isLocal: true, isDefinition: true)<br>
-!105 = !DIGlobalVariableExpression(var: !106)<br>
+!105 = !DIGlobalVariableExpression(var: !106, expr: !DIExpression())<br>
 !106 = !DIGlobalVariable(name: "rho_i", scope: null, file: !2, line: 64, type: !95, isLocal: true, isDefinition: true)<br>
-!107 = !DIGlobalVariableExpression(var: !108)<br>
+!107 = !DIGlobalVariableExpression(var: !108, expr: !DIExpression())<br>
 !108 = !DIGlobalVariable(name: "u", scope: null, file: !2, line: 67, type: !16, isLocal: true, isDefinition: true)<br>
-!109 = !DIGlobalVariableExpression(var: !110)<br>
+!109 = !DIGlobalVariableExpression(var: !110, expr: !DIExpression())<br>
 !110 = !DIGlobalVariable(name: "ce", scope: null, file: !2, line: 36, type: !111, isLocal: true, isDefinition: true)<br>
 !111 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 4160, align: 64, elements: !112)<br>
 !112 = !{!19, !113}<br>
 !113 = !DISubrange(count: 13)<br>
-!114 = !DIGlobalVariableExpression(var: !115)<br>
+!114 = !DIGlobalVariableExpression(var: !115, expr: !DIExpression())<br>
 !115 = !DIGlobalVariable(name: "dnzm1", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)<br>
-!116 = !DIGlobalVariableExpression(var: !117)<br>
+!116 = !DIGlobalVariableExpression(var: !117, expr: !DIExpression())<br>
 !117 = !DIGlobalVariable(name: "dnym1", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)<br>
-!118 = !DIGlobalVariableExpression(var: !119)<br>
+!118 = !DIGlobalVariableExpression(var: !119, expr: !DIExpression())<br>
 !119 = !DIGlobalVariable(name: "dnxm1", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)<br>
-!120 = !DIGlobalVariableExpression(var: !121)<br>
+!120 = !DIGlobalVariableExpression(var: !121, expr: !DIExpression())<br>
 !121 = !DIGlobalVariable(name: "zzcon1", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)<br>
-!122 = !DIGlobalVariableExpression(var: !123)<br>
+!122 = !DIGlobalVariableExpression(var: !123, expr: !DIExpression())<br>
 !123 = !DIGlobalVariable(name: "yycon1", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)<br>
-!124 = !DIGlobalVariableExpression(var: !125)<br>
+!124 = !DIGlobalVariableExpression(var: !125, expr: !DIExpression())<br>
 !125 = !DIGlobalVariable(name: "xxcon1", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)<br>
-!126 = !DIGlobalVariableExpression(var: !127)<br>
+!126 = !DIGlobalVariableExpression(var: !127, expr: !DIExpression())<br>
 !127 = !DIGlobalVariable(name: "con16", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)<br>
-!128 = !DIGlobalVariableExpression(var: !129)<br>
+!128 = !DIGlobalVariableExpression(var: !129, expr: !DIExpression())<br>
 !129 = !DIGlobalVariable(name: "c2iv", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)<br>
-!130 = !DIGlobalVariableExpression(var: !131)<br>
+!130 = !DIGlobalVariableExpression(var: !131, expr: !DIExpression())<br>
 !131 = !DIGlobalVariable(name: "c3c4tz3", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)<br>
-!132 = !DIGlobalVariableExpression(var: !133)<br>
+!132 = !DIGlobalVariableExpression(var: !133, expr: !DIExpression())<br>
 !133 = !DIGlobalVariable(name: "c3c4ty3", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)<br>
-!134 = !DIGlobalVariableExpression(var: !135)<br>
+!134 = !DIGlobalVariableExpression(var: !135, expr: !DIExpression())<br>
 !135 = !DIGlobalVariable(name: "c3c4tx3", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)<br>
-!136 = !DIGlobalVariableExpression(var: !137)<br>
+!136 = !DIGlobalVariableExpression(var: !137, expr: !DIExpression())<br>
 !137 = !DIGlobalVariable(name: "comz6", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)<br>
-!138 = !DIGlobalVariableExpression(var: !139)<br>
+!138 = !DIGlobalVariableExpression(var: !139, expr: !DIExpression())<br>
 !139 = !DIGlobalVariable(name: "comz5", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)<br>
-!140 = !DIGlobalVariableExpression(var: !141)<br>
+!140 = !DIGlobalVariableExpression(var: !141, expr: !DIExpression())<br>
 !141 = !DIGlobalVariable(name: "comz4", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)<br>
-!142 = !DIGlobalVariableExpression(var: !143)<br>
+!142 = !DIGlobalVariableExpression(var: !143, expr: !DIExpression())<br>
 !143 = !DIGlobalVariable(name: "comz1", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)<br>
-!144 = !DIGlobalVariableExpression(var: !145)<br>
+!144 = !DIGlobalVariableExpression(var: !145, expr: !DIExpression())<br>
 !145 = !DIGlobalVariable(name: "dtdssp", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)<br>
-!146 = !DIGlobalVariableExpression(var: !147)<br>
+!146 = !DIGlobalVariableExpression(var: !147, expr: !DIExpression())<br>
 !147 = !DIGlobalVariable(name: "c2dttz1", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)<br>
-!148 = !DIGlobalVariableExpression(var: !149)<br>
+!148 = !DIGlobalVariableExpression(var: !149, expr: !DIExpression())<br>
 !149 = !DIGlobalVariable(name: "c2dtty1", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)<br>
-!150 = !DIGlobalVariableExpression(var: !151)<br>
+!150 = !DIGlobalVariableExpression(var: !151, expr: !DIExpression())<br>
 !151 = !DIGlobalVariable(name: "c2dttx1", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)<br>
-!152 = !DIGlobalVariableExpression(var: !153)<br>
+!152 = !DIGlobalVariableExpression(var: !153, expr: !DIExpression())<br>
 !153 = !DIGlobalVariable(name: "dttz2", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)<br>
-!154 = !DIGlobalVariableExpression(var: !155)<br>
+!154 = !DIGlobalVariableExpression(var: !155, expr: !DIExpression())<br>
 !155 = !DIGlobalVariable(name: "dttz1", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)<br>
-!156 = !DIGlobalVariableExpression(var: !157)<br>
+!156 = !DIGlobalVariableExpression(var: !157, expr: !DIExpression())<br>
 !157 = !DIGlobalVariable(name: "dtty2", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)<br>
-!158 = !DIGlobalVariableExpression(var: !159)<br>
+!158 = !DIGlobalVariableExpression(var: !159, expr: !DIExpression())<br>
 !159 = !DIGlobalVariable(name: "dtty1", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)<br>
-!160 = !DIGlobalVariableExpression(var: !161)<br>
+!160 = !DIGlobalVariableExpression(var: !161, expr: !DIExpression())<br>
 !161 = !DIGlobalVariable(name: "dttx2", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)<br>
-!162 = !DIGlobalVariableExpression(var: !163)<br>
+!162 = !DIGlobalVariableExpression(var: !163, expr: !DIExpression())<br>
 !163 = !DIGlobalVariable(name: "dttx1", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)<br>
-!164 = !DIGlobalVariableExpression(var: !165)<br>
+!164 = !DIGlobalVariableExpression(var: !165, expr: !DIExpression())<br>
 !165 = !DIGlobalVariable(name: "c5dssp", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)<br>
-!166 = !DIGlobalVariableExpression(var: !167)<br>
+!166 = !DIGlobalVariableExpression(var: !167, expr: !DIExpression())<br>
 !167 = !DIGlobalVariable(name: "c4dssp", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)<br>
-!168 = !DIGlobalVariableExpression(var: !169)<br>
+!168 = !DIGlobalVariableExpression(var: !169, expr: !DIExpression())<br>
 !169 = !DIGlobalVariable(name: "dzmax", scope: null, file: !2, line: 37, type: !13, isLocal: true, isDefinition: true)<br>
-!170 = !DIGlobalVariableExpression(var: !171)<br>
+!170 = !DIGlobalVariableExpression(var: !171, expr: !DIExpression())<br>
 !171 = !DIGlobalVariable(name: "dymax", scope: null, file: !2, line: 37, type: !13, isLocal: true, isDefinition: true)<br>
-!172 = !DIGlobalVariableExpression(var: !173)<br>
+!172 = !DIGlobalVariableExpression(var: !173, expr: !DIExpression())<br>
 !173 = !DIGlobalVariable(name: "dxmax", scope: null, file: !2, line: 37, type: !13, isLocal: true, isDefinition: true)<br>
-!174 = !DIGlobalVariableExpression(var: !175)<br>
+!174 = !DIGlobalVariableExpression(var: !175, expr: !DIExpression())<br>
 !175 = !DIGlobalVariable(name: "dz5", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)<br>
-!176 = !DIGlobalVariableExpression(var: !177)<br>
+!176 = !DIGlobalVariableExpression(var: !177, expr: !DIExpression())<br>
 !177 = !DIGlobalVariable(name: "dz4", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)<br>
-!178 = !DIGlobalVariableExpression(var: !179)<br>
+!178 = !DIGlobalVariableExpression(var: !179, expr: !DIExpression())<br>
 !179 = !DIGlobalVariable(name: "dz3", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)<br>
-!180 = !DIGlobalVariableExpression(var: !181)<br>
+!180 = !DIGlobalVariableExpression(var: !181, expr: !DIExpression())<br>
 !181 = !DIGlobalVariable(name: "dz2", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)<br>
-!182 = !DIGlobalVariableExpression(var: !183)<br>
+!182 = !DIGlobalVariableExpression(var: !183, expr: !DIExpression())<br>
 !183 = !DIGlobalVariable(name: "dz1", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)<br>
-!184 = !DIGlobalVariableExpression(var: !185)<br>
+!184 = !DIGlobalVariableExpression(var: !185, expr: !DIExpression())<br>
 !185 = !DIGlobalVariable(name: "dy5", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)<br>
-!186 = !DIGlobalVariableExpression(var: !187)<br>
+!186 = !DIGlobalVariableExpression(var: !187, expr: !DIExpression())<br>
 !187 = !DIGlobalVariable(name: "dy4", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)<br>
-!188 = !DIGlobalVariableExpression(var: !189)<br>
+!188 = !DIGlobalVariableExpression(var: !189, expr: !DIExpression())<br>
 !189 = !DIGlobalVariable(name: "dy3", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)<br>
-!190 = !DIGlobalVariableExpression(var: !191)<br>
+!190 = !DIGlobalVariableExpression(var: !191, expr: !DIExpression())<br>
 !191 = !DIGlobalVariable(name: "dy2", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)<br>
-!192 = !DIGlobalVariableExpression(var: !193)<br>
+!192 = !DIGlobalVariableExpression(var: !193, expr: !DIExpression())<br>
 !193 = !DIGlobalVariable(name: "dy1", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)<br>
-!194 = !DIGlobalVariableExpression(var: !195)<br>
+!194 = !DIGlobalVariableExpression(var: !195, expr: !DIExpression())<br>
 !195 = !DIGlobalVariable(name: "dx5", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)<br>
-!196 = !DIGlobalVariableExpression(var: !197)<br>
+!196 = !DIGlobalVariableExpression(var: !197, expr: !DIExpression())<br>
 !197 = !DIGlobalVariable(name: "dx4", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)<br>
-!198 = !DIGlobalVariableExpression(var: !199)<br>
+!198 = !DIGlobalVariableExpression(var: !199, expr: !DIExpression())<br>
 !199 = !DIGlobalVariable(name: "dx3", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)<br>
-!200 = !DIGlobalVariableExpression(var: !201)<br>
+!200 = !DIGlobalVariableExpression(var: !201, expr: !DIExpression())<br>
 !201 = !DIGlobalVariable(name: "dx2", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)<br>
-!202 = !DIGlobalVariableExpression(var: !203)<br>
+!202 = !DIGlobalVariableExpression(var: !203, expr: !DIExpression())<br>
 !203 = !DIGlobalVariable(name: "dx1", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)<br>
-!204 = !DIGlobalVariableExpression(var: !205)<br>
+!204 = !DIGlobalVariableExpression(var: !205, expr: !DIExpression())<br>
 !205 = !DIGlobalVariable(name: "tz3", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)<br>
-!206 = !DIGlobalVariableExpression(var: !207)<br>
+!206 = !DIGlobalVariableExpression(var: !207, expr: !DIExpression())<br>
 !207 = !DIGlobalVariable(name: "tz1", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)<br>
-!208 = !DIGlobalVariableExpression(var: !209)<br>
+!208 = !DIGlobalVariableExpression(var: !209, expr: !DIExpression())<br>
 !209 = !DIGlobalVariable(name: "ty3", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)<br>
-!210 = !DIGlobalVariableExpression(var: !211)<br>
+!210 = !DIGlobalVariableExpression(var: !211, expr: !DIExpression())<br>
 !211 = !DIGlobalVariable(name: "ty1", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)<br>
-!212 = !DIGlobalVariableExpression(var: !213)<br>
+!212 = !DIGlobalVariableExpression(var: !213, expr: !DIExpression())<br>
 !213 = !DIGlobalVariable(name: "tx3", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)<br>
-!214 = !DIGlobalVariableExpression(var: !215)<br>
+!214 = !DIGlobalVariableExpression(var: !215, expr: !DIExpression())<br>
 !215 = !DIGlobalVariable(name: "tx1", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)<br>
-!216 = !DIGlobalVariableExpression(var: !217)<br>
+!216 = !DIGlobalVariableExpression(var: !217, expr: !DIExpression())<br>
 !217 = !DIGlobalVariable(name: "conz1", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)<br>
-!218 = !DIGlobalVariableExpression(var: !219)<br>
+!218 = !DIGlobalVariableExpression(var: !219, expr: !DIExpression())<br>
 !219 = !DIGlobalVariable(name: "c1345", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)<br>
-!220 = !DIGlobalVariableExpression(var: !221)<br>
+!220 = !DIGlobalVariableExpression(var: !221, expr: !DIExpression())<br>
 !221 = !DIGlobalVariable(name: "c3c4", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)<br>
-!222 = !DIGlobalVariableExpression(var: !223)<br>
+!222 = !DIGlobalVariableExpression(var: !223, expr: !DIExpression())<br>
 !223 = !DIGlobalVariable(name: "c1c5", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)<br>
-!224 = !DIGlobalVariableExpression(var: !225)<br>
+!224 = !DIGlobalVariableExpression(var: !225, expr: !DIExpression())<br>
 !225 = !DIGlobalVariable(name: "c1c2", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)<br>
-!226 = !DIGlobalVariableExpression(var: !227)<br>
+!226 = !DIGlobalVariableExpression(var: !227, expr: !DIExpression())<br>
 !227 = !DIGlobalVariable(name: "c5", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)<br>
-!228 = !DIGlobalVariableExpression(var: !229)<br>
+!228 = !DIGlobalVariableExpression(var: !229, expr: !DIExpression())<br>
 !229 = !DIGlobalVariable(name: "c4", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)<br>
-!230 = !DIGlobalVariableExpression(var: !231)<br>
+!230 = !DIGlobalVariableExpression(var: !231, expr: !DIExpression())<br>
 !231 = !DIGlobalVariable(name: "c3", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)<br>
-!232 = !DIGlobalVariableExpression(var: !233)<br>
+!232 = !DIGlobalVariableExpression(var: !233, expr: !DIExpression())<br>
 !233 = !DIGlobalVariable(name: "lhs", scope: null, file: !2, line: 69, type: !234, isLocal: true, isDefinition: true)<br>
 !234 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 20787585600, align: 64, elements: !235)<br>
 !235 = !{!18, !18, !18, !6, !19, !19}<br>
-!236 = !DIGlobalVariableExpression(var: !237)<br>
+!236 = !DIGlobalVariableExpression(var: !237, expr: !DIExpression())<br>
 !237 = !DIGlobalVariable(name: "q", scope: null, file: !2, line: 73, type: !238, isLocal: true, isDefinition: true)<br>
 !238 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 10368, align: 64, elements: !239)<br>
 !239 = !{!240}<br>
 !240 = !DISubrange(count: 162)<br>
-!241 = !DIGlobalVariableExpression(var: !242)<br>
+!241 = !DIGlobalVariableExpression(var: !242, expr: !DIExpression())<br>
 !242 = !DIGlobalVariable(name: "cuf", scope: null, file: !2, line: 72, type: !238, isLocal: true, isDefinition: true)<br>
-!243 = !DIGlobalVariableExpression(var: !244)<br>
+!243 = !DIGlobalVariableExpression(var: !244, expr: !DIExpression())<br>
 !244 = !DIGlobalVariable(name: "buf", scope: null, file: !2, line: 75, type: !245, isLocal: true, isDefinition: true)<br>
 !245 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 51840, align: 64, elements: !246)<br>
 !246 = !{!240, !19}<br>
-!247 = !DIGlobalVariableExpression(var: !248)<br>
+!247 = !DIGlobalVariableExpression(var: !248, expr: !DIExpression())<br>
 !248 = !DIGlobalVariable(name: "ue", scope: null, file: !2, line: 74, type: !245, isLocal: true, isDefinition: true)<br>
-!249 = !DIGlobalVariableExpression(var: !250)<br>
+!249 = !DIGlobalVariableExpression(var: !250, expr: !DIExpression())<br>
 !250 = !DIGlobalVariable(name: "njac", scope: null, file: !2, line: 86, type: !251, isLocal: true, isDefinition: true)<br>
 !251 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 6886684800, align: 64, elements: !252)<br>
 !252 = !{!18, !18, !240, !19, !19}<br>
-!253 = !DIGlobalVariableExpression(var: !254)<br>
+!253 = !DIGlobalVariableExpression(var: !254, expr: !DIExpression())<br>
 !254 = !DIGlobalVariable(name: "fjac", scope: null, file: !2, line: 84, type: !251, isLocal: true, isDefinition: true)<br>
-!255 = !DIGlobalVariableExpression(var: !256)<br>
+!255 = !DIGlobalVariableExpression(var: !256, expr: !DIExpression())<br>
 !256 = !DIGlobalVariable(name: "tmp3", scope: null, file: !2, line: 88, type: !13, isLocal: true, isDefinition: true)<br>
-!257 = !DIGlobalVariableExpression(var: !258)<br>
+!257 = !DIGlobalVariableExpression(var: !258, expr: !DIExpression())<br>
 !258 = !DIGlobalVariable(name: "tmp2", scope: null, file: !2, line: 88, type: !13, isLocal: true, isDefinition: true)<br>
-!259 = !DIGlobalVariableExpression(var: !260)<br>
+!259 = !DIGlobalVariableExpression(var: !260, expr: !DIExpression())<br>
 !260 = !DIGlobalVariable(name: "tmp1", scope: null, file: !2, line: 88, type: !13, isLocal: true, isDefinition: true)<br>
 !261 = !{i32 2, !"Dwarf Version", i32 4}<br>
 !262 = !{i32 1, !"Debug Info Version", i32 3}<br>
<br>
Modified: llvm/trunk/test/CodeGen/PowerPC/pr24546.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/pr24546.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/pr24546.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/PowerPC/pr24546.ll (original)<br>
+++ llvm/trunk/test/CodeGen/PowerPC/pr24546.ll Wed Aug 30 11:06:51 2017<br>
@@ -79,7 +79,7 @@ attributes #3 = { nounwind }<br>
 !21 = !{!22}<br>
 !22 = !DILocalVariable(name: "power", arg: 1, scope: !18, file: !1, line: 1, type: !9)<br>
 !23 = !{!24}<br>
-!24 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "powers", scope: !18, file: !1, line: 3, type: !25, isLocal: true, isDefinition: true))<br>
+!24 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "powers", scope: !18, file: !1, line: 3, type: !25, isLocal: true, isDefinition: true), expr: !DIExpression())<br>
 !25 = !DICompositeType(tag: DW_TAG_array_type, baseType: !26, size: 1472, align: 64, elements: !27)<br>
 !26 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4)<br>
 !27 = !{!28}<br>
<br>
Modified: llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll (original)<br>
+++ llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll Wed Aug 30 11:06:51 2017<br>
@@ -45,7 +45,7 @@ attributes #0 = { nounwind readnone }<br>
 !1 = !DIFile(filename: "crash.c", directory: "wasm/tests")<br>
 !2 = !{}<br>
 !3 = !{!4}<br>
-!4 = !DIGlobalVariableExpression(var: !5)<br>
+!4 = !DIGlobalVariableExpression(var: !5, expr: !DIExpression())<br>
 !5 = !DIGlobalVariable(name: "key", scope: !0, file: !1, line: 7, type: !6, isLocal: false, isDefinition: true)<br>
 !6 = !DICompositeType(tag: DW_TAG_array_type, baseType: !7, size: 120, align: 8, elements: !10)<br>
 !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !8, line: 185, baseType: !9)<br>
<br>
Modified: llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll (original)<br>
+++ llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll Wed Aug 30 11:06:51 2017<br>
@@ -35,7 +35,7 @@ attributes #1 = { nounwind readnone }<br>
 !1 = !DIFile(filename: "foo.c", directory: "/tmp/")<br>
 !2 = !{}<br>
 !3 = !{!4}<br>
-!4 = !DIGlobalVariableExpression(var: !5)<br>
+!4 = !DIGlobalVariableExpression(var: !5, expr: !DIExpression())<br>
 !5 = !DIGlobalVariable(name: "ret", scope: !1, file: !1, line: 7, type: !6, isLocal: false, isDefinition: true)<br>
 !6 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br>
 !7 = !{i32 1, !"Debug Info Version", i32 3}<br>
<br>
Modified: llvm/trunk/test/CodeGen/X86/dwarf-headers.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/dwarf-headers.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/dwarf-headers.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/X86/dwarf-headers.ll (original)<br>
+++ llvm/trunk/test/CodeGen/X86/dwarf-headers.ll Wed Aug 30 11:06:51 2017<br>
@@ -94,7 +94,7 @@ target triple = "x86_64-unknown-linux-gn<br>
 !llvm.module.flags = !{!10, !11}<br>
 !llvm.ident = !{!12}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = distinct !DIGlobalVariable(name: "s", scope: !2, file: !3, line: 5, type: !6, isLocal: false, isDefinition: true)<br>
 !2 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !3, producer: "clang version 5.0.0 (trunk 295942)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5)<br>
 !3 = !DIFile(filename: "t.cpp", directory: "/home/probinson/projects/scratch")<br>
<br>
Modified: llvm/trunk/test/CodeGen/X86/fp128-g.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fp128-g.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fp128-g.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/X86/fp128-g.ll (original)<br>
+++ llvm/trunk/test/CodeGen/X86/fp128-g.ll Wed Aug 30 11:06:51 2017<br>
@@ -118,7 +118,7 @@ attributes #2 = { nounwind readnone }<br>
 !llvm.module.flags = !{!8, !9, !10}<br>
 !llvm.ident = !{!11}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "ld_ptr", scope: !2, file: !3, line: 17, type: !6, isLocal: false, isDefinition: true)<br>
 !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)<br>
 !3 = !DIFile(filename: "fp128-g.c", directory: "/disk5/chh/Debug/ld.loop")<br>
<br>
Modified: llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll (original)<br>
+++ llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll Wed Aug 30 11:06:51 2017<br>
@@ -49,14 +49,14 @@ attributes #0 = { nounwind readnone }<br>
 !<a href="http://llvm.dbg.cu" rel="noreferrer" target="_blank">llvm.dbg.cu</a> = !{!10}<br>
 !llvm.module.flags = !{!14, !15}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "g1", scope: null, file: !2, line: 5, type: !3, isLocal: false, isDefinition: true)<br>
 !2 = !DIFile(filename: "f1.cpp", directory: "x87stackifier")<br>
 !3 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpu_extended", file: !2, line: 3, baseType: !4)<br>
 !4 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpu_register", file: !2, line: 2, baseType: !5)<br>
 !5 = !DIDerivedType(tag: DW_TAG_typedef, name: "uae_f64", file: !2, line: 1, baseType: !6)<br>
 !6 = !DIBasicType(name: "long double", size: 128, align: 128, encoding: DW_ATE_float)<br>
-!7 = !DIGlobalVariableExpression(var: !8)<br>
+!7 = !DIGlobalVariableExpression(var: !8, expr: !DIExpression())<br>
 !8 = !DIGlobalVariable(name: "g2", scope: null, file: !2, line: 6, type: !9, isLocal: false, isDefinition: true)<br>
 !9 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br>
 !10 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !11, producer: "clang version 3.6.0 (<a href="http://llvm.org/git/clang" rel="noreferrer" target="_blank">http://llvm.org/git/clang</a> 8444ae7cfeaefae031f8fedf0d1435ca3b14d90b) (<a href="http://llvm.org/git/llvm" rel="noreferrer" target="_blank">http://llvm.org/git/llvm</a> 886f0101a7d176543b831f5efb74c03427244a55)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !12, retainedTypes: !12, globals: !13, imports: !12)<br>
<br>
Modified: llvm/trunk/test/CodeGen/X86/machine-outliner-debuginfo.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/machine-outliner-debuginfo.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/machine-outliner-debuginfo.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/X86/machine-outliner-debuginfo.ll (original)<br>
+++ llvm/trunk/test/CodeGen/X86/machine-outliner-debuginfo.ll Wed Aug 30 11:06:51 2017<br>
@@ -48,7 +48,7 @@ attributes #0 = { noredzone nounwind ssp<br>
 !llvm.module.flags = !{!7, !8, !9}<br>
 !llvm.ident = !{!10}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = distinct !DIGlobalVariable(name: "x", scope: !2, file: !3, line: 2, type: !6, isLocal: false, isDefinition: true)<br>
 !2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 5.0.0", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5)<br>
 !3 = !DIFile(filename: "debug-test.c", directory: "dir")<br>
<br>
Modified: llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll (original)<br>
+++ llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll Wed Aug 30 11:06:51 2017<br>
@@ -67,7 +67,7 @@ attributes #0 = { nounwind readnone }<br>
 !<a href="http://llvm.dbg.cu" rel="noreferrer" target="_blank">llvm.dbg.cu</a> = !{!4}<br>
 !llvm.module.flags = !{!15, !16}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "argc", scope: null, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)<br>
 !2 = !DIFile(filename: "test.cpp", directory: "")<br>
 !3 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)<br>
<br>
Modified: llvm/trunk/test/CodeGen/X86/null-streamer.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/null-streamer.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/null-streamer.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/X86/null-streamer.ll (original)<br>
+++ llvm/trunk/test/CodeGen/X86/null-streamer.ll Wed Aug 30 11:06:51 2017<br>
@@ -20,7 +20,7 @@ define void @f1() {<br>
 !1 = !DIFile(filename: "file.c", directory: "")<br>
 !2 = !{}<br>
 !3 = !{!4}<br>
-!4 = !DIGlobalVariableExpression(var: !5)<br>
+!4 = !DIGlobalVariableExpression(var: !5, expr: !DIExpression())<br>
 !5 = !DIGlobalVariable(name: "i", linkageName: "_ZL1i", scope: null, file: !1, line: 1, type: !6, isLocal: true, isDefinition: true)<br>
 !6 = !DIBasicType(size: 32, align: 32, encoding: DW_ATE_signed)<br>
 !7 = !{i32 2, !"Dwarf Version", i32 3}<br>
<br>
Modified: llvm/trunk/test/DebugInfo/AArch64/big-endian.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AArch64/big-endian.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AArch64/big-endian.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/DebugInfo/AArch64/big-endian.ll (original)<br>
+++ llvm/trunk/test/DebugInfo/AArch64/big-endian.ll Wed Aug 30 11:06:51 2017<br>
@@ -10,7 +10,7 @@ target triple = "aarch64_be--none-eabi"<br>
 !llvm.module.flags = !{!8, !9}<br>
 !llvm.ident = !{!10}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "a", scope: null, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)<br>
 !2 = !DIFile(filename: "<stdin>", directory: "/work/validation")<br>
 !3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br>
<br>
Modified: llvm/trunk/test/DebugInfo/AArch64/bitfields.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AArch64/bitfields.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AArch64/bitfields.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/DebugInfo/AArch64/bitfields.ll (original)<br>
+++ llvm/trunk/test/DebugInfo/AArch64/bitfields.ll Wed Aug 30 11:06:51 2017<br>
@@ -55,7 +55,7 @@ target triple = "aarch64_be--linux-gnu"<br>
 !llvm.module.flags = !{!13, !14, !15}<br>
 !llvm.ident = !{!16}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "b", scope: !2, file: !3, line: 8, type: !6, isLocal: false, isDefinition: true)<br>
 !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)<br>
 !3 = !DIFile(filename: "bitfields.c", directory: "/")<br>
<br>
Modified: llvm/trunk/test/DebugInfo/AArch64/frameindices.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AArch64/frameindices.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AArch64/frameindices.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/DebugInfo/AArch64/frameindices.ll (original)<br>
+++ llvm/trunk/test/DebugInfo/AArch64/frameindices.ll Wed Aug 30 11:06:51 2017<br>
@@ -160,11 +160,11 @@ attributes #4 = { builtin }<br>
 !llvm.module.flags = !{!29, !30}<br>
 !llvm.ident = !{!31}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "a", scope: null, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)<br>
 !2 = !DIFile(filename: "test.cpp", directory: "")<br>
 !3 = !DIBasicType(name: "long int", size: 64, align: 64, encoding: DW_ATE_signed)<br>
-!4 = !DIGlobalVariableExpression(var: !5)<br>
+!4 = !DIGlobalVariableExpression(var: !5, expr: !DIExpression())<br>
 !5 = !DIGlobalVariable(name: "b", scope: null, file: !2, line: 7, type: !6, isLocal: false, isDefinition: true)<br>
 !6 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64, align: 64)<br>
 !7 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br>
<br>
Modified: llvm/trunk/test/DebugInfo/AMDGPU/variable-locations.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AMDGPU/variable-locations.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AMDGPU/variable-locations.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/DebugInfo/AMDGPU/variable-locations.ll (original)<br>
+++ llvm/trunk/test/DebugInfo/AMDGPU/variable-locations.ll Wed Aug 30 11:06:51 2017<br>
@@ -74,13 +74,13 @@ entry:<br>
 !llvm.module.flags = !{!10, !11}<br>
 !llvm.ident = !{!12}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = distinct !DIGlobalVariable(name: "GlobA", scope: !2, file: !3, line: 1, type: !8, isLocal: false, isDefinition: true)<br>
 !2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 5.0.0", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5)<br>
 !3 = !DIFile(filename: "<a href="http://variable-locations.cl" rel="noreferrer" target="_blank">variable-locations.cl</a>", directory: "/some/random/directory")<br>
 !4 = !{}<br>
 !5 = !{!0, !6}<br>
-!6 = !DIGlobalVariableExpression(var: !7)<br>
+!6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression())<br>
 !7 = distinct !DIGlobalVariable(name: "GlobB", scope: !2, file: !3, line: 2, type: !8, isLocal: false, isDefinition: true)<br>
 !8 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)<br>
 !9 = !{i32 2, i32 0}<br>
<br>
Modified: llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll (original)<br>
+++ llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll Wed Aug 30 11:06:51 2017<br>
@@ -19,7 +19,7 @@ target datalayout = "E-m:e-p:32:32-i64:6<br>
 !llvm.module.flags = !{!13, !14, !15}<br>
 !llvm.ident = !{!16}<br>
<br>
-!0 = distinct !DIGlobalVariableExpression(var: !1)<br>
+!0 = distinct !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "s", scope: !2, file: !3, line: 6, type: !6, isLocal: false, isDefinition: true)<br>
 !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)<br>
 !3 = !DIFile(filename: "bitfield.c", directory: "/Volumes/Data/llvm")<br>
<br>
Modified: llvm/trunk/test/DebugInfo/ARM/bitfield.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/bitfield.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/bitfield.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/DebugInfo/ARM/bitfield.ll (original)<br>
+++ llvm/trunk/test/DebugInfo/ARM/bitfield.ll Wed Aug 30 11:06:51 2017<br>
@@ -27,7 +27,7 @@ target triple = "thumbv7-apple-ios"<br>
 !llvm.module.flags = !{!12, !13, !14, !15, !16}<br>
 !llvm.ident = !{!17}<br>
<br>
-!0 = !DIGlobalVariableExpression(var: !1)<br>
+!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())<br>
 !1 = !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 5, type: !6, isLocal: false, isDefinition: true)<br>
 !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)<br>
 !3 = !DIFile(filename: "test.i", directory: "/")<br>
<br>
Modified: llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll?rev=312144&r1=312143&r2=312144&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll?rev=312144&r1=312143&r2=312144&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll (original)<br>
+++ llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-<</blockquote></div></div>