<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hey Adrian,<div class=""><br class=""></div><div class="">Can you update llvm-bcanalyzer to account for <span style="font-family: Menlo; font-size: 11px;" class="">METADATA_GLOBAL_VAR_EXPR?</span></div><div class=""><font face="Menlo" class=""><span style="font-size: 11px;" class=""><br class=""></span></font></div><div class=""><font face="Menlo" class=""><span style="font-size: 11px;" class="">Thanks,</span></font></div><div class=""><font face="Menlo" class=""><span style="font-size: 11px;" class=""><br class=""></span></font></div><div class=""><font face="Menlo" class=""><span style="font-size: 11px;" class="">Mehdi</span></font></div><div class=""><font face="Menlo" class=""><span style="font-size: 11px;" class=""><br class=""></span></font><div><blockquote type="cite" class=""><div class="">On Dec 19, 2016, at 6:09 PM, Adrian Prantl via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="">llvm-commits@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Author: adrian<br class="">Date: Mon Dec 19 20:09:43 2016<br class="">New Revision: 290153<br class=""><br class="">URL: <a href="http://llvm.org/viewvc/llvm-project?rev=290153&view=rev" class="">http://llvm.org/viewvc/llvm-project?rev=290153&view=rev</a><br class="">Log:<br class="">[IR] Remove the DIExpression field from DIGlobalVariable.<br class=""><br class="">This patch implements PR31013 by introducing a<br class="">DIGlobalVariableExpression that holds a pair of DIGlobalVariable and<br class="">DIExpression.<br class=""><br class="">Currently, DIGlobalVariables holds a DIExpression. This is not the<br class="">best way to model this:<br class=""><br class="">(1) The DIGlobalVariable should describe the source level variable,<br class=""> not how to get to its location.<br class=""><br class="">(2) It makes it unsafe/hard to update the expressions when we call<br class=""> replaceExpression on the DIGLobalVariable.<br class=""><br class="">(3) It makes it impossible to represent a global variable that is in<br class=""> more than one location (e.g., a variable with multiple<br class=""> DW_OP_LLVM_fragment-s). We also moved away from attaching the<br class=""> DIExpression to DILocalVariable for the same reasons.<br class=""><br class="">This reapplies r289902 with additional testcase upgrades and a change<br class="">to the Bitcode record for DIGlobalVariable, that makes upgrading the<br class="">old format unambiguous also for variables without DIExpressions.<br class=""><br class=""><<a href="rdar://problem/29250149" class="">rdar://problem/29250149</a>><br class=""><a href="https://llvm.org/bugs/show_bug.cgi?id=31013" class="">https://llvm.org/bugs/show_bug.cgi?id=31013</a><br class="">Differential Revision: https://reviews.llvm.org/D26769<br class=""><br class="">Added:<br class=""> llvm/trunk/test/Assembler/DIGlobalVariableExpression.ll<br class=""> - copied, changed from r290148, llvm/trunk/test/Assembler/diglobalvariable.ll<br class=""> llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll<br class=""> llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll.bc<br class=""> llvm/trunk/test/DebugInfo/X86/split-global.ll<br class=""> llvm/trunk/test/Verifier/diglobalvariable.ll<br class="">Modified:<br class=""> llvm/trunk/include/llvm/Bitcode/LLVMBitCodes.h<br class=""> llvm/trunk/include/llvm/IR/DIBuilder.h<br class=""> llvm/trunk/include/llvm/IR/DebugInfo.h<br class=""> llvm/trunk/include/llvm/IR/DebugInfoMetadata.h<br class=""> llvm/trunk/include/llvm/IR/GlobalVariable.h<br class=""> llvm/trunk/include/llvm/IR/Metadata.def<br class=""> llvm/trunk/lib/Analysis/ModuleDebugInfoPrinter.cpp<br class=""> llvm/trunk/lib/AsmParser/LLParser.cpp<br class=""> llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp<br class=""> llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp<br class=""> llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp<br class=""> llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp<br class=""> llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h<br class=""> llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp<br class=""> llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.h<br class=""> llvm/trunk/lib/IR/AsmWriter.cpp<br class=""> llvm/trunk/lib/IR/DIBuilder.cpp<br class=""> llvm/trunk/lib/IR/DebugInfo.cpp<br class=""> llvm/trunk/lib/IR/DebugInfoMetadata.cpp<br class=""> llvm/trunk/lib/IR/LLVMContextImpl.h<br class=""> llvm/trunk/lib/IR/Metadata.cpp<br class=""> llvm/trunk/lib/IR/Verifier.cpp<br class=""> llvm/trunk/lib/Transforms/IPO/StripSymbols.cpp<br class=""> llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp<br class=""> llvm/trunk/test/Assembler/diglobalvariable.ll<br class=""> llvm/trunk/test/Bitcode/diglobalvariable-3.8.ll<br class=""> llvm/trunk/test/Bitcode/diglobalvariable-3.8.ll.bc<br class=""> llvm/trunk/test/Bitcode/dityperefs-3.8.ll<br class=""> llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll<br class=""> llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll<br class=""> llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll<br class=""> llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll<br class=""> llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll<br class=""> llvm/trunk/test/CodeGen/BPF/dwarfdump.ll<br class=""> llvm/trunk/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll<br class=""> llvm/trunk/test/CodeGen/PowerPC/pr17168.ll<br class=""> llvm/trunk/test/CodeGen/PowerPC/pr24546.ll<br class=""> llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll<br class=""> llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll<br class=""> llvm/trunk/test/CodeGen/X86/fp128-g.ll<br class=""> llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll<br class=""> llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll<br class=""> llvm/trunk/test/CodeGen/X86/null-streamer.ll<br class=""> llvm/trunk/test/DebugInfo/AArch64/big-endian.ll<br class=""> llvm/trunk/test/DebugInfo/AArch64/bitfields.ll<br class=""> llvm/trunk/test/DebugInfo/AArch64/frameindices.ll<br class=""> llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll<br class=""> llvm/trunk/test/DebugInfo/ARM/bitfield.ll<br class=""> llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll<br class=""> llvm/trunk/test/DebugInfo/ARM/tls.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/anonymous-struct.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/big-type.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/bitfields.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/enum.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/global-dllimport.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/globals-discarded.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/globals.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/inheritance.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/inlining-files.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/inlining-header.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/inlining-levels.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/int8-char-type.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/long-type-name.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/register-variables.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/scopes.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/types-array-advanced.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/types-nested-class.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/types-ptr-to-member.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/udts.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/virtual-method-kinds.ll<br class=""> llvm/trunk/test/DebugInfo/COFF/vtable-optzn-array.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/2009-11-05-DeadGlobalVariable.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/2009-11-06-NamelessGlobalVariable.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/2010-06-29-InlinedFnLocalVar.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/accel-table-hash-collisions.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/dbg-at-specficiation.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/debuginfofinder-forward-declaration.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/dwarf-public-names.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/enum.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/global.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/gvn.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/member-pointers.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/namespace.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/recursive_inlining.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/template-recursive-void.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/tu-member-pointer.ll<br class=""> llvm/trunk/test/DebugInfo/Generic/typedef.ll<br class=""> llvm/trunk/test/DebugInfo/MIR/X86/live-debug-values.mir<br class=""> llvm/trunk/test/DebugInfo/MIR/X86/mlicm-hoist.mir<br class=""> llvm/trunk/test/DebugInfo/Mips/InlinedFnLocalVar.ll<br class=""> llvm/trunk/test/DebugInfo/PowerPC/tls-fission.ll<br class=""> llvm/trunk/test/DebugInfo/PowerPC/tls.ll<br class=""> llvm/trunk/test/DebugInfo/WebAssembly/dbg-declare.ll<br class=""> llvm/trunk/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll<br class=""> llvm/trunk/test/DebugInfo/X86/DIModuleContext.ll<br class=""> llvm/trunk/test/DebugInfo/X86/DW_AT_calling-convention.ll<br class=""> llvm/trunk/test/DebugInfo/X86/DW_AT_specification.ll<br class=""> llvm/trunk/test/DebugInfo/X86/DW_TAG_friend.ll<br class=""> llvm/trunk/test/DebugInfo/X86/InlinedFnLocalVar.ll<br class=""> llvm/trunk/test/DebugInfo/X86/PR26148.ll<br class=""> llvm/trunk/test/DebugInfo/X86/align_c11.ll<br class=""> llvm/trunk/test/DebugInfo/X86/align_cpp11.ll<br class=""> llvm/trunk/test/DebugInfo/X86/align_objc.ll<br class=""> llvm/trunk/test/DebugInfo/X86/arange-and-stub.ll<br class=""> llvm/trunk/test/DebugInfo/X86/arange.ll<br class=""> llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-4.ll<br class=""> llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-5.ll<br class=""> llvm/trunk/test/DebugInfo/X86/bitfields-dwarf4.ll<br class=""> llvm/trunk/test/DebugInfo/X86/bitfields.ll<br class=""> llvm/trunk/test/DebugInfo/X86/c-type-units.ll<br class=""> llvm/trunk/test/DebugInfo/X86/concrete_out_of_line.ll<br class=""> llvm/trunk/test/DebugInfo/X86/cu-ranges-odr.ll<br class=""> llvm/trunk/test/DebugInfo/X86/data_member_location.ll<br class=""> llvm/trunk/test/DebugInfo/X86/dbg-subrange.ll<br class=""> llvm/trunk/test/DebugInfo/X86/dbg-value-inlined-parameter.ll<br class=""> llvm/trunk/test/DebugInfo/X86/dbg-value-regmask-clobber.ll<br class=""> llvm/trunk/test/DebugInfo/X86/debug-info-access.ll<br class=""> llvm/trunk/test/DebugInfo/X86/debug-info-packed-struct.ll<br class=""> llvm/trunk/test/DebugInfo/X86/debug-info-static-member.ll<br class=""> llvm/trunk/test/DebugInfo/X86/debug-loc-frame.ll<br class=""> llvm/trunk/test/DebugInfo/X86/debugger-tune.ll<br class=""> llvm/trunk/test/DebugInfo/X86/decl-derived-member.ll<br class=""> llvm/trunk/test/DebugInfo/X86/dllimport.ll<br class=""> llvm/trunk/test/DebugInfo/X86/dwarf-aranges-no-dwarf-labels.ll<br class=""> llvm/trunk/test/DebugInfo/X86/dwarf-aranges.ll<br class=""> llvm/trunk/test/DebugInfo/X86/dwarf-linkage-names.ll<br class=""> llvm/trunk/test/DebugInfo/X86/dwarf-public-names.ll<br class=""> llvm/trunk/test/DebugInfo/X86/empty-array.ll<br class=""> llvm/trunk/test/DebugInfo/X86/enum-class.ll<br class=""> llvm/trunk/test/DebugInfo/X86/enum-fwd-decl.ll<br class=""> llvm/trunk/test/DebugInfo/X86/externaltyperef.ll<br class=""> llvm/trunk/test/DebugInfo/X86/fission-cu.ll<br class=""> llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll<br class=""> llvm/trunk/test/DebugInfo/X86/gnu-public-names.ll<br class=""> llvm/trunk/test/DebugInfo/X86/inline-member-function.ll<br class=""> llvm/trunk/test/DebugInfo/X86/inline-namespace.ll<br class=""> llvm/trunk/test/DebugInfo/X86/inlined-indirect-value.ll<br class=""> llvm/trunk/test/DebugInfo/X86/isel-cse-line.ll<br class=""> llvm/trunk/test/DebugInfo/X86/linkage-name.ll<br class=""> llvm/trunk/test/DebugInfo/X86/live-debug-values.ll<br class=""> llvm/trunk/test/DebugInfo/X86/memberfnptr.ll<br class=""> llvm/trunk/test/DebugInfo/X86/misched-dbg-value.ll<br class=""> llvm/trunk/test/DebugInfo/X86/multiple-aranges.ll<br class=""> llvm/trunk/test/DebugInfo/X86/multiple-at-const-val.ll<br class=""> llvm/trunk/test/DebugInfo/X86/nondefault-subrange-array.ll<br class=""> llvm/trunk/test/DebugInfo/X86/objc-fwd-decl.ll<br class=""> llvm/trunk/test/DebugInfo/X86/pointer-type-size.ll<br class=""> llvm/trunk/test/DebugInfo/X86/pr12831.ll<br class=""> llvm/trunk/test/DebugInfo/X86/ref_addr_relocation.ll<br class=""> llvm/trunk/test/DebugInfo/X86/stack-value-dwarf4.ll<br class=""> llvm/trunk/test/DebugInfo/X86/static_member_array.ll<br class=""> llvm/trunk/test/DebugInfo/X86/stringpool.ll<br class=""> llvm/trunk/test/DebugInfo/X86/struct-loc.ll<br class=""> llvm/trunk/test/DebugInfo/X86/template.ll<br class=""> llvm/trunk/test/DebugInfo/X86/tls.ll<br class=""> llvm/trunk/test/DebugInfo/X86/type_units_with_addresses.ll<br class=""> llvm/trunk/test/DebugInfo/X86/unattached-global.ll<br class=""> llvm/trunk/test/DebugInfo/X86/union-template.ll<br class=""> llvm/trunk/test/DebugInfo/X86/vector.ll<br class=""> llvm/trunk/test/Instrumentation/AddressSanitizer/debug-info-global-var.ll<br class=""> llvm/trunk/test/LTO/X86/Inputs/type-mapping-src.ll<br class=""> llvm/trunk/test/LTO/X86/type-mapping-bug.ll<br class=""> llvm/trunk/test/Linker/2011-08-04-Metadata.ll<br class=""> llvm/trunk/test/Linker/2011-08-04-Metadata2.ll<br class=""> llvm/trunk/test/Linker/debug-info-global-var.ll<br class=""> llvm/trunk/test/Linker/odr.ll<br class=""> llvm/trunk/test/Linker/only-needed-debug-metadata.ll<br class=""> llvm/trunk/test/ThinLTO/X86/Inputs/crash_debuginfo.ll<br class=""> llvm/trunk/test/ThinLTO/X86/crash_debuginfo.ll<br class=""> llvm/trunk/test/ThinLTO/X86/debuginfo-cu-import.ll<br class=""> llvm/trunk/test/Transforms/GCOVProfiling/return-block.ll<br class=""> llvm/trunk/test/Transforms/GlobalMerge/debug-info.ll<br class=""> llvm/trunk/test/Transforms/GlobalOpt/2009-03-05-dbg.ll<br class=""> llvm/trunk/test/Transforms/Inline/alloca-dbgdeclare.ll<br class=""> llvm/trunk/test/Transforms/LoopVectorize/dbg.value.ll<br class=""> llvm/trunk/test/Transforms/SampleProfile/cov-zero-samples.ll<br class=""> llvm/trunk/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll<br class=""> llvm/trunk/test/Transforms/StripSymbols/2010-06-30-StripDebug.ll<br class=""> llvm/trunk/test/Transforms/StripSymbols/2010-08-25-crash.ll<br class=""> llvm/trunk/test/Transforms/StripSymbols/strip-dead-debug-info.ll<br class=""> llvm/trunk/test/Transforms/Util/strip-nonlinetable-debuginfo-containingtypes.ll<br class=""> llvm/trunk/test/tools/llvm-objdump/Hexagon/source-interleave-hexagon.ll<br class=""> llvm/trunk/test/tools/llvm-objdump/X86/source-interleave-x86_64.ll<br class=""> llvm/trunk/unittests/IR/MetadataTest.cpp<br class=""><br class="">Modified: llvm/trunk/include/llvm/Bitcode/LLVMBitCodes.h<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Bitcode/LLVMBitCodes.h?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/include/llvm/Bitcode/LLVMBitCodes.h (original)<br class="">+++ llvm/trunk/include/llvm/Bitcode/LLVMBitCodes.h Mon Dec 19 20:09:43 2016<br class="">@@ -252,6 +252,7 @@ enum MetadataCodes {<br class=""> METADATA_MACRO_FILE = 34, // [distinct, macinfo, line, file, ...]<br class=""> METADATA_STRINGS = 35, // [count, offset] blob([lengths][chars])<br class=""> METADATA_GLOBAL_DECL_ATTACHMENT = 36, // [valueid, n x [id, mdnode]]<br class="">+ METADATA_GLOBAL_VAR_EXPR = 37, // [distinct, var, expr]<br class=""> };<br class=""><br class=""> // The constants block (CONSTANTS_BLOCK_ID) describes emission for each<br class=""><br class="">Modified: llvm/trunk/include/llvm/IR/DIBuilder.h<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/DIBuilder.h?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/include/llvm/IR/DIBuilder.h (original)<br class="">+++ llvm/trunk/include/llvm/IR/DIBuilder.h Mon Dec 19 20:09:43 2016<br class="">@@ -449,8 +449,7 @@ namespace llvm {<br class=""> /// implicitly uniques the values returned.<br class=""> DISubrange *getOrCreateSubrange(int64_t Lo, int64_t Count);<br class=""><br class="">- /// Create a new descriptor for the specified<br class="">- /// variable.<br class="">+ /// Create a new descriptor for the specified variable.<br class=""> /// \param Context Variable scope.<br class=""> /// \param Name Name of the variable.<br class=""> /// \param LinkageName Mangled name of the variable.<br class="">@@ -464,20 +463,18 @@ namespace llvm {<br class=""> /// \param Decl Reference to the corresponding declaration.<br class=""> /// \param AlignInBits Variable alignment(or 0 if no alignment attr was<br class=""> /// specified)<br class="">- DIGlobalVariable *createGlobalVariable(DIScope *Context, StringRef Name,<br class="">- StringRef LinkageName, DIFile *File,<br class="">- unsigned LineNo, DIType *Ty,<br class="">- bool isLocalToUnit,<br class="">- DIExpression *Expr = nullptr,<br class="">- MDNode *Decl = nullptr,<br class="">- uint32_t AlignInBits = 0);<br class="">+ DIGlobalVariableExpression *createGlobalVariableExpression(<br class="">+ DIScope *Context, StringRef Name, StringRef LinkageName, DIFile *File,<br class="">+ unsigned LineNo, DIType *Ty, bool isLocalToUnit,<br class="">+ DIExpression *Expr = nullptr, MDNode *Decl = nullptr,<br class="">+ uint32_t AlignInBits = 0);<br class=""><br class=""> /// Identical to createGlobalVariable<br class=""> /// except that the resulting DbgNode is temporary and meant to be RAUWed.<br class=""> DIGlobalVariable *createTempGlobalVariableFwdDecl(<br class=""> DIScope *Context, StringRef Name, StringRef LinkageName, DIFile *File,<br class="">- unsigned LineNo, DIType *Ty, bool isLocalToUnit, DIExpression *Expr,<br class="">- MDNode *Decl = nullptr, uint32_t AlignInBits = 0);<br class="">+ unsigned LineNo, DIType *Ty, bool isLocalToUnit, MDNode *Decl = nullptr,<br class="">+ uint32_t AlignInBits = 0);<br class=""><br class=""> /// Create a new descriptor for an auto variable. This is a local variable<br class=""> /// that is not a subprogram parameter.<br class=""><br class="">Modified: llvm/trunk/include/llvm/IR/DebugInfo.h<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/DebugInfo.h?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/include/llvm/IR/DebugInfo.h (original)<br class="">+++ llvm/trunk/include/llvm/IR/DebugInfo.h Mon Dec 19 20:09:43 2016<br class="">@@ -89,7 +89,7 @@ private:<br class=""> void processSubprogram(DISubprogram *SP);<br class=""> void processScope(DIScope *Scope);<br class=""> bool addCompileUnit(DICompileUnit *CU);<br class="">- bool addGlobalVariable(DIGlobalVariable *DIG);<br class="">+ bool addGlobalVariable(DIGlobalVariableExpression *DIG);<br class=""> bool addSubprogram(DISubprogram *SP);<br class=""> bool addType(DIType *DT);<br class=""> bool addScope(DIScope *Scope);<br class="">@@ -98,8 +98,8 @@ public:<br class=""> typedef SmallVectorImpl<DICompileUnit *>::const_iterator<br class=""> compile_unit_iterator;<br class=""> typedef SmallVectorImpl<DISubprogram *>::const_iterator subprogram_iterator;<br class="">- typedef SmallVectorImpl<DIGlobalVariable *>::const_iterator<br class="">- global_variable_iterator;<br class="">+ typedef SmallVectorImpl<DIGlobalVariableExpression *>::const_iterator<br class="">+ global_variable_expression_iterator;<br class=""> typedef SmallVectorImpl<DIType *>::const_iterator type_iterator;<br class=""> typedef SmallVectorImpl<DIScope *>::const_iterator scope_iterator;<br class=""><br class="">@@ -111,7 +111,7 @@ public:<br class=""> return make_range(SPs.begin(), SPs.end());<br class=""> }<br class=""><br class="">- iterator_range<global_variable_iterator> global_variables() const {<br class="">+ iterator_range<global_variable_expression_iterator> global_variables() const {<br class=""> return make_range(GVs.begin(), GVs.end());<br class=""> }<br class=""><br class="">@@ -132,7 +132,7 @@ public:<br class=""> private:<br class=""> SmallVector<DICompileUnit *, 8> CUs;<br class=""> SmallVector<DISubprogram *, 8> SPs;<br class="">- SmallVector<DIGlobalVariable *, 8> GVs;<br class="">+ SmallVector<DIGlobalVariableExpression *, 8> GVs;<br class=""> SmallVector<DIType *, 8> TYs;<br class=""> SmallVector<DIScope *, 8> Scopes;<br class=""> SmallPtrSet<const MDNode *, 32> NodesSeen;<br class=""><br class="">Modified: llvm/trunk/include/llvm/IR/DebugInfoMetadata.h<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/DebugInfoMetadata.h?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/include/llvm/IR/DebugInfoMetadata.h (original)<br class="">+++ llvm/trunk/include/llvm/IR/DebugInfoMetadata.h Mon Dec 19 20:09:43 2016<br class="">@@ -1038,7 +1038,8 @@ private:<br class=""> StringRef Producer, bool IsOptimized, StringRef Flags,<br class=""> unsigned RuntimeVersion, StringRef SplitDebugFilename,<br class=""> unsigned EmissionKind, DICompositeTypeArray EnumTypes,<br class="">- DIScopeArray RetainedTypes, DIGlobalVariableArray GlobalVariables,<br class="">+ DIScopeArray RetainedTypes,<br class="">+ DIGlobalVariableExpressionArray GlobalVariables,<br class=""> DIImportedEntityArray ImportedEntities, DIMacroNodeArray Macros,<br class=""> uint64_t DWOId, bool SplitDebugInlining, StorageType Storage,<br class=""> bool ShouldCreate = true) {<br class="">@@ -1078,7 +1079,7 @@ public:<br class=""> bool IsOptimized, StringRef Flags, unsigned RuntimeVersion,<br class=""> StringRef SplitDebugFilename, DebugEmissionKind EmissionKind,<br class=""> DICompositeTypeArray EnumTypes, DIScopeArray RetainedTypes,<br class="">- DIGlobalVariableArray GlobalVariables,<br class="">+ DIGlobalVariableExpressionArray GlobalVariables,<br class=""> DIImportedEntityArray ImportedEntities, DIMacroNodeArray Macros,<br class=""> uint64_t DWOId, bool SplitDebugInlining),<br class=""> (SourceLanguage, File, Producer, IsOptimized, Flags, RuntimeVersion,<br class="">@@ -1113,7 +1114,7 @@ public:<br class=""> DIScopeArray getRetainedTypes() const {<br class=""> return cast_or_null<MDTuple>(getRawRetainedTypes());<br class=""> }<br class="">- DIGlobalVariableArray getGlobalVariables() const {<br class="">+ DIGlobalVariableExpressionArray getGlobalVariables() const {<br class=""> return cast_or_null<MDTuple>(getRawGlobalVariables());<br class=""> }<br class=""> DIImportedEntityArray getImportedEntities() const {<br class="">@@ -1152,7 +1153,7 @@ public:<br class=""> void replaceRetainedTypes(DITypeArray N) {<br class=""> replaceOperandWith(5, N.get());<br class=""> }<br class="">- void replaceGlobalVariables(DIGlobalVariableArray N) {<br class="">+ void replaceGlobalVariables(DIGlobalVariableExpressionArray N) {<br class=""> replaceOperandWith(6, N.get());<br class=""> }<br class=""> void replaceImportedEntities(DIImportedEntityArray N) {<br class="">@@ -1981,6 +1982,9 @@ public:<br class=""> /// Return the size of this fragment in bits.<br class=""> uint64_t getFragmentSizeInBits() const;<br class=""><br class="">+ /// Determine whether this represents a standalone constant value.<br class="">+ bool isConstant() const;<br class="">+<br class=""> typedef ArrayRef<uint64_t>::iterator element_iterator;<br class=""> element_iterator elements_begin() const { return getElements().begin(); }<br class=""> element_iterator elements_end() const { return getElements().end(); }<br class="">@@ -2100,30 +2104,30 @@ class DIGlobalVariable : public DIVariab<br class=""> IsLocalToUnit(IsLocalToUnit), IsDefinition(IsDefinition) {}<br class=""> ~DIGlobalVariable() = default;<br class=""><br class="">- static DIGlobalVariable *<br class="">- getImpl(LLVMContext &Context, DIScope *Scope, StringRef Name,<br class="">- StringRef LinkageName, DIFile *File, unsigned Line, DITypeRef Type,<br class="">- bool IsLocalToUnit, bool IsDefinition, DIExpression *Expr,<br class="">- DIDerivedType *StaticDataMemberDeclaration, uint32_t AlignInBits,<br class="">- StorageType Storage, bool ShouldCreate = true) {<br class="">+ static DIGlobalVariable *getImpl(LLVMContext &Context, DIScope *Scope,<br class="">+ StringRef Name, StringRef LinkageName,<br class="">+ DIFile *File, unsigned Line, DITypeRef Type,<br class="">+ bool IsLocalToUnit, bool IsDefinition,<br class="">+ DIDerivedType *StaticDataMemberDeclaration,<br class="">+ uint32_t AlignInBits, StorageType Storage,<br class="">+ bool ShouldCreate = true) {<br class=""> return getImpl(Context, Scope, getCanonicalMDString(Context, Name),<br class=""> getCanonicalMDString(Context, LinkageName), File, Line, Type,<br class="">- IsLocalToUnit, IsDefinition, Expr,<br class="">- StaticDataMemberDeclaration, AlignInBits, Storage,<br class="">- ShouldCreate);<br class="">+ IsLocalToUnit, IsDefinition, StaticDataMemberDeclaration,<br class="">+ AlignInBits, Storage, ShouldCreate);<br class=""> }<br class=""> static DIGlobalVariable *<br class=""> getImpl(LLVMContext &Context, Metadata *Scope, MDString *Name,<br class=""> MDString *LinkageName, Metadata *File, unsigned Line, Metadata *Type,<br class="">- bool IsLocalToUnit, bool IsDefinition, Metadata *Expr,<br class="">+ bool IsLocalToUnit, bool IsDefinition,<br class=""> Metadata *StaticDataMemberDeclaration, uint32_t AlignInBits,<br class=""> StorageType Storage, bool ShouldCreate = true);<br class=""><br class=""> TempDIGlobalVariable cloneImpl() const {<br class=""> return getTemporary(getContext(), getScope(), getName(), getLinkageName(),<br class=""> getFile(), getLine(), getType(), isLocalToUnit(),<br class="">- isDefinition(), getExpr(),<br class="">- getStaticDataMemberDeclaration(), getAlignInBits());<br class="">+ isDefinition(), getStaticDataMemberDeclaration(),<br class="">+ getAlignInBits());<br class=""> }<br class=""><br class=""> public:<br class="">@@ -2131,21 +2135,18 @@ public:<br class=""> (DIScope * Scope, StringRef Name, StringRef LinkageName,<br class=""> DIFile *File, unsigned Line, DITypeRef Type,<br class=""> bool IsLocalToUnit, bool IsDefinition,<br class="">- DIExpression *Expr,<br class=""> DIDerivedType *StaticDataMemberDeclaration,<br class=""> uint32_t AlignInBits),<br class=""> (Scope, Name, LinkageName, File, Line, Type, IsLocalToUnit,<br class="">- IsDefinition, Expr, StaticDataMemberDeclaration,<br class="">- AlignInBits))<br class="">+ IsDefinition, StaticDataMemberDeclaration, AlignInBits))<br class=""> DEFINE_MDNODE_GET(DIGlobalVariable,<br class=""> (Metadata * Scope, MDString *Name, MDString *LinkageName,<br class=""> Metadata *File, unsigned Line, Metadata *Type,<br class=""> bool IsLocalToUnit, bool IsDefinition,<br class="">- Metadata *Expr, Metadata *StaticDataMemberDeclaration,<br class="">+ Metadata *StaticDataMemberDeclaration,<br class=""> uint32_t AlignInBits),<br class=""> (Scope, Name, LinkageName, File, Line, Type, IsLocalToUnit,<br class="">- IsDefinition, Expr, StaticDataMemberDeclaration,<br class="">- AlignInBits))<br class="">+ IsDefinition, StaticDataMemberDeclaration, AlignInBits))<br class=""><br class=""> TempDIGlobalVariable clone() const { return cloneImpl(); }<br class=""><br class="">@@ -2153,19 +2154,12 @@ public:<br class=""> bool isDefinition() const { return IsDefinition; }<br class=""> StringRef getDisplayName() const { return getStringOperand(4); }<br class=""> StringRef getLinkageName() const { return getStringOperand(5); }<br class="">- DIExpression *getExpr() const {<br class="">- return cast_or_null<DIExpression>(getRawExpr());<br class="">- }<br class="">- void replaceExpr(DIExpression *E) {<br class="">- replaceOperandWith(6, E);<br class="">- }<br class=""> DIDerivedType *getStaticDataMemberDeclaration() const {<br class=""> return cast_or_null<DIDerivedType>(getRawStaticDataMemberDeclaration());<br class=""> }<br class=""><br class=""> MDString *getRawLinkageName() const { return getOperandAs<MDString>(5); }<br class="">- Metadata *getRawExpr() const { return getOperand(6); }<br class="">- Metadata *getRawStaticDataMemberDeclaration() const { return getOperand(7); }<br class="">+ Metadata *getRawStaticDataMemberDeclaration() const { return getOperand(6); }<br class=""><br class=""> static bool classof(const Metadata *MD) {<br class=""> return MD->getMetadataID() == DIGlobalVariableKind;<br class="">@@ -2391,6 +2385,45 @@ public:<br class=""> }<br class=""> };<br class=""><br class="">+/// A pair of DIGlobalVariable and DIExpression.<br class="">+class DIGlobalVariableExpression : public MDNode {<br class="">+ friend class LLVMContextImpl;<br class="">+ friend class MDNode;<br class="">+<br class="">+ DIGlobalVariableExpression(LLVMContext &C, StorageType Storage,<br class="">+ ArrayRef<Metadata *> Ops)<br class="">+ : MDNode(C, DIGlobalVariableExpressionKind, Storage, Ops) {}<br class="">+ ~DIGlobalVariableExpression() = default;<br class="">+<br class="">+ static DIGlobalVariableExpression *<br class="">+ getImpl(LLVMContext &Context, Metadata *Variable, Metadata *Expression,<br class="">+ StorageType Storage, bool ShouldCreate = true);<br class="">+<br class="">+ TempDIGlobalVariableExpression cloneImpl() const {<br class="">+ return getTemporary(getContext(), getVariable(), getExpression());<br class="">+ }<br class="">+<br class="">+public:<br class="">+ DEFINE_MDNODE_GET(DIGlobalVariableExpression,<br class="">+ (Metadata * Variable, Metadata *Expression),<br class="">+ (Variable, Expression))<br class="">+<br class="">+ TempDIGlobalVariableExpression clone() const { return cloneImpl(); }<br class="">+<br class="">+ Metadata *getRawVariable() const { return getOperand(0); }<br class="">+ DIGlobalVariable *getVariable() const {<br class="">+ return cast_or_null<DIGlobalVariable>(getRawVariable());<br class="">+ }<br class="">+ Metadata *getRawExpression() const { return getOperand(1); }<br class="">+ DIExpression *getExpression() const {<br class="">+ return cast_or_null<DIExpression>(getRawExpression());<br class="">+ }<br class="">+<br class="">+ static bool classof(const Metadata *MD) {<br class="">+ return MD->getMetadataID() == DIGlobalVariableExpressionKind;<br class="">+ }<br class="">+};<br class="">+<br class=""> /// Macro Info DWARF-like metadata node.<br class=""> ///<br class=""> /// A metadata node with a DWARF macro info (i.e., a constant named<br class=""><br class="">Modified: llvm/trunk/include/llvm/IR/GlobalVariable.h<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/GlobalVariable.h?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/include/llvm/IR/GlobalVariable.h (original)<br class="">+++ llvm/trunk/include/llvm/IR/GlobalVariable.h Mon Dec 19 20:09:43 2016<br class="">@@ -20,6 +20,7 @@<br class=""> #ifndef LLVM_IR_GLOBALVARIABLE_H<br class=""> #define LLVM_IR_GLOBALVARIABLE_H<br class=""><br class="">+#include "llvm/ADT/PointerUnion.h"<br class=""> #include "llvm/ADT/Twine.h"<br class=""> #include "llvm/ADT/ilist_node.h"<br class=""> #include "llvm/IR/GlobalObject.h"<br class="">@@ -31,10 +32,11 @@<br class=""> namespace llvm {<br class=""><br class=""> class Constant;<br class="">-class DIGlobalVariable;<br class=""> class Module;<br class=""><br class=""> template <typename ValueSubClass> class SymbolTableListTraits;<br class="">+class DIGlobalVariable;<br class="">+class DIGlobalVariableExpression;<br class=""><br class=""> class GlobalVariable : public GlobalObject, public ilist_node<GlobalVariable> {<br class=""> friend class SymbolTableListTraits<GlobalVariable>;<br class="">@@ -170,8 +172,11 @@ public:<br class=""> /// drops not only the reference to the initializer but also to any metadata.<br class=""> void dropAllReferences();<br class=""><br class="">- void addDebugInfo(DIGlobalVariable *GV);<br class="">- void getDebugInfo(SmallVectorImpl<DIGlobalVariable *> &GVs) const;<br class="">+ /// Attach a DIGlobalVariableExpression.<br class="">+ void addDebugInfo(DIGlobalVariableExpression *GV);<br class="">+<br class="">+ /// Fill the vector with all debug info attachements.<br class="">+ void getDebugInfo(SmallVectorImpl<DIGlobalVariableExpression *> &GVs) const;<br class=""><br class=""> // Methods for support type inquiry through isa, cast, and dyn_cast:<br class=""> static inline bool classof(const Value *V) {<br class=""><br class="">Modified: llvm/trunk/include/llvm/IR/Metadata.def<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/Metadata.def?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/include/llvm/IR/Metadata.def (original)<br class="">+++ llvm/trunk/include/llvm/IR/Metadata.def Mon Dec 19 20:09:43 2016<br class="">@@ -82,6 +82,7 @@ HANDLE_MDNODE_BRANCH(MDNode)<br class=""> HANDLE_MDNODE_LEAF_UNIQUABLE(MDTuple)<br class=""> HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(DILocation)<br class=""> HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(DIExpression)<br class="">+HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(DIGlobalVariableExpression)<br class=""> HANDLE_SPECIALIZED_MDNODE_BRANCH(DINode)<br class=""> HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(GenericDINode)<br class=""> HANDLE_SPECIALIZED_MDNODE_LEAF_UNIQUABLE(DISubrange)<br class=""><br class="">Modified: llvm/trunk/lib/Analysis/ModuleDebugInfoPrinter.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/ModuleDebugInfoPrinter.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/Analysis/ModuleDebugInfoPrinter.cpp (original)<br class="">+++ llvm/trunk/lib/Analysis/ModuleDebugInfoPrinter.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -91,7 +91,8 @@ void ModuleDebugInfoPrinter::print(raw_o<br class=""> O << '\n';<br class=""> }<br class=""><br class="">- for (const DIGlobalVariable *GV : Finder.global_variables()) {<br class="">+ for (auto GVU : Finder.global_variables()) {<br class="">+ const auto *GV = GVU->getVariable();<br class=""> O << "Global variable: " << GV->getName();<br class=""> printFile(O, GV->getFilename(), GV->getDirectory(), GV->getLine());<br class=""> if (!GV->getLinkageName().empty())<br class=""><br class="">Modified: llvm/trunk/lib/AsmParser/LLParser.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/LLParser.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/AsmParser/LLParser.cpp (original)<br class="">+++ llvm/trunk/lib/AsmParser/LLParser.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -4197,8 +4197,7 @@ bool LLParser::ParseDITemplateValueParam<br class=""> /// ParseDIGlobalVariable:<br class=""> /// ::= !DIGlobalVariable(scope: !0, name: "foo", linkageName: "foo",<br class=""> /// file: !1, line: 7, type: !2, isLocal: false,<br class="">-/// isDefinition: true, variable: i32* @foo,<br class="">-/// declaration: !3, align: 8)<br class="">+/// isDefinition: true, declaration: !3, align: 8)<br class=""> bool LLParser::ParseDIGlobalVariable(MDNode *&Result, bool IsDistinct) {<br class=""> #define VISIT_MD_FIELDS(OPTIONAL, REQUIRED) \<br class=""> REQUIRED(name, MDStringField, (/* AllowEmpty */ false)); \<br class="">@@ -4209,7 +4208,6 @@ bool LLParser::ParseDIGlobalVariable(MDN<br class=""> OPTIONAL(type, MDField, ); \<br class=""> OPTIONAL(isLocal, MDBoolField, ); \<br class=""> OPTIONAL(isDefinition, MDBoolField, (true)); \<br class="">- OPTIONAL(expr, MDField, ); \<br class=""> OPTIONAL(declaration, MDField, ); \<br class=""> OPTIONAL(align, MDUnsignedField, (0, UINT32_MAX));<br class=""> PARSE_MD_FIELDS();<br class="">@@ -4218,8 +4216,7 @@ bool LLParser::ParseDIGlobalVariable(MDN<br class=""> Result = GET_OR_DISTINCT(DIGlobalVariable,<br class=""> (Context, scope.Val, name.Val, linkageName.Val,<br class=""> file.Val, line.Val, type.Val, isLocal.Val,<br class="">- isDefinition.Val, expr.Val, declaration.Val,<br class="">- align.Val));<br class="">+ isDefinition.Val, declaration.Val, align.Val));<br class=""> return false;<br class=""> }<br class=""><br class="">@@ -4287,6 +4284,21 @@ bool LLParser::ParseDIExpression(MDNode<br class=""> return false;<br class=""> }<br class=""><br class="">+/// ParseDIGlobalVariableExpression:<br class="">+/// ::= !DIGlobalVariableExpression(var: !0, expr: !1)<br class="">+bool LLParser::ParseDIGlobalVariableExpression(MDNode *&Result,<br class="">+ bool IsDistinct) {<br class="">+#define VISIT_MD_FIELDS(OPTIONAL, REQUIRED) \<br class="">+ REQUIRED(var, MDField, ); \<br class="">+ OPTIONAL(expr, MDField, );<br class="">+ PARSE_MD_FIELDS();<br class="">+#undef VISIT_MD_FIELDS<br class="">+<br class="">+ Result =<br class="">+ GET_OR_DISTINCT(DIGlobalVariableExpression, (Context, var.Val, expr.Val));<br class="">+ return false;<br class="">+}<br class="">+<br class=""> /// ParseDIObjCProperty:<br class=""> /// ::= !DIObjCProperty(name: "foo", file: !1, line: 7, setter: "setFoo",<br class=""> /// getter: "getFoo", attributes: 7, type: !2)<br class=""><br class="">Modified: llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp (original)<br class="">+++ llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -980,41 +980,55 @@ Error MetadataLoader::MetadataLoaderImpl<br class=""> if (Record.size() < 11 || Record.size() > 12)<br class=""> return error("Invalid record");<br class=""><br class="">- IsDistinct = Record[0];<br class="">+ IsDistinct = Record[0] & 1;<br class="">+ unsigned Version = Record[0] >> 1;<br class=""><br class="">- // Upgrade old metadata, which stored a global variable reference or a<br class="">- // ConstantInt here.<br class="">- Metadata *Expr = getMDOrNull(Record[9]);<br class="">- uint32_t AlignInBits = 0;<br class="">- if (Record.size() > 11) {<br class="">- if (Record[11] > (uint64_t)std::numeric_limits<uint32_t>::max())<br class="">- return error("Alignment value is too large");<br class="">- AlignInBits = Record[11];<br class="">- }<br class="">- GlobalVariable *Attach = nullptr;<br class="">- if (auto *CMD = dyn_cast_or_null<ConstantAsMetadata>(Expr)) {<br class="">- if (auto *GV = dyn_cast<GlobalVariable>(CMD->getValue())) {<br class="">- Attach = GV;<br class="">- Expr = nullptr;<br class="">- } else if (auto *CI = dyn_cast<ConstantInt>(CMD->getValue())) {<br class="">- Expr = DIExpression::get(Context,<br class="">- {dwarf::DW_OP_constu, CI->getZExtValue(),<br class="">- dwarf::DW_OP_stack_value});<br class="">- } else {<br class="">- Expr = nullptr;<br class="">+ if (Version == 1) {<br class="">+ MetadataList.assignValue(<br class="">+ GET_OR_DISTINCT(DIGlobalVariable,<br class="">+ (Context, getMDOrNull(Record[1]),<br class="">+ getMDString(Record[2]), getMDString(Record[3]),<br class="">+ getMDOrNull(Record[4]), Record[5],<br class="">+ getDITypeRefOrNull(Record[6]), Record[7],<br class="">+ Record[8], getMDOrNull(Record[10]), Record[11])),<br class="">+ NextMetadataNo++);<br class="">+ } else if (Version == 0) {<br class="">+ // Upgrade old metadata, which stored a global variable reference or a<br class="">+ // ConstantInt here.<br class="">+ Metadata *Expr = getMDOrNull(Record[9]);<br class="">+ uint32_t AlignInBits = 0;<br class="">+ if (Record.size() > 11) {<br class="">+ if (Record[11] > (uint64_t)std::numeric_limits<uint32_t>::max())<br class="">+ return error("Alignment value is too large");<br class="">+ AlignInBits = Record[11];<br class=""> }<br class="">- }<br class="">-<br class="">- DIGlobalVariable *DGV = GET_OR_DISTINCT(<br class="">- DIGlobalVariable,<br class="">- (Context, getMDOrNull(Record[1]), getMDString(Record[2]),<br class="">- getMDString(Record[3]), getMDOrNull(Record[4]), Record[5],<br class="">- getDITypeRefOrNull(Record[6]), Record[7], Record[8], Expr,<br class="">- getMDOrNull(Record[10]), AlignInBits));<br class="">- MetadataList.assignValue(DGV, NextMetadataNo++);<br class="">-<br class="">- if (Attach)<br class="">- Attach->addDebugInfo(DGV);<br class="">+ GlobalVariable *Attach = nullptr;<br class="">+ if (auto *CMD = dyn_cast_or_null<ConstantAsMetadata>(Expr)) {<br class="">+ if (auto *GV = dyn_cast<GlobalVariable>(CMD->getValue())) {<br class="">+ Attach = GV;<br class="">+ Expr = nullptr;<br class="">+ } else if (auto *CI = dyn_cast<ConstantInt>(CMD->getValue())) {<br class="">+ Expr = DIExpression::get(Context,<br class="">+ {dwarf::DW_OP_constu, CI->getZExtValue(),<br class="">+ dwarf::DW_OP_stack_value});<br class="">+ } else {<br class="">+ Expr = nullptr;<br class="">+ }<br class="">+ }<br class="">+ DIGlobalVariable *DGV = GET_OR_DISTINCT(<br class="">+ DIGlobalVariable,<br class="">+ (Context, getMDOrNull(Record[1]), getMDString(Record[2]),<br class="">+ getMDString(Record[3]), getMDOrNull(Record[4]), Record[5],<br class="">+ getDITypeRefOrNull(Record[6]), Record[7], Record[8],<br class="">+ getMDOrNull(Record[10]), AlignInBits));<br class="">+<br class="">+ auto *DGVE =<br class="">+ DIGlobalVariableExpression::getDistinct(Context, DGV, Expr);<br class="">+ MetadataList.assignValue(DGVE, NextMetadataNo++);<br class="">+ if (Attach)<br class="">+ Attach->addDebugInfo(DGVE);<br class="">+ } else<br class="">+ return error("Invalid record");<br class=""><br class=""> break;<br class=""> }<br class="">@@ -1064,6 +1078,17 @@ Error MetadataLoader::MetadataLoaderImpl<br class=""> NextMetadataNo++);<br class=""> break;<br class=""> }<br class="">+ case bitc::METADATA_GLOBAL_VAR_EXPR: {<br class="">+ if (Record.size() != 3)<br class="">+ return error("Invalid record");<br class="">+<br class="">+ IsDistinct = Record[0];<br class="">+ MetadataList.assignValue(GET_OR_DISTINCT(DIGlobalVariableExpression,<br class="">+ (Context, getMDOrNull(Record[1]),<br class="">+ getMDOrNull(Record[2]))),<br class="">+ NextMetadataNo++);<br class="">+ break;<br class="">+ }<br class=""> case bitc::METADATA_OBJC_PROPERTY: {<br class=""> if (Record.size() != 8)<br class=""> return error("Invalid record");<br class=""><br class="">Modified: llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp (original)<br class="">+++ llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -210,6 +210,9 @@ private:<br class=""> SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);<br class=""> void writeDIExpression(const DIExpression *N,<br class=""> SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);<br class="">+ void writeDIGlobalVariableExpression(const DIGlobalVariableExpression *N,<br class="">+ SmallVectorImpl<uint64_t> &Record,<br class="">+ unsigned Abbrev);<br class=""> void writeDIObjCProperty(const DIObjCProperty *N,<br class=""> SmallVectorImpl<uint64_t> &Record, unsigned Abbrev);<br class=""> void writeDIImportedEntity(const DIImportedEntity *N,<br class="">@@ -1674,7 +1677,8 @@ void ModuleBitcodeWriter::writeDITemplat<br class=""> void ModuleBitcodeWriter::writeDIGlobalVariable(<br class=""> const DIGlobalVariable *N, SmallVectorImpl<uint64_t> &Record,<br class=""> unsigned Abbrev) {<br class="">- Record.push_back(N->isDistinct());<br class="">+ const uint64_t Version = 1 << 1;<br class="">+ Record.push_back((uint64_t)N->isDistinct() | Version);<br class=""> Record.push_back(VE.getMetadataOrNullID(N->getScope()));<br class=""> Record.push_back(VE.getMetadataOrNullID(N->getRawName()));<br class=""> Record.push_back(VE.getMetadataOrNullID(N->getRawLinkageName()));<br class="">@@ -1683,7 +1687,7 @@ void ModuleBitcodeWriter::writeDIGlobalV<br class=""> Record.push_back(VE.getMetadataOrNullID(N->getType()));<br class=""> Record.push_back(N->isLocalToUnit());<br class=""> Record.push_back(N->isDefinition());<br class="">- Record.push_back(VE.getMetadataOrNullID(N->getRawExpr()));<br class="">+ Record.push_back(/* expr */ 0);<br class=""> Record.push_back(VE.getMetadataOrNullID(N->getStaticDataMemberDeclaration()));<br class=""> Record.push_back(N->getAlignInBits());<br class=""><br class="">@@ -1735,6 +1739,17 @@ void ModuleBitcodeWriter::writeDIExpress<br class=""> Record.clear();<br class=""> }<br class=""><br class="">+void ModuleBitcodeWriter::writeDIGlobalVariableExpression(<br class="">+ const DIGlobalVariableExpression *N, SmallVectorImpl<uint64_t> &Record,<br class="">+ unsigned Abbrev) {<br class="">+ Record.push_back(N->isDistinct());<br class="">+ Record.push_back(VE.getMetadataOrNullID(N->getVariable()));<br class="">+ Record.push_back(VE.getMetadataOrNullID(N->getExpression()));<br class="">+ <br class="">+ Stream.EmitRecord(bitc::METADATA_GLOBAL_VAR_EXPR, Record, Abbrev);<br class="">+ Record.clear();<br class="">+}<br class="">+<br class=""> void ModuleBitcodeWriter::writeDIObjCProperty(const DIObjCProperty *N,<br class=""> SmallVectorImpl<uint64_t> &Record,<br class=""> unsigned Abbrev) {<br class=""><br class="">Modified: llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp (original)<br class="">+++ llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -2185,12 +2185,13 @@ void CodeViewDebug::emitDebugInfoForUDTs<br class=""> }<br class=""><br class=""> void CodeViewDebug::emitDebugInfoForGlobals() {<br class="">- DenseMap<const DIGlobalVariable *, const GlobalVariable *> GlobalMap;<br class="">+ DenseMap<const DIGlobalVariableExpression *, const GlobalVariable *><br class="">+ GlobalMap;<br class=""> for (const GlobalVariable &GV : MMI->getModule()->globals()) {<br class="">- SmallVector<MDNode *, 1> MDs;<br class="">- GV.getMetadata(LLVMContext::MD_dbg, MDs);<br class="">- for (MDNode *MD : MDs)<br class="">- GlobalMap[cast<DIGlobalVariable>(MD)] = &GV;<br class="">+ SmallVector<DIGlobalVariableExpression *, 1> GVEs;<br class="">+ GV.getDebugInfo(GVEs);<br class="">+ for (const auto *GVE : GVEs)<br class="">+ GlobalMap[GVE] = &GV;<br class=""> }<br class=""><br class=""> NamedMDNode *CUs = MMI->getModule()->getNamedMetadata("llvm.dbg.cu");<br class="">@@ -2202,14 +2203,15 @@ void CodeViewDebug::emitDebugInfoForGlob<br class=""> // it if we have at least one global to emit.<br class=""> switchToDebugSectionForSymbol(nullptr);<br class=""> MCSymbol *EndLabel = nullptr;<br class="">- for (const DIGlobalVariable *G : CU->getGlobalVariables()) {<br class="">- if (const auto *GV = GlobalMap.lookup(G))<br class="">+ for (const auto *GVE : CU->getGlobalVariables()) {<br class="">+ if (const auto *GV = GlobalMap.lookup(GVE))<br class=""> if (!GV->hasComdat() && !GV->isDeclarationForLinker()) {<br class=""> if (!EndLabel) {<br class=""> OS.AddComment("Symbol subsection for globals");<br class=""> EndLabel = beginCVSubsection(ModuleSubstreamKind::Symbols);<br class=""> }<br class="">- emitDebugInfoForGlobal(G, GV, Asm->getSymbol(GV));<br class="">+ // FIXME: emitDebugInfoForGlobal() doesn't handle DIExpressions.<br class="">+ emitDebugInfoForGlobal(GVE->getVariable(), GV, Asm->getSymbol(GV));<br class=""> }<br class=""> }<br class=""> if (EndLabel)<br class="">@@ -2217,15 +2219,16 @@ void CodeViewDebug::emitDebugInfoForGlob<br class=""><br class=""> // Second, emit each global that is in a comdat into its own .debug$S<br class=""> // section along with its own symbol substream.<br class="">- for (const DIGlobalVariable *G : CU->getGlobalVariables()) {<br class="">- if (const auto *GV = GlobalMap.lookup(G)) {<br class="">+ for (const auto *GVE : CU->getGlobalVariables()) {<br class="">+ if (const auto *GV = GlobalMap.lookup(GVE)) {<br class=""> if (GV->hasComdat()) {<br class=""> MCSymbol *GVSym = Asm->getSymbol(GV);<br class=""> OS.AddComment("Symbol subsection for " +<br class=""> Twine(GlobalValue::getRealLinkageName(GV->getName())));<br class=""> switchToDebugSectionForSymbol(GVSym);<br class=""> EndLabel = beginCVSubsection(ModuleSubstreamKind::Symbols);<br class="">- emitDebugInfoForGlobal(G, GV, GVSym);<br class="">+ // FIXME: emitDebugInfoForGlobal() doesn't handle DIExpressions.<br class="">+ emitDebugInfoForGlobal(GVE->getVariable(), GV, GVSym);<br class=""> endCVSubsection(EndLabel);<br class=""> }<br class=""> }<br class=""><br class="">Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp (original)<br class="">+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -73,9 +73,8 @@ unsigned DwarfCompileUnit::getOrCreateSo<br class=""> Asm->OutStreamer->hasRawTextSupport() ? 0 : getUniqueID());<br class=""> }<br class=""><br class="">-/// getOrCreateGlobalVariableDIE - get or create global variable DIE.<br class=""> DIE *DwarfCompileUnit::getOrCreateGlobalVariableDIE(<br class="">- const DIGlobalVariable *GV, const GlobalVariable *Global) {<br class="">+ const DIGlobalVariable *GV, ArrayRef<GlobalExpr> GlobalExprs) {<br class=""> // Check for pre-existence.<br class=""> if (DIE *Die = getDIE(GV))<br class=""> return Die;<br class="">@@ -128,69 +127,76 @@ DIE *DwarfCompileUnit::getOrCreateGlobal<br class=""><br class=""> // Add location.<br class=""> bool addToAccelTable = false;<br class="">-<br class="">- DIExpression *Expr = GV->getExpr();<br class="">-<br class="">- // For compatibility with DWARF 3 and earlier,<br class="">- // DW_AT_location(DW_OP_constu, X, DW_OP_stack_value) becomes<br class="">- // DW_AT_const_value(X).<br class="">- if (Expr && Expr->getNumElements() == 3 &&<br class="">- Expr->getElement(0) == dwarf::DW_OP_constu &&<br class="">- Expr->getElement(2) == dwarf::DW_OP_stack_value) {<br class="">- addConstantValue(*VariableDIE, /*Unsigned=*/true, Expr->getElement(1));<br class="">- // We cannot describe the location of dllimport'd variables: the computation<br class="">- // of their address requires loads from the IAT.<br class="">- } else if (!Global || !Global->hasDLLImportStorageClass()) {<br class="">- DIELoc *Loc = new (DIEValueAllocator) DIELoc;<br class="">- if (Global) {<br class="">+ DIELoc *Loc = nullptr;<br class="">+ std::unique_ptr<DIEDwarfExpression> DwarfExpr;<br class="">+ bool AllConstant = std::all_of(<br class="">+ GlobalExprs.begin(), GlobalExprs.end(),<br class="">+ [&](const GlobalExpr GE) {<br class="">+ return GE.Expr && GE.Expr->isConstant();<br class="">+ });<br class="">+<br class="">+ for (const auto &GE : GlobalExprs) {<br class="">+ const GlobalVariable *Global = GE.Var;<br class="">+ const DIExpression *Expr = GE.Expr;<br class="">+ // For compatibility with DWARF 3 and earlier,<br class="">+ // DW_AT_location(DW_OP_constu, X, DW_OP_stack_value) becomes<br class="">+ // DW_AT_const_value(X).<br class="">+ if (GlobalExprs.size() == 1 && Expr && Expr->isConstant()) {<br class="">+ addConstantValue(*VariableDIE, /*Unsigned=*/true, Expr->getElement(1));<br class="">+ // We cannot describe the location of dllimport'd variables: the<br class="">+ // computation of their address requires loads from the IAT.<br class="">+ } else if ((Global && !Global->hasDLLImportStorageClass()) || AllConstant) {<br class="">+ if (!Loc) {<br class="">+ Loc = new (DIEValueAllocator) DIELoc;<br class="">+ DwarfExpr = llvm::make_unique<DIEDwarfExpression>(*Asm, *this, *Loc);<br class="">+ }<br class=""> addToAccelTable = true;<br class="">- const MCSymbol *Sym = Asm->getSymbol(Global);<br class="">- if (Global->isThreadLocal()) {<br class="">- if (Asm->TM.Options.EmulatedTLS) {<br class="">- // TODO: add debug info for emulated thread local mode.<br class="">- } else {<br class="">- // FIXME: Make this work with -gsplit-dwarf.<br class="">- unsigned PointerSize = Asm->getDataLayout().getPointerSize();<br class="">- assert((PointerSize == 4 || PointerSize == 8) &&<br class="">- "Add support for other sizes if necessary");<br class="">- // Based on GCC's support for TLS:<br class="">- if (!DD->useSplitDwarf()) {<br class="">- // 1) Start with a constNu of the appropriate pointer size<br class="">- addUInt(*Loc, dwarf::DW_FORM_data1, PointerSize == 4<br class="">- ? dwarf::DW_OP_const4u<br class="">- : dwarf::DW_OP_const8u);<br class="">- // 2) containing the (relocated) offset of the TLS variable<br class="">- // within the module's TLS block.<br class="">- addExpr(*Loc, dwarf::DW_FORM_udata,<br class="">- Asm->getObjFileLowering().getDebugThreadLocalSymbol(Sym));<br class="">+ if (Global) {<br class="">+ const MCSymbol *Sym = Asm->getSymbol(Global);<br class="">+ if (Global->isThreadLocal()) {<br class="">+ if (Asm->TM.Options.EmulatedTLS) {<br class="">+ // TODO: add debug info for emulated thread local mode.<br class=""> } else {<br class="">- addUInt(*Loc, dwarf::DW_FORM_data1, dwarf::DW_OP_GNU_const_index);<br class="">- addUInt(*Loc, dwarf::DW_FORM_udata,<br class="">- DD->getAddressPool().getIndex(Sym, /* TLS */ true));<br class="">+ // FIXME: Make this work with -gsplit-dwarf.<br class="">+ unsigned PointerSize = Asm->getDataLayout().getPointerSize();<br class="">+ assert((PointerSize == 4 || PointerSize == 8) &&<br class="">+ "Add support for other sizes if necessary");<br class="">+ // Based on GCC's support for TLS:<br class="">+ if (!DD->useSplitDwarf()) {<br class="">+ // 1) Start with a constNu of the appropriate pointer size<br class="">+ addUInt(*Loc, dwarf::DW_FORM_data1,<br class="">+ PointerSize == 4 ? dwarf::DW_OP_const4u<br class="">+ : dwarf::DW_OP_const8u);<br class="">+ // 2) containing the (relocated) offset of the TLS variable<br class="">+ // within the module's TLS block.<br class="">+ addExpr(*Loc, dwarf::DW_FORM_udata,<br class="">+ Asm->getObjFileLowering().getDebugThreadLocalSymbol(Sym));<br class="">+ } else {<br class="">+ addUInt(*Loc, dwarf::DW_FORM_data1, dwarf::DW_OP_GNU_const_index);<br class="">+ addUInt(*Loc, dwarf::DW_FORM_udata,<br class="">+ DD->getAddressPool().getIndex(Sym, /* TLS */ true));<br class="">+ }<br class="">+ // 3) followed by an OP to make the debugger do a TLS lookup.<br class="">+ addUInt(*Loc, dwarf::DW_FORM_data1,<br class="">+ DD->useGNUTLSOpcode() ? dwarf::DW_OP_GNU_push_tls_address<br class="">+ : dwarf::DW_OP_form_tls_address);<br class=""> }<br class="">- // 3) followed by an OP to make the debugger do a TLS lookup.<br class="">- addUInt(*Loc, dwarf::DW_FORM_data1,<br class="">- DD->useGNUTLSOpcode() ? dwarf::DW_OP_GNU_push_tls_address<br class="">- : dwarf::DW_OP_form_tls_address);<br class="">+ } else {<br class="">+ DD->addArangeLabel(SymbolCU(this, Sym));<br class="">+ addOpAddress(*Loc, Sym);<br class=""> }<br class="">- } else {<br class="">- DD->addArangeLabel(SymbolCU(this, Sym));<br class="">- addOpAddress(*Loc, Sym);<br class=""> }<br class="">-<br class=""> if (Expr) {<br class="">- DIEDwarfExpression DwarfExpr(*Asm, *this, *Loc);<br class="">- DwarfExpr.addFragmentOffset(Expr);<br class="">- DwarfExpr.AddExpression(Expr);<br class="">- DwarfExpr.finalize();<br class="">+ DwarfExpr->addFragmentOffset(Expr);<br class="">+ DwarfExpr->AddExpression(Expr);<br class=""> }<br class=""> }<br class="">-<br class="">- addBlock(*VariableDIE, dwarf::DW_AT_location, Loc);<br class="">-<br class="">- if (DD->useAllLinkageNames())<br class="">- addLinkageName(*VariableDIE, GV->getLinkageName());<br class=""> }<br class="">+ if (Loc)<br class="">+ addBlock(*VariableDIE, dwarf::DW_AT_location, DwarfExpr->finalize());<br class="">+<br class="">+ if (DD->useAllLinkageNames())<br class="">+ addLinkageName(*VariableDIE, GV->getLinkageName());<br class=""><br class=""> if (addToAccelTable) {<br class=""> DD->addAccelName(GV->getName(), *VariableDIE);<br class="">@@ -503,8 +509,7 @@ DIE *DwarfCompileUnit::constructVariable<br class=""> DwarfExpr.addFragmentOffset(Expr);<br class=""> DwarfExpr.AddUnsignedConstant(DVInsn->getOperand(0).getImm());<br class=""> DwarfExpr.AddExpression(Expr);<br class="">- DwarfExpr.finalize();<br class="">- addBlock(*VariableDie, dwarf::DW_AT_location, Loc);<br class="">+ addBlock(*VariableDie, dwarf::DW_AT_location, DwarfExpr.finalize());<br class=""> } else<br class=""> addConstantValue(*VariableDie, DVInsn->getOperand(0), DV.getType());<br class=""> } else if (DVInsn->getOperand(0).isFPImm())<br class="">@@ -534,8 +539,7 @@ DIE *DwarfCompileUnit::constructVariable<br class=""> DwarfExpr.AddExpression(*Expr);<br class=""> ++Expr;<br class=""> }<br class="">- DwarfExpr.finalize();<br class="">- addBlock(*VariableDie, dwarf::DW_AT_location, Loc);<br class="">+ addBlock(*VariableDie, dwarf::DW_AT_location, DwarfExpr.finalize());<br class=""><br class=""> return VariableDie;<br class=""> }<br class="">@@ -654,7 +658,7 @@ DIE *DwarfCompileUnit::constructImported<br class=""> else if (auto *T = dyn_cast<DIType>(Entity))<br class=""> EntityDie = getOrCreateTypeDIE(T);<br class=""> else if (auto *GV = dyn_cast<DIGlobalVariable>(Entity))<br class="">- EntityDie = getOrCreateGlobalVariableDIE(GV, nullptr);<br class="">+ EntityDie = getOrCreateGlobalVariableDIE(GV, {});<br class=""> else<br class=""> EntityDie = getDIE(Entity);<br class=""> assert(EntityDie);<br class="">@@ -740,10 +744,8 @@ void DwarfCompileUnit::addAddress(DIE &D<br class=""> if (!validReg)<br class=""> return;<br class=""><br class="">- Expr.finalize();<br class="">-<br class=""> // Now attach the location information to the DIE.<br class="">- addBlock(Die, Attribute, Loc);<br class="">+ addBlock(Die, Attribute, Expr.finalize());<br class=""> }<br class=""><br class=""> /// Start with the address based on the location provided, and generate the<br class=""><br class="">Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h (original)<br class="">+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h Mon Dec 19 20:09:43 2016<br class="">@@ -91,9 +91,16 @@ public:<br class=""> /// Apply the DW_AT_stmt_list from this compile unit to the specified DIE.<br class=""> void applyStmtList(DIE &D);<br class=""><br class="">- /// getOrCreateGlobalVariableDIE - get or create global variable DIE.<br class="">- DIE *getOrCreateGlobalVariableDIE(const DIGlobalVariable *GV,<br class="">- const GlobalVariable *Global);<br class="">+ /// A pair of GlobalVariable and DIExpression.<br class="">+ struct GlobalExpr {<br class="">+ const GlobalVariable *Var;<br class="">+ const DIExpression *Expr;<br class="">+ };<br class="">+<br class="">+ /// Get or create global variable DIE.<br class="">+ DIE *<br class="">+ getOrCreateGlobalVariableDIE(const DIGlobalVariable *GV,<br class="">+ ArrayRef<GlobalExpr> GlobalExprs);<br class=""><br class=""> /// addLabelAddress - Add a dwarf label attribute data and value using<br class=""> /// either DW_FORM_addr or DW_FORM_GNU_addr_index.<br class=""><br class="">Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)<br class="">+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -464,6 +464,26 @@ void DwarfDebug::constructAndAddImported<br class=""> D->addChild(TheCU.constructImportedEntityDIE(N));<br class=""> }<br class=""><br class="">+/// Sort and unique GVEs by comparing their fragment offset.<br class="">+static SmallVectorImpl<DwarfCompileUnit::GlobalExpr> &<br class="">+sortGlobalExprs(SmallVectorImpl<DwarfCompileUnit::GlobalExpr> &GVEs) {<br class="">+ std::sort(GVEs.begin(), GVEs.end(),<br class="">+ [](DwarfCompileUnit::GlobalExpr A, DwarfCompileUnit::GlobalExpr B) {<br class="">+ if (A.Expr != B.Expr && A.Expr && B.Expr &&<br class="">+ A.Expr->isFragment() && B.Expr->isFragment())<br class="">+ return A.Expr->getFragmentOffsetInBits() <<br class="">+ B.Expr->getFragmentOffsetInBits();<br class="">+ return false;<br class="">+ });<br class="">+ GVEs.erase(std::unique(GVEs.begin(), GVEs.end(),<br class="">+ [](DwarfCompileUnit::GlobalExpr A,<br class="">+ DwarfCompileUnit::GlobalExpr B) {<br class="">+ return A.Expr == B.Expr;<br class="">+ }),<br class="">+ GVEs.end());<br class="">+ return GVEs;<br class="">+}<br class="">+<br class=""> // Emit all Dwarf sections that should come prior to the content. Create<br class=""> // global DIEs and emit initial debug info sections. This is invoked by<br class=""> // the target AsmPrinter.<br class="">@@ -480,21 +500,30 @@ void DwarfDebug::beginModule() {<br class=""> // Tell MMI whether we have debug info.<br class=""> MMI->setDebugInfoAvailability(NumDebugCUs > 0);<br class=""> SingleCU = NumDebugCUs == 1;<br class="">-<br class="">- DenseMap<DIGlobalVariable *, const GlobalVariable *> GVMap;<br class="">+ DenseMap<DIGlobalVariable *, SmallVector<DwarfCompileUnit::GlobalExpr, 1>><br class="">+ GVMap;<br class=""> for (const GlobalVariable &Global : M->globals()) {<br class="">- SmallVector<DIGlobalVariable *, 1> GVs;<br class="">+ SmallVector<DIGlobalVariableExpression *, 1> GVs;<br class=""> Global.getDebugInfo(GVs);<br class="">- for (auto &GV : GVs)<br class="">- GVMap[GV] = &Global;<br class="">+ for (auto *GVE : GVs)<br class="">+ GVMap[GVE->getVariable()].push_back({&Global, GVE->getExpression()});<br class=""> }<br class=""><br class=""> for (DICompileUnit *CUNode : M->debug_compile_units()) {<br class=""> DwarfCompileUnit &CU = constructDwarfCompileUnit(CUNode);<br class=""> for (auto *IE : CUNode->getImportedEntities())<br class=""> CU.addImportedEntity(IE);<br class="">- for (auto *GV : CUNode->getGlobalVariables())<br class="">- CU.getOrCreateGlobalVariableDIE(GV, GVMap.lookup(GV));<br class="">+<br class="">+ // Global Variables.<br class="">+ for (auto *GVE : CUNode->getGlobalVariables())<br class="">+ GVMap[GVE->getVariable()].push_back({nullptr, GVE->getExpression()});<br class="">+ DenseSet<DIGlobalVariable *> Processed;<br class="">+ for (auto *GVE : CUNode->getGlobalVariables()) {<br class="">+ DIGlobalVariable *GV = GVE->getVariable();<br class="">+ if (Processed.insert(GV).second)<br class="">+ CU.getOrCreateGlobalVariableDIE(GV, sortGlobalExprs(GVMap[GV]));<br class="">+ }<br class="">+<br class=""> for (auto *Ty : CUNode->getEnumTypes()) {<br class=""> // The enum types array by design contains pointers to<br class=""> // MDNodes rather than DIRefs. Unique them here.<br class=""><br class="">Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.h<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.h?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.h (original)<br class="">+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfExpression.h Mon Dec 19 20:09:43 2016<br class="">@@ -215,6 +215,10 @@ public:<br class=""> void EmitUnsigned(uint64_t Value) override;<br class=""> bool isFrameRegister(const TargetRegisterInfo &TRI,<br class=""> unsigned MachineReg) override;<br class="">+ DIELoc *finalize() {<br class="">+ DwarfExpression::finalize();<br class="">+ return &DIE;<br class="">+ }<br class=""> };<br class=""> }<br class=""><br class=""><br class="">Modified: llvm/trunk/lib/IR/AsmWriter.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/AsmWriter.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/IR/AsmWriter.cpp (original)<br class="">+++ llvm/trunk/lib/IR/AsmWriter.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -1827,7 +1827,6 @@ static void writeDIGlobalVariable(raw_os<br class=""> Printer.printMetadata("type", N->getRawType());<br class=""> Printer.printBool("isLocal", N->isLocalToUnit());<br class=""> Printer.printBool("isDefinition", N->isDefinition());<br class="">- Printer.printMetadata("expr", N->getExpr());<br class=""> Printer.printMetadata("declaration", N->getRawStaticDataMemberDeclaration());<br class=""> Printer.printInt("align", N->getAlignInBits());<br class=""> Out << ")";<br class="">@@ -1870,6 +1869,18 @@ static void writeDIExpression(raw_ostrea<br class=""> Out << ")";<br class=""> }<br class=""><br class="">+static void writeDIGlobalVariableExpression(raw_ostream &Out,<br class="">+ const DIGlobalVariableExpression *N,<br class="">+ TypePrinting *TypePrinter,<br class="">+ SlotTracker *Machine,<br class="">+ const Module *Context) {<br class="">+ Out << "!DIGlobalVariableExpression(";<br class="">+ MDFieldPrinter Printer(Out, TypePrinter, Machine, Context);<br class="">+ Printer.printMetadata("var", N->getVariable());<br class="">+ Printer.printMetadata("expr", N->getExpression());<br class="">+ Out << ")";<br class="">+}<br class="">+<br class=""> static void writeDIObjCProperty(raw_ostream &Out, const DIObjCProperty *N,<br class=""> TypePrinting *TypePrinter, SlotTracker *Machine,<br class=""> const Module *Context) {<br class=""><br class="">Modified: llvm/trunk/lib/IR/DIBuilder.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/DIBuilder.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/IR/DIBuilder.cpp (original)<br class="">+++ llvm/trunk/lib/IR/DIBuilder.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -532,29 +532,30 @@ static void checkGlobalVariableScope(DIS<br class=""> #endif<br class=""> }<br class=""><br class="">-DIGlobalVariable *DIBuilder::createGlobalVariable(<br class="">+DIGlobalVariableExpression *DIBuilder::createGlobalVariableExpression(<br class=""> DIScope *Context, StringRef Name, StringRef LinkageName, DIFile *F,<br class="">- unsigned LineNumber, DIType *Ty, bool isLocalToUnit,<br class="">- DIExpression *Expr, MDNode *Decl, uint32_t AlignInBits) {<br class="">+ unsigned LineNumber, DIType *Ty, bool isLocalToUnit, DIExpression *Expr,<br class="">+ MDNode *Decl, uint32_t AlignInBits) {<br class=""> checkGlobalVariableScope(Context);<br class=""><br class="">- auto *N = DIGlobalVariable::getDistinct(<br class="">+ auto *GV = DIGlobalVariable::getDistinct(<br class=""> VMContext, cast_or_null<DIScope>(Context), Name, LinkageName, F,<br class="">- LineNumber, Ty, isLocalToUnit, true, Expr,<br class="">- cast_or_null<DIDerivedType>(Decl), AlignInBits);<br class="">+ LineNumber, Ty, isLocalToUnit, true, cast_or_null<DIDerivedType>(Decl),<br class="">+ AlignInBits);<br class="">+ auto *N = DIGlobalVariableExpression::get(VMContext, GV, Expr);<br class=""> AllGVs.push_back(N);<br class=""> return N;<br class=""> }<br class=""><br class=""> DIGlobalVariable *DIBuilder::createTempGlobalVariableFwdDecl(<br class=""> DIScope *Context, StringRef Name, StringRef LinkageName, DIFile *F,<br class="">- unsigned LineNumber, DIType *Ty, bool isLocalToUnit,<br class="">- DIExpression *Expr, MDNode *Decl, uint32_t AlignInBits) {<br class="">+ unsigned LineNumber, DIType *Ty, bool isLocalToUnit, MDNode *Decl,<br class="">+ uint32_t AlignInBits) {<br class=""> checkGlobalVariableScope(Context);<br class=""><br class=""> return DIGlobalVariable::getTemporary(<br class=""> VMContext, cast_or_null<DIScope>(Context), Name, LinkageName, F,<br class="">- LineNumber, Ty, isLocalToUnit, false, Expr,<br class="">+ LineNumber, Ty, isLocalToUnit, false,<br class=""> cast_or_null<DIDerivedType>(Decl), AlignInBits)<br class=""> .release();<br class=""> }<br class=""><br class="">Modified: llvm/trunk/lib/IR/DebugInfo.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/DebugInfo.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/IR/DebugInfo.cpp (original)<br class="">+++ llvm/trunk/lib/IR/DebugInfo.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -53,11 +53,12 @@ void DebugInfoFinder::reset() {<br class=""> void DebugInfoFinder::processModule(const Module &M) {<br class=""> for (auto *CU : M.debug_compile_units()) {<br class=""> addCompileUnit(CU);<br class="">- for (auto *DIG : CU->getGlobalVariables()) {<br class="">- if (addGlobalVariable(DIG)) {<br class="">- processScope(DIG->getScope());<br class="">- processType(DIG->getType().resolve());<br class="">- }<br class="">+ for (auto DIG : CU->getGlobalVariables()) {<br class="">+ if (!addGlobalVariable(DIG))<br class="">+ continue;<br class="">+ auto *GV = DIG->getVariable();<br class="">+ processScope(GV->getScope());<br class="">+ processType(GV->getType().resolve());<br class=""> }<br class=""> for (auto *ET : CU->getEnumTypes())<br class=""> processType(ET);<br class="">@@ -206,10 +207,7 @@ bool DebugInfoFinder::addCompileUnit(DIC<br class=""> return true;<br class=""> }<br class=""><br class="">-bool DebugInfoFinder::addGlobalVariable(DIGlobalVariable *DIG) {<br class="">- if (!DIG)<br class="">- return false;<br class="">-<br class="">+bool DebugInfoFinder::addGlobalVariable(DIGlobalVariableExpression *DIG) {<br class=""> if (!NodesSeen.insert(DIG).second)<br class=""> return false;<br class=""><br class=""><br class="">Modified: llvm/trunk/lib/IR/DebugInfoMetadata.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/DebugInfoMetadata.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/IR/DebugInfoMetadata.cpp (original)<br class="">+++ llvm/trunk/lib/IR/DebugInfoMetadata.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -514,18 +514,17 @@ DIGlobalVariable *<br class=""> DIGlobalVariable::getImpl(LLVMContext &Context, Metadata *Scope, MDString *Name,<br class=""> MDString *LinkageName, Metadata *File, unsigned Line,<br class=""> Metadata *Type, bool IsLocalToUnit, bool IsDefinition,<br class="">- Metadata *Variable,<br class=""> Metadata *StaticDataMemberDeclaration,<br class="">- uint32_t AlignInBits,<br class="">- StorageType Storage, bool ShouldCreate) {<br class="">+ uint32_t AlignInBits, StorageType Storage,<br class="">+ bool ShouldCreate) {<br class=""> assert(isCanonical(Name) && "Expected canonical MDString");<br class=""> assert(isCanonical(LinkageName) && "Expected canonical MDString");<br class=""> DEFINE_GETIMPL_LOOKUP(DIGlobalVariable,<br class=""> (Scope, Name, LinkageName, File, Line, Type,<br class="">- IsLocalToUnit, IsDefinition, Variable,<br class="">+ IsLocalToUnit, IsDefinition,<br class=""> StaticDataMemberDeclaration, AlignInBits));<br class="">- Metadata *Ops[] = {Scope, Name, File, Type,<br class="">- Name, LinkageName, Variable, StaticDataMemberDeclaration};<br class="">+ Metadata *Ops[] = {<br class="">+ Scope, Name, File, Type, Name, LinkageName, StaticDataMemberDeclaration};<br class=""> DEFINE_GETIMPL_STORE(DIGlobalVariable,<br class=""> (Line, IsLocalToUnit, IsDefinition, AlignInBits),<br class=""> Ops);<br class="">@@ -581,10 +580,17 @@ bool DIExpression::isValid() const {<br class=""> default:<br class=""> return false;<br class=""> case dwarf::DW_OP_LLVM_fragment:<br class="">- case dwarf::DW_OP_stack_value:<br class="">- // We only support fragment and stack value expressions which appear at<br class="">- // the end.<br class="">+ // A fragment operator must appear at the end.<br class=""> return I->get() + I->getSize() == E->get();<br class="">+ case dwarf::DW_OP_stack_value: {<br class="">+ // Must be the last one or followed by a DW_OP_LLVM_fragment.<br class="">+ if (I->get() + I->getSize() == E->get())<br class="">+ break;<br class="">+ auto J = I;<br class="">+ if ((++J)->getOp() != dwarf::DW_OP_LLVM_fragment)<br class="">+ return false;<br class="">+ break;<br class="">+ }<br class=""> case dwarf::DW_OP_constu:<br class=""> case dwarf::DW_OP_plus:<br class=""> case dwarf::DW_OP_minus:<br class="">@@ -613,6 +619,27 @@ uint64_t DIExpression::getFragmentSizeIn<br class=""> return getElement(getNumElements() - 1);<br class=""> }<br class=""><br class="">+bool DIExpression::isConstant() const {<br class="">+ // Recognize DW_OP_constu C DW_OP_stack_value (DW_OP_LLVM_fragment Len Ofs)?.<br class="">+ if (getNumElements() != 3 && getNumElements() != 6)<br class="">+ return false;<br class="">+ if (getElement(0) != dwarf::DW_OP_constu ||<br class="">+ getElement(2) != dwarf::DW_OP_stack_value)<br class="">+ return false;<br class="">+ if (getNumElements() == 6 && getElement(3) != dwarf::DW_OP_LLVM_fragment)<br class="">+ return false;<br class="">+ return true;<br class="">+}<br class="">+<br class="">+DIGlobalVariableExpression *<br class="">+DIGlobalVariableExpression::getImpl(LLVMContext &Context, Metadata *Variable,<br class="">+ Metadata *Expression, StorageType Storage,<br class="">+ bool ShouldCreate) {<br class="">+ DEFINE_GETIMPL_LOOKUP(DIGlobalVariableExpression, (Variable, Expression));<br class="">+ Metadata *Ops[] = {Variable, Expression};<br class="">+ DEFINE_GETIMPL_STORE_NO_CONSTRUCTOR_ARGS(DIGlobalVariableExpression, Ops);<br class="">+}<br class="">+<br class=""> DIObjCProperty *DIObjCProperty::getImpl(<br class=""> LLVMContext &Context, MDString *Name, Metadata *File, unsigned Line,<br class=""> MDString *GetterName, MDString *SetterName, unsigned Attributes,<br class=""><br class="">Modified: llvm/trunk/lib/IR/LLVMContextImpl.h<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/LLVMContextImpl.h?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/IR/LLVMContextImpl.h (original)<br class="">+++ llvm/trunk/lib/IR/LLVMContextImpl.h Mon Dec 19 20:09:43 2016<br class="">@@ -763,18 +763,16 @@ template <> struct MDNodeKeyImpl<DIGloba<br class=""> Metadata *Type;<br class=""> bool IsLocalToUnit;<br class=""> bool IsDefinition;<br class="">- Metadata *Expr;<br class=""> Metadata *StaticDataMemberDeclaration;<br class=""> uint32_t AlignInBits;<br class=""><br class=""> MDNodeKeyImpl(Metadata *Scope, MDString *Name, MDString *LinkageName,<br class=""> Metadata *File, unsigned Line, Metadata *Type,<br class=""> bool IsLocalToUnit, bool IsDefinition,<br class="">- Metadata *Expr, Metadata *StaticDataMemberDeclaration,<br class="">- uint32_t AlignInBits)<br class="">+ Metadata *StaticDataMemberDeclaration, uint32_t AlignInBits)<br class=""> : Scope(Scope), Name(Name), LinkageName(LinkageName), File(File),<br class=""> Line(Line), Type(Type), IsLocalToUnit(IsLocalToUnit),<br class="">- IsDefinition(IsDefinition), Expr(Expr),<br class="">+ IsDefinition(IsDefinition),<br class=""> StaticDataMemberDeclaration(StaticDataMemberDeclaration),<br class=""> AlignInBits(AlignInBits) {}<br class=""> MDNodeKeyImpl(const DIGlobalVariable *N)<br class="">@@ -782,7 +780,6 @@ template <> struct MDNodeKeyImpl<DIGloba<br class=""> LinkageName(N->getRawLinkageName()), File(N->getRawFile()),<br class=""> Line(N->getLine()), Type(N->getRawType()),<br class=""> IsLocalToUnit(N->isLocalToUnit()), IsDefinition(N->isDefinition()),<br class="">- Expr(N->getRawExpr()),<br class=""> StaticDataMemberDeclaration(N->getRawStaticDataMemberDeclaration()),<br class=""> AlignInBits(N->getAlignInBits()) {}<br class=""><br class="">@@ -792,7 +789,6 @@ template <> struct MDNodeKeyImpl<DIGloba<br class=""> File == RHS->getRawFile() && Line == RHS->getLine() &&<br class=""> Type == RHS->getRawType() && IsLocalToUnit == RHS->isLocalToUnit() &&<br class=""> IsDefinition == RHS->isDefinition() &&<br class="">- Expr == RHS->getRawExpr() &&<br class=""> StaticDataMemberDeclaration ==<br class=""> RHS->getRawStaticDataMemberDeclaration() &&<br class=""> AlignInBits == RHS->getAlignInBits();<br class="">@@ -806,7 +802,7 @@ template <> struct MDNodeKeyImpl<DIGloba<br class=""> // generated IR is random for each run and test fails with Align included.<br class=""> // TODO: make hashing work fine with such situations<br class=""> return hash_combine(Scope, Name, LinkageName, File, Line, Type,<br class="">- IsLocalToUnit, IsDefinition, /* AlignInBits, */ Expr,<br class="">+ IsLocalToUnit, IsDefinition, /* AlignInBits, */<br class=""> StaticDataMemberDeclaration);<br class=""> }<br class=""> };<br class="">@@ -863,6 +859,22 @@ template <> struct MDNodeKeyImpl<DIExpre<br class=""> }<br class=""> };<br class=""><br class="">+template <> struct MDNodeKeyImpl<DIGlobalVariableExpression> {<br class="">+ Metadata *Variable;<br class="">+ Metadata *Expression;<br class="">+<br class="">+ MDNodeKeyImpl(Metadata *Variable, Metadata *Expression)<br class="">+ : Variable(Variable), Expression(Expression) {}<br class="">+ MDNodeKeyImpl(const DIGlobalVariableExpression *N)<br class="">+ : Variable(N->getRawVariable()), Expression(N->getRawExpression()) {}<br class="">+<br class="">+ bool isKeyOf(const DIGlobalVariableExpression *RHS) const {<br class="">+ return Variable == RHS->getRawVariable() &&<br class="">+ Expression == RHS->getRawExpression();<br class="">+ }<br class="">+ unsigned getHashValue() const { return hash_combine(Variable, Expression); }<br class="">+};<br class="">+<br class=""> template <> struct MDNodeKeyImpl<DIObjCProperty> {<br class=""> MDString *Name;<br class=""> Metadata *File;<br class=""><br class="">Modified: llvm/trunk/lib/IR/Metadata.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Metadata.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/IR/Metadata.cpp (original)<br class="">+++ llvm/trunk/lib/IR/Metadata.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -1419,9 +1419,15 @@ void GlobalObject::copyMetadata(const Gl<br class=""> // If an offset adjustment was specified we need to modify the DIExpression<br class=""> // to prepend the adjustment:<br class=""> // !DIExpression(DW_OP_plus, Offset, [original expr])<br class="">+ auto *Attachment = MD.second;<br class=""> if (Offset != 0 && MD.first == LLVMContext::MD_dbg) {<br class="">- DIGlobalVariable *GV = cast<DIGlobalVariable>(MD.second);<br class="">- DIExpression *E = GV->getExpr();<br class="">+ DIGlobalVariable *GV = dyn_cast<DIGlobalVariable>(Attachment);<br class="">+ DIExpression *E = nullptr;<br class="">+ if (!GV) {<br class="">+ auto *GVE = cast<DIGlobalVariableExpression>(Attachment);<br class="">+ GV = GVE->getVariable();<br class="">+ E = GVE->getExpression();<br class="">+ }<br class=""> ArrayRef<uint64_t> OrigElements;<br class=""> if (E)<br class=""> OrigElements = E->getElements();<br class="">@@ -1429,9 +1435,10 @@ void GlobalObject::copyMetadata(const Gl<br class=""> Elements[0] = dwarf::DW_OP_plus;<br class=""> Elements[1] = Offset;<br class=""> std::copy(OrigElements.begin(), OrigElements.end(), Elements.begin() + 2);<br class="">- GV->replaceExpr(DIExpression::get(getContext(), Elements));<br class="">+ E = DIExpression::get(getContext(), Elements);<br class="">+ Attachment = DIGlobalVariableExpression::get(getContext(), GV, E);<br class=""> }<br class="">- addMetadata(MD.first, *MD.second);<br class="">+ addMetadata(MD.first, *Attachment);<br class=""> }<br class=""> }<br class=""><br class="">@@ -1452,14 +1459,14 @@ DISubprogram *Function::getSubprogram()<br class=""> return cast_or_null<DISubprogram>(getMetadata(LLVMContext::MD_dbg));<br class=""> }<br class=""><br class="">-void GlobalVariable::addDebugInfo(DIGlobalVariable *GV) {<br class="">+void GlobalVariable::addDebugInfo(DIGlobalVariableExpression *GV) {<br class=""> addMetadata(LLVMContext::MD_dbg, *GV);<br class=""> }<br class=""><br class=""> void GlobalVariable::getDebugInfo(<br class="">- SmallVectorImpl<DIGlobalVariable *> &GVs) const {<br class="">+ SmallVectorImpl<DIGlobalVariableExpression *> &GVs) const {<br class=""> SmallVector<MDNode *, 1> MDs;<br class=""> getMetadata(LLVMContext::MD_dbg, MDs);<br class=""> for (MDNode *MD : MDs)<br class="">- GVs.push_back(cast<DIGlobalVariable>(MD));<br class="">+ GVs.push_back(cast<DIGlobalVariableExpression>(MD));<br class=""> }<br class=""><br class="">Modified: llvm/trunk/lib/IR/Verifier.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Verifier.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/IR/Verifier.cpp (original)<br class="">+++ llvm/trunk/lib/IR/Verifier.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -580,7 +580,6 @@ void Verifier::visitGlobalVariable(const<br class=""> "Global variable initializer type does not match global "<br class=""> "variable type!",<br class=""> &GV);<br class="">-<br class=""> // If the global has common linkage, it must have a zero initializer and<br class=""> // cannot be constant.<br class=""> if (GV.hasCommonLinkage()) {<br class="">@@ -646,6 +645,15 @@ void Verifier::visitGlobalVariable(const<br class=""> GV.hasAvailableExternallyLinkage(),<br class=""> "Global is marked as dllimport, but not external", &GV);<br class=""><br class="">+ // Visit any debug info attachments.<br class="">+ SmallVector<MDNode *, 1> MDs;<br class="">+ GV.getMetadata(LLVMContext::MD_dbg, MDs);<br class="">+ for (auto *MD : MDs)<br class="">+ if (auto *GVE = dyn_cast<DIGlobalVariableExpression>(MD))<br class="">+ visitDIGlobalVariableExpression(*GVE);<br class="">+ else<br class="">+ AssertDI(false, "!dbg attachment of global variable must be a DIGlobalVariableExpression");<br class="">+<br class=""> if (!GV.hasInitializer()) {<br class=""> visitGlobalValue(GV);<br class=""> return;<br class="">@@ -988,8 +996,8 @@ void Verifier::visitDICompileUnit(const<br class=""> if (auto *Array = N.getRawGlobalVariables()) {<br class=""> AssertDI(isa<MDTuple>(Array), "invalid global variable list", &N, Array);<br class=""> for (Metadata *Op : N.getGlobalVariables()->operands()) {<br class="">- AssertDI(Op && isa<DIGlobalVariable>(Op), "invalid global variable ref",<br class="">- &N, Op);<br class="">+ AssertDI(Op && (isa<DIGlobalVariableExpression>(Op)),<br class="">+ "invalid global variable ref", &N, Op);<br class=""> }<br class=""> }<br class=""> if (auto *Array = N.getRawImportedEntities()) {<br class="">@@ -1132,8 +1140,6 @@ void Verifier::visitDIGlobalVariable(con<br class=""><br class=""> AssertDI(N.getTag() == dwarf::DW_TAG_variable, "invalid tag", &N);<br class=""> AssertDI(!N.getName().empty(), "missing global variable name", &N);<br class="">- if (auto *V = N.getRawExpr())<br class="">- AssertDI(isa<DIExpression>(V), "invalid expression location", &N, V);<br class=""> if (auto *Member = N.getRawStaticDataMemberDeclaration()) {<br class=""> AssertDI(isa<DIDerivedType>(Member),<br class=""> "invalid static data member declaration", &N, Member);<br class="">@@ -1153,6 +1159,15 @@ void Verifier::visitDIExpression(const D<br class=""> AssertDI(N.isValid(), "invalid expression", &N);<br class=""> }<br class=""><br class="">+void Verifier::visitDIGlobalVariableExpression(<br class="">+ const DIGlobalVariableExpression &GVE) {<br class="">+ AssertDI(GVE.getVariable(), "missing variable");<br class="">+ if (auto *Var = GVE.getVariable())<br class="">+ visitDIGlobalVariable(*Var);<br class="">+ if (auto *Expr = GVE.getExpression())<br class="">+ visitDIExpression(*Expr);<br class="">+}<br class="">+<br class=""> void Verifier::visitDIObjCProperty(const DIObjCProperty &N) {<br class=""> AssertDI(N.getTag() == dwarf::DW_TAG_APPLE_property, "invalid tag", &N);<br class=""> if (auto *T = N.getRawType())<br class=""><br class="">Modified: llvm/trunk/lib/Transforms/IPO/StripSymbols.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/StripSymbols.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/Transforms/IPO/StripSymbols.cpp (original)<br class="">+++ llvm/trunk/lib/Transforms/IPO/StripSymbols.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -313,20 +313,23 @@ bool StripDeadDebugInfo::runOnModule(Mod<br class=""> // replace the current list of potentially dead global variables/functions<br class=""> // with the live list.<br class=""> SmallVector<Metadata *, 64> LiveGlobalVariables;<br class="">- DenseSet<const MDNode *> VisitedSet;<br class="">+ DenseSet<DIGlobalVariableExpression *> VisitedSet;<br class=""><br class="">- std::set<DIGlobalVariable *> LiveGVs;<br class="">+ std::set<DIGlobalVariableExpression *> LiveGVs;<br class=""> for (GlobalVariable &GV : M.globals()) {<br class="">- SmallVector<DIGlobalVariable *, 1> DIs;<br class="">- GV.getDebugInfo(DIs);<br class="">- for (DIGlobalVariable *DI : DIs)<br class="">- LiveGVs.insert(DI);<br class="">+ SmallVector<DIGlobalVariableExpression *, 1> GVEs;<br class="">+ GV.getDebugInfo(GVEs);<br class="">+ for (auto *GVE : GVEs)<br class="">+ LiveGVs.insert(GVE);<br class=""> }<br class=""><br class=""> for (DICompileUnit *DIC : F.compile_units()) {<br class=""> // Create our live global variable list.<br class=""> bool GlobalVariableChange = false;<br class="">- for (DIGlobalVariable *DIG : DIC->getGlobalVariables()) {<br class="">+ for (auto *DIG : DIC->getGlobalVariables()) {<br class="">+ if (DIG->getExpression() && DIG->getExpression()->isConstant())<br class="">+ LiveGVs.insert(DIG);<br class="">+<br class=""> // Make sure we only visit each global variable only once.<br class=""> if (!VisitedSet.insert(DIG).second)<br class=""> continue;<br class=""><br class="">Modified: llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp (original)<br class="">+++ llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -1655,7 +1655,7 @@ bool AddressSanitizerModule::InstrumentG<br class=""><br class=""> // Transfer the debug info. The payload starts at offset zero so we can<br class=""> // copy the debug info over as is.<br class="">- SmallVector<DIGlobalVariable *, 1> GVs;<br class="">+ SmallVector<DIGlobalVariableExpression *, 1> GVs;<br class=""> G->getDebugInfo(GVs);<br class=""> for (auto *GV : GVs)<br class=""> NewGlobal->addDebugInfo(GV);<br class=""><br class="">Copied: llvm/trunk/test/Assembler/DIGlobalVariableExpression.ll (from r290148, llvm/trunk/test/Assembler/diglobalvariable.ll)<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Assembler/DIGlobalVariableExpression.ll?p2=llvm/trunk/test/Assembler/DIGlobalVariableExpression.ll&p1=llvm/trunk/test/Assembler/diglobalvariable.ll&r1=290148&r2=290153&rev=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Assembler/diglobalvariable.ll (original)<br class="">+++ llvm/trunk/test/Assembler/DIGlobalVariableExpression.ll Mon Dec 19 20:09:43 2016<br class="">@@ -3,8 +3,8 @@<br class=""><br class=""> @foo = global i32 0<br class=""><br class="">-; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !8, !9, !10}<br class="">-!named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9}<br class="">+; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !7}<br class="">+!named = !{!0, !1, !2, !3, !4, !5, !6, !7}<br class=""><br class=""> !0 = !DIFile(filename: "scope.h", directory: "/path/to/dir")<br class=""> !1 = distinct !{}<br class="">@@ -17,12 +17,7 @@<br class=""> file: !2, line: 7, type: !3, isLocal: true,<br class=""> isDefinition: false, align: 32)<br class=""><br class="">-; CHECK: !6 = !DIGlobalVariable(name: "foo", scope: !0, isLocal: false, isDefinition: true, expr: !7)<br class="">+; CHECK: !6 = !DIGlobalVariableExpression(var: !5, expr: !7)<br class="">+!6 = !DIGlobalVariableExpression(var: !5, expr: !7)<br class=""> ; CHECK: !7 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value)<br class="">-!6 = !DIGlobalVariable(name: "foo", scope: !0, expr: !DIExpression(DW_OP_constu, 42, DW_OP_stack_value))<br class="">-<br class="">-!7 = !DICompositeType(tag: DW_TAG_structure_type, name: "Class", size: 8, align: 8)<br class="">-!8 = !DIDerivedType(tag: DW_TAG_member, name: "mem", flags: DIFlagStaticMember, scope: !7, baseType: !3)<br class="">-<br class="">-; CHECK: !10 = !DIGlobalVariable(name: "mem", scope: !0, isLocal: false, isDefinition: true, declaration: !9)<br class="">-!9 = !DIGlobalVariable(name: "mem", scope: !0, declaration: !8)<br class="">+!7 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value)<br class=""><br class="">Modified: llvm/trunk/test/Assembler/diglobalvariable.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Assembler/diglobalvariable.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Assembler/diglobalvariable.ll (original)<br class="">+++ llvm/trunk/test/Assembler/diglobalvariable.ll Mon Dec 19 20:09:43 2016<br class="">@@ -3,8 +3,8 @@<br class=""><br class=""> @foo = global i32 0<br class=""><br class="">-; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !8, !9, !10}<br class="">-!named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9}<br class="">+; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8}<br class="">+!named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8}<br class=""><br class=""> !0 = !DIFile(filename: "scope.h", directory: "/path/to/dir")<br class=""> !1 = distinct !{}<br class="">@@ -17,12 +17,8 @@<br class=""> file: !2, line: 7, type: !3, isLocal: true,<br class=""> isDefinition: false, align: 32)<br class=""><br class="">-; CHECK: !6 = !DIGlobalVariable(name: "foo", scope: !0, isLocal: false, isDefinition: true, expr: !7)<br class="">-; CHECK: !7 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value)<br class="">-!6 = !DIGlobalVariable(name: "foo", scope: !0, expr: !DIExpression(DW_OP_constu, 42, DW_OP_stack_value))<br class="">+!6 = !DICompositeType(tag: DW_TAG_structure_type, name: "Class", size: 8, align: 8)<br class="">+!7 = !DIDerivedType(tag: DW_TAG_member, name: "mem", flags: DIFlagStaticMember, scope: !6, baseType: !3)<br class=""><br class="">-!7 = !DICompositeType(tag: DW_TAG_structure_type, name: "Class", size: 8, align: 8)<br class="">-!8 = !DIDerivedType(tag: DW_TAG_member, name: "mem", flags: DIFlagStaticMember, scope: !7, baseType: !3)<br class="">-<br class="">-; CHECK: !10 = !DIGlobalVariable(name: "mem", scope: !0, isLocal: false, isDefinition: true, declaration: !9)<br class="">-!9 = !DIGlobalVariable(name: "mem", scope: !0, declaration: !8)<br class="">+; CHECK: !8 = !DIGlobalVariable(name: "mem", scope: !0, isLocal: false, isDefinition: true, declaration: !7)<br class="">+!8 = !DIGlobalVariable(name: "mem", scope: !0, declaration: !7)<br class=""><br class="">Added: llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll?rev=290153&view=auto<br class="">==============================================================================<br class="">--- llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll (added)<br class="">+++ llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll Mon Dec 19 20:09:43 2016<br class="">@@ -0,0 +1,31 @@<br class="">+; RUN: llvm-dis -o - %s.bc | FileCheck %s<br class="">+<br class="">+; CHECK: @g = common global i32 0, align 4, !dbg ![[G:[0-9]+]]<br class="">+; CHECK: @h = common global i32 0, align 4, !dbg ![[H:[0-9]+]]<br class="">+; CHECK: ![[G]] = {{.*}}!DIGlobalVariableExpression(var: ![[GVAR:[0-9]+]], expr: ![[GEXPR:[0-9]+]])<br class="">+; CHECK: ![[GVAR]] = distinct !DIGlobalVariable(name: "g",<br class="">+; CHECK: !DIGlobalVariableExpression(var: ![[CVAR:[0-9]+]], expr: ![[CEXPR:[0-9]+]])<br class="">+; CHECK: ![[CVAR]] = distinct !DIGlobalVariable(name: "c",<br class="">+; CHECK: ![[CEXPR]] = !DIExpression(DW_OP_constu, 23, DW_OP_stack_value)<br class="">+; CHECK: ![[H]] = {{.*}}!DIGlobalVariableExpression(var: ![[HVAR:[0-9]+]])<br class="">+; CHECK: ![[HVAR]] = distinct !DIGlobalVariable(name: "h",<br class="">+; CHECK: ![[GEXPR]] = !DIExpression(DW_OP_plus, 1)<br class="">+@g = common global i32 0, align 4, !dbg !0<br class="">+@h = common global i32 0, align 4, !dbg !11<br class="">+<br class="">+!llvm.dbg.cu = !{!1}<br class="">+!llvm.module.flags = !{!6, !7, !8}<br class="">+!llvm.ident = !{!9}<br class="">+<br class="">+!0 = distinct !DIGlobalVariable(name: "g", scope: !1, file: !2, line: 1, type: !5, isLocal: false, isDefinition: true, expr: !DIExpression(DW_OP_plus, 1))<br class="">+!1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 4.0.0 (trunk 286129) (llvm/trunk 286128)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class="">+!2 = !DIFile(filename: "a.c", directory: "/")<br class="">+!3 = !{}<br class="">+!4 = !{!0, !10, !11}<br class="">+!5 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)<br class="">+!6 = !{i32 2, !"Dwarf Version", i32 4}<br class="">+!7 = !{i32 2, !"Debug Info Version", i32 3}<br class="">+!8 = !{i32 1, !"PIC Level", i32 2}<br class="">+!9 = !{!"clang version 4.0.0 (trunk 286129) (llvm/trunk 286128)"}<br class="">+!10 = distinct !DIGlobalVariable(name: "c", scope: !1, file: !2, line: 1, type: !5, isLocal: false, isDefinition: true, expr: !DIExpression(DW_OP_constu, 23, DW_OP_stack_value))<br class="">+!11 = distinct !DIGlobalVariable(name: "h", scope: !1, file: !2, line: 2, type: !5, isLocal: false, isDefinition: true)<br class=""><br class="">Added: llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll.bc<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll.bc?rev=290153&view=auto<br class="">==============================================================================<br class="">Binary files llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll.bc (added) and llvm/trunk/test/Bitcode/DIGlobalVariableExpression.ll.bc Mon Dec 19 20:09:43 2016 differ<br class=""><br class="">Modified: llvm/trunk/test/Bitcode/diglobalvariable-3.8.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/diglobalvariable-3.8.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Bitcode/diglobalvariable-3.8.ll (original)<br class="">+++ llvm/trunk/test/Bitcode/diglobalvariable-3.8.ll Mon Dec 19 20:09:43 2016<br class="">@@ -1,8 +1,20 @@<br class=""> ; RUN: llvm-dis -o - %s.bc | FileCheck %s<br class=""><br class="">-; CHECK: !0 = distinct !DIGlobalVariable(name: "a", scope: null, isLocal: false, isDefinition: true, expr: !1)<br class="">-; CHECK: !1 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value)<br class="">+!llvm.dbg.cu = !{!0}<br class="">+!llvm.module.flags = !{!7, !8}<br class=""><br class="">-!named = !{!0}<br class="">+; CHECK: !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.8.1", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, globals: !3)<br class="">+!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.8.1", isOptimized: true, runtimeVersion: 0, emissionKind: 1, enums: !2, globals: !3)<br class="">+!1 = !DIFile(filename: "g.c", directory: "/")<br class="">+!2 = !{}<br class="">+; CHECK: !3 = !{!4}<br class="">+!3 = !{!4}<br class="">+; CHECK: !4 = {{.*}}!DIGlobalVariableExpression(var: !5, expr: !8)<br class="">+; CHECK: !5 = !DIGlobalVariable(name: "c", scope: !0, file: !1, line: 1, type: !6, isLocal: false, isDefinition: true)<br class="">+; CHECK: !8 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value)<br class="">+!4 = !DIGlobalVariable(name: "c", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true, variable: i32 42)<br class="">+!5 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !6)<br class="">+!6 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class="">+!7 = !{i32 2, !"Dwarf Version", i32 2}<br class="">+!8 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "a", variable: i32 42)<br class=""><br class="">Modified: llvm/trunk/test/Bitcode/diglobalvariable-3.8.ll.bc<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/diglobalvariable-3.8.ll.bc?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">Binary files llvm/trunk/test/Bitcode/diglobalvariable-3.8.ll.bc (original) and llvm/trunk/test/Bitcode/diglobalvariable-3.8.ll.bc Mon Dec 19 20:09:43 2016 differ<br class=""><br class="">Modified: llvm/trunk/test/Bitcode/dityperefs-3.8.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bitcode/dityperefs-3.8.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Bitcode/dityperefs-3.8.ll (original)<br class="">+++ llvm/trunk/test/Bitcode/dityperefs-3.8.ll Mon Dec 19 20:09:43 2016<br class="">@@ -18,13 +18,14 @@<br class=""> ; CHECK-NEXT: !7 = !DILocalVariable(name: "V1", scope: !6, type: !2)<br class=""> ; CHECK-NEXT: !8 = !DIObjCProperty(name: "P1", type: !1)<br class=""> ; CHECK-NEXT: !9 = !DITemplateTypeParameter(type: !1)<br class="">-; CHECK-NEXT: !10 = !DIGlobalVariable(name: "G",{{.*}} type: !1,<br class="">-; CHECK-NEXT: !11 = !DITemplateValueParameter(type: !1, value: i32* @G1)<br class="">-; CHECK-NEXT: !12 = !DIImportedEntity(tag: DW_TAG_imported_module, name: "T2", scope: !0, entity: !1)<br class="">-; CHECK-NEXT: !13 = !DICompositeType(tag: DW_TAG_structure_type, name: "T3", file: !0, elements: !14, identifier: "T3")<br class="">-; CHECK-NEXT: !14 = !{!15}<br class="">-; CHECK-NEXT: !15 = !DISubprogram(scope: !13,<br class="">-; CHECK-NEXT: !16 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type,{{.*}} extraData: !13)<br class="">+; CHECK-NEXT: !10 = distinct !DIGlobalVariableExpression(var: !11)<br class="">+; CHECK-NEXT: !11 = !DIGlobalVariable(name: "G",{{.*}} type: !1,<br class="">+; CHECK-NEXT: !12 = !DITemplateValueParameter(type: !1, value: i32* @G1)<br class="">+; CHECK-NEXT: !13 = !DIImportedEntity(tag: DW_TAG_imported_module, name: "T2", scope: !0, entity: !1)<br class="">+; CHECK-NEXT: !14 = !DICompositeType(tag: DW_TAG_structure_type, name: "T3", file: !0, elements: !15, identifier: "T3")<br class="">+; CHECK-NEXT: !15 = !{!16}<br class="">+; CHECK-NEXT: !16 = !DISubprogram(scope: !14,<br class="">+; CHECK-NEXT: !17 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type,{{.*}} extraData: !14)<br class=""><br class=""> !0 = !DIFile(filename: "path/to/file", directory: "/path/to/dir")<br class=""> !1 = !DICompositeType(tag: DW_TAG_structure_type, name: "T1", file: !0, identifier: "T1")<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll Mon Dec 19 20:09:43 2016<br class="">@@ -20,7 +20,7 @@ declare void @llvm.dbg.declare(metadata,<br class=""><br class=""> !llvm.dbg.cu = !{!0}<br class=""><br class="">-!0 = !DIGlobalVariable(name: "vsplive", line: 617, isLocal: true, isDefinition: true, scope: !1, file: !2, type: !6)<br class="">+!0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "vsplive", line: 617, isLocal: true, isDefinition: true, scope: !1, file: !2, type: !6))<br class=""> !1 = distinct !DISubprogram(name: "drt_vsprintf", line: 616, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !3, file: !20, scope: !2, type: !4)<br class=""> !2 = !DIFile(filename: "print.i", directory: "/Volumes/Ebi/echeng/radars/r9146594")<br class=""> !3 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.0 (http://llvm.org/git/clang.git git:/git/puzzlebox/clang.git/ c4d1aea01c4444eb81bdbf391f1be309127c3cf1)", isOptimized: true, emissionKind: FullDebug, file: !20, enums: !21, retainedTypes: !21, globals: !{!0})<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll Mon Dec 19 20:09:43 2016<br class="">@@ -60,7 +60,7 @@ declare void @llvm.dbg.value(metadata, i<br class=""> !11 = distinct !DILexicalBlock(line: 5, column: 1, file: !26, scope: !1)<br class=""> !12 = !DILocalVariable(name: "c", line: 7, scope: !11, file: !2, type: !13)<br class=""> !13 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class="">-!14 = !DIGlobalVariable(name: "length", linkageName: "length", line: 1, isLocal: false, isDefinition: true, scope: !2, file: !2, type: !13)<br class="">+!14 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "length", linkageName: "length", line: 1, isLocal: false, isDefinition: true, scope: !2, file: !2, type: !13))<br class=""> !15 = !DILocation(line: 4, column: 24, scope: !1)<br class=""> !16 = !DILocation(line: 4, column: 43, scope: !1)<br class=""> !17 = !DILocation(line: 9, column: 2, scope: !11)<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll Mon Dec 19 20:09:43 2016<br class="">@@ -91,11 +91,11 @@ entry:<br class=""> !10 = !DILocalVariable(name: "a", line: 4, arg: 1, scope: !0, file: !1, type: !5)<br class=""> !11 = !DILocalVariable(name: "b", line: 4, scope: !12, file: !1, type: !5)<br class=""> !12 = distinct !DILexicalBlock(line: 4, column: 0, file: !47, scope: !0)<br class="">-!13 = !DIGlobalVariable(name: "x1", line: 3, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5)<br class="">-!14 = !DIGlobalVariable(name: "x2", line: 6, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5)<br class="">-!15 = !DIGlobalVariable(name: "x3", line: 9, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5)<br class="">-!16 = !DIGlobalVariable(name: "x4", line: 12, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5)<br class="">-!17 = !DIGlobalVariable(name: "x5", line: 15, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5)<br class="">+!13 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x1", line: 3, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5))<br class="">+!14 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x2", line: 6, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5))<br class="">+!15 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x3", line: 9, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5))<br class="">+!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x4", line: 12, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5))<br class="">+!17 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x5", line: 15, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5))<br class=""> !18 = !DILocalVariable(name: "a", line: 7, arg: 1, scope: !6, file: !1, type: !5)<br class=""> !19 = !DILocalVariable(name: "b", line: 7, scope: !20, file: !1, type: !5)<br class=""> !20 = distinct !DILexicalBlock(line: 7, column: 0, file: !47, scope: !6)<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll Mon Dec 19 20:09:43 2016<br class="">@@ -95,8 +95,8 @@ declare void @llvm.dbg.value(metadata, i<br class=""> !19 = !DILocalVariable(name: "a", line: 14, arg: 1, scope: !8, file: !2, type: !5)<br class=""> !20 = !DILocalVariable(name: "b", line: 14, scope: !21, file: !2, type: !5)<br class=""> !21 = distinct !DILexicalBlock(line: 14, column: 19, file: !47, scope: !8)<br class="">-!25 = !DIGlobalVariable(name: "x1", line: 4, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5)<br class="">-!26 = !DIGlobalVariable(name: "x2", line: 7, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5)<br class="">+!25 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x1", line: 4, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5))<br class="">+!26 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x2", line: 7, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5))<br class=""> !27 = !DILocalVariable(name: "a", line: 17, arg: 1, scope: !9, file: !2, type: !5)<br class=""> !28 = !DILocalVariable(name: "b", line: 17, scope: !29, file: !2, type: !5)<br class=""> !29 = distinct !DILexicalBlock(line: 17, column: 19, file: !47, scope: !9)<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll Mon Dec 19 20:09:43 2016<br class="">@@ -94,11 +94,11 @@ attributes #3 = { nounwind }<br class=""> !13 = distinct !DILexicalBlock(line: 12, column: 0, file: !1, scope: !4)<br class=""> !14 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, baseType: !8)<br class=""> !15 = !{!16, !18, !19, !20}<br class="">-!16 = !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !17)<br class="">+!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !17))<br class=""> !17 = !DIBasicType(tag: DW_TAG_base_type, name: "long long int", size: 64, align: 32, encoding: DW_ATE_signed)<br class="">-!18 = !DIGlobalVariable(name: "b", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8)<br class="">-!19 = !DIGlobalVariable(name: "c", line: 3, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8)<br class="">-!20 = !DIGlobalVariable(name: "d", line: 4, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8)<br class="">+!18 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8))<br class="">+!19 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c", line: 3, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8))<br class="">+!20 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "d", line: 4, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8))<br class=""> !21 = !DILocation(line: 10, scope: !22)<br class=""> !22 = distinct !DILexicalBlock(line: 10, column: 0, file: !1, scope: !4)<br class=""> !26 = !DILocation(line: 12, scope: !13)<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/BPF/dwarfdump.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/BPF/dwarfdump.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/BPF/dwarfdump.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/BPF/dwarfdump.ll Mon Dec 19 20:09:43 2016<br class="">@@ -26,7 +26,7 @@ attributes #1 = { nounwind readnone }<br class=""> !llvm.module.flags = !{!12, !13}<br class=""> !llvm.ident = !{!14}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "myvar_c", scope: !1, file: !2, line: 3, type: !5, isLocal: true, isDefinition: true)<br class="">+!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "myvar_c", scope: !1, file: !2, line: 3, type: !5, isLocal: true, isDefinition: true))<br class=""> !1 = distinct !DISubprogram(name: "testprog", scope: !2, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: true, unit: !6, variables: !9)<br class=""> !2 = !DIFile(filename: "testprog.c", directory: "/w/llvm/bld")<br class=""> !3 = !DISubroutineType(types: !4)<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/NVPTX/generic-to-nvvm-ir.ll Mon Dec 19 20:09:43 2016<br class="">@@ -42,10 +42,10 @@ declare void @extfunc(i8 signext)<br class=""> !3 = !{!4}<br class=""> ; Find list of global variables and make sure it's the one used by DICompileUnit<br class=""> ; CHECK: [[GLOBALSNODE]] = !{[[GVNODE:![0-9]+]]}<br class="">-!4 = distinct !DIGlobalVariable(name: "static_var", scope: !0, file: !1, line: 2, type: !5, isLocal: false,<br class="">- isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "static_var", scope: !0, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true))<br class=""> ; Debug info must also be updated to reflect new address space.<br class="">-; CHECK: [[GVNODE]] = distinct !DIGlobalVariable(name: "static_var"<br class="">+; CHECK: [[GVNODE]] = !DIGlobalVariableExpression(var: [[GVVAR:.*]])<br class="">+; CHECK: [[GVVAR]] = !DIGlobalVariable(name: "static_var"<br class=""> ; CHECK-SAME: scope: [[CUNODE]]<br class=""> ; CHECK-SAME: type: [[TYPENODE:![0-9]+]]<br class=""> !5 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/PowerPC/pr17168.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/pr17168.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/PowerPC/pr17168.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/PowerPC/pr17168.ll Mon Dec 19 20:09:43 2016<br class="">@@ -352,145 +352,145 @@ attributes #1 = { nounwind readnone }<br class=""> !296 = !DILocalVariable(name: "j", line: 907, scope: !293, file: !5, type: !8)<br class=""> !297 = !DILocalVariable(name: "k", line: 907, scope: !293, file: !5, type: !8)<br class=""> !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}<br class="">-!299 = !DIGlobalVariable(name: "grid_points", line: 28, isLocal: true, isDefinition: true, scope: null, file: !300, type: !302)<br class="">+!299 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "grid_points", line: 28, isLocal: true, isDefinition: true, scope: null, file: !300, type: !302))<br class=""> !300 = !DIFile(filename: "./header.h", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")<br class=""> !301 = !{!"./header.h", !"/home/hfinkel/src/NPB2.3-omp-C/BT"}<br class=""> !302 = !DICompositeType(tag: DW_TAG_array_type, size: 96, align: 32, baseType: !8, elements: !303)<br class=""> !303 = !{!178}<br class="">-!304 = !DIGlobalVariable(name: "dt", line: 35, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!305 = !DIGlobalVariable(name: "rhs", line: 68, isLocal: true, isDefinition: true, scope: null, file: !300, type: !306)<br class="">+!304 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dt", line: 35, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!305 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "rhs", line: 68, isLocal: true, isDefinition: true, scope: null, file: !300, type: !306))<br class=""> !306 = !DICompositeType(tag: DW_TAG_array_type, size: 1385839040, align: 64, baseType: !20, elements: !307)<br class=""> !307 = !{!308, !308, !308, !93}<br class=""> !308 = !DISubrange(count: 163)<br class="">-!309 = !DIGlobalVariable(name: "zzcon5", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!310 = !DIGlobalVariable(name: "zzcon4", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!311 = !DIGlobalVariable(name: "zzcon3", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!312 = !DIGlobalVariable(name: "dz5tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!313 = !DIGlobalVariable(name: "dz4tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!314 = !DIGlobalVariable(name: "dz3tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!315 = !DIGlobalVariable(name: "zzcon2", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!316 = !DIGlobalVariable(name: "dz2tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!317 = !DIGlobalVariable(name: "tz2", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!318 = !DIGlobalVariable(name: "dz1tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!319 = !DIGlobalVariable(name: "yycon5", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!320 = !DIGlobalVariable(name: "yycon4", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!321 = !DIGlobalVariable(name: "yycon3", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!322 = !DIGlobalVariable(name: "dy5ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!323 = !DIGlobalVariable(name: "dy4ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!324 = !DIGlobalVariable(name: "dy3ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!325 = !DIGlobalVariable(name: "yycon2", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!326 = !DIGlobalVariable(name: "dy2ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!327 = !DIGlobalVariable(name: "ty2", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!328 = !DIGlobalVariable(name: "dy1ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!329 = !DIGlobalVariable(name: "dssp", line: 35, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!330 = !DIGlobalVariable(name: "c1", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!331 = !DIGlobalVariable(name: "xxcon5", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!332 = !DIGlobalVariable(name: "xxcon4", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!333 = !DIGlobalVariable(name: "xxcon3", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!334 = !DIGlobalVariable(name: "dx5tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!335 = !DIGlobalVariable(name: "dx4tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!336 = !DIGlobalVariable(name: "dx3tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!337 = !DIGlobalVariable(name: "c2", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!338 = !DIGlobalVariable(name: "con43", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!339 = !DIGlobalVariable(name: "xxcon2", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!340 = !DIGlobalVariable(name: "dx2tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!341 = !DIGlobalVariable(name: "tx2", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!342 = !DIGlobalVariable(name: "dx1tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!343 = !DIGlobalVariable(name: "forcing", line: 66, isLocal: true, isDefinition: true, scope: null, file: !300, type: !344)<br class="">+!309 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon5", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!310 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon4", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!311 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon3", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!312 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz5tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!313 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz4tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!314 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz3tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!315 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon2", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!316 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz2tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!317 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tz2", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!318 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz1tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!319 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon5", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!320 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon4", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!321 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon3", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!322 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy5ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!323 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy4ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!324 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy3ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!325 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon2", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!326 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy2ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!327 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ty2", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!328 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy1ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!329 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dssp", line: 35, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!330 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c1", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!331 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon5", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!332 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon4", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!333 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon3", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!334 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx5tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!335 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx4tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!336 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx3tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!337 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!338 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "con43", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!339 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon2", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!340 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx2tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!341 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tx2", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!342 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx1tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!343 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "forcing", line: 66, isLocal: true, isDefinition: true, scope: null, file: !300, type: !344))<br class=""> !344 = !DICompositeType(tag: DW_TAG_array_type, size: 1663006848, align: 64, baseType: !20, elements: !345)<br class=""> !345 = !{!308, !308, !308, !346}<br class=""> !346 = !DISubrange(count: 6)<br class="">-!347 = !DIGlobalVariable(name: "qs", line: 63, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348)<br class="">+!347 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "qs", line: 63, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))<br class=""> !348 = !DICompositeType(tag: DW_TAG_array_type, size: 277167808, align: 64, baseType: !20, elements: !349)<br class=""> !349 = !{!308, !308, !308}<br class="">-!350 = !DIGlobalVariable(name: "square", line: 65, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348)<br class="">-!351 = !DIGlobalVariable(name: "ws", line: 62, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348)<br class="">-!352 = !DIGlobalVariable(name: "vs", line: 61, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348)<br class="">-!353 = !DIGlobalVariable(name: "us", line: 60, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348)<br class="">-!354 = !DIGlobalVariable(name: "rho_i", line: 64, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348)<br class="">-!355 = !DIGlobalVariable(name: "u", line: 67, isLocal: true, isDefinition: true, scope: null, file: !300, type: !306)<br class="">-!356 = !DIGlobalVariable(name: "ce", line: 36, isLocal: true, isDefinition: true, scope: null, file: !300, type: !357)<br class="">+!350 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "square", line: 65, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))<br class="">+!351 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ws", line: 62, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))<br class="">+!352 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "vs", line: 61, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))<br class="">+!353 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "us", line: 60, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))<br class="">+!354 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "rho_i", line: 64, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))<br class="">+!355 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "u", line: 67, isLocal: true, isDefinition: true, scope: null, file: !300, type: !306))<br class="">+!356 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ce", line: 36, isLocal: true, isDefinition: true, scope: null, file: !300, type: !357))<br class=""> !357 = !DICompositeType(tag: DW_TAG_array_type, size: 4160, align: 64, baseType: !20, elements: !358)<br class=""> !358 = !{!93, !359}<br class=""> !359 = !DISubrange(count: 13)<br class="">-!360 = !DIGlobalVariable(name: "dnzm1", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!361 = !DIGlobalVariable(name: "dnym1", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!362 = !DIGlobalVariable(name: "dnxm1", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!363 = !DIGlobalVariable(name: "zzcon1", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!364 = !DIGlobalVariable(name: "yycon1", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!365 = !DIGlobalVariable(name: "xxcon1", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!366 = !DIGlobalVariable(name: "con16", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!367 = !DIGlobalVariable(name: "c2iv", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!368 = !DIGlobalVariable(name: "c3c4tz3", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!369 = !DIGlobalVariable(name: "c3c4ty3", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!370 = !DIGlobalVariable(name: "c3c4tx3", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!371 = !DIGlobalVariable(name: "comz6", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!372 = !DIGlobalVariable(name: "comz5", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!373 = !DIGlobalVariable(name: "comz4", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!374 = !DIGlobalVariable(name: "comz1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!375 = !DIGlobalVariable(name: "dtdssp", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!376 = !DIGlobalVariable(name: "c2dttz1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!377 = !DIGlobalVariable(name: "c2dtty1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!378 = !DIGlobalVariable(name: "c2dttx1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!379 = !DIGlobalVariable(name: "dttz2", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!380 = !DIGlobalVariable(name: "dttz1", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!381 = !DIGlobalVariable(name: "dtty2", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!382 = !DIGlobalVariable(name: "dtty1", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!383 = !DIGlobalVariable(name: "dttx2", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!384 = !DIGlobalVariable(name: "dttx1", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!385 = !DIGlobalVariable(name: "c5dssp", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!386 = !DIGlobalVariable(name: "c4dssp", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!387 = !DIGlobalVariable(name: "dzmax", line: 37, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!388 = !DIGlobalVariable(name: "dymax", line: 37, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!389 = !DIGlobalVariable(name: "dxmax", line: 37, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!390 = !DIGlobalVariable(name: "dz5", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!391 = !DIGlobalVariable(name: "dz4", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!392 = !DIGlobalVariable(name: "dz3", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!393 = !DIGlobalVariable(name: "dz2", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!394 = !DIGlobalVariable(name: "dz1", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!395 = !DIGlobalVariable(name: "dy5", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!396 = !DIGlobalVariable(name: "dy4", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!397 = !DIGlobalVariable(name: "dy3", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!398 = !DIGlobalVariable(name: "dy2", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!399 = !DIGlobalVariable(name: "dy1", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!400 = !DIGlobalVariable(name: "dx5", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!401 = !DIGlobalVariable(name: "dx4", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!402 = !DIGlobalVariable(name: "dx3", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!403 = !DIGlobalVariable(name: "dx2", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!404 = !DIGlobalVariable(name: "dx1", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!405 = !DIGlobalVariable(name: "tz3", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!406 = !DIGlobalVariable(name: "tz1", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!407 = !DIGlobalVariable(name: "ty3", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!408 = !DIGlobalVariable(name: "ty1", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!409 = !DIGlobalVariable(name: "tx3", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!410 = !DIGlobalVariable(name: "tx1", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!411 = !DIGlobalVariable(name: "conz1", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!412 = !DIGlobalVariable(name: "c1345", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!413 = !DIGlobalVariable(name: "c3c4", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!414 = !DIGlobalVariable(name: "c1c5", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!415 = !DIGlobalVariable(name: "c1c2", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!416 = !DIGlobalVariable(name: "c5", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!417 = !DIGlobalVariable(name: "c4", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!418 = !DIGlobalVariable(name: "c3", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!419 = !DIGlobalVariable(name: "lhs", line: 69, isLocal: true, isDefinition: true, scope: null, file: !300, type: !420)<br class="">+!360 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dnzm1", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!361 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dnym1", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!362 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dnxm1", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!363 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon1", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!364 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon1", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!365 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon1", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!366 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "con16", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!367 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2iv", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!368 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3c4tz3", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!369 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3c4ty3", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!370 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3c4tx3", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!371 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comz6", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!372 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comz5", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!373 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comz4", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!374 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comz1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!375 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dtdssp", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!376 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2dttz1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!377 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2dtty1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!378 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2dttx1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!379 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dttz2", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!380 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dttz1", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!381 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dtty2", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!382 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dtty1", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!383 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dttx2", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!384 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dttx1", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!385 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c5dssp", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!386 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c4dssp", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!387 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dzmax", line: 37, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!388 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dymax", line: 37, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!389 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dxmax", line: 37, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!390 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz5", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!391 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz4", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!392 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz3", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!393 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz2", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!394 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz1", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!395 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy5", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!396 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy4", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!397 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy3", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!398 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy2", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!399 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy1", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!400 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx5", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!401 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx4", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!402 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx3", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!403 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx2", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!404 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx1", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!405 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tz3", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!406 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tz1", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!407 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ty3", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!408 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ty1", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!409 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tx3", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!410 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tx1", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!411 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "conz1", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!412 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c1345", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!413 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3c4", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!414 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c1c5", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!415 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c1c2", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!416 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c5", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!417 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c4", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!418 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!419 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "lhs", line: 69, isLocal: true, isDefinition: true, scope: null, file: !300, type: !420))<br class=""> !420 = !DICompositeType(tag: DW_TAG_array_type, size: 20787585600, align: 64, baseType: !20, elements: !421)<br class=""> !421 = !{!308, !308, !308, !178, !93, !93}<br class="">-!422 = !DIGlobalVariable(name: "q", line: 73, isLocal: true, isDefinition: true, scope: null, file: !300, type: !423)<br class="">+!422 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "q", line: 73, isLocal: true, isDefinition: true, scope: null, file: !300, type: !423))<br class=""> !423 = !DICompositeType(tag: DW_TAG_array_type, size: 10368, align: 64, baseType: !20, elements: !424)<br class=""> !424 = !{!425}<br class=""> !425 = !DISubrange(count: 162)<br class="">-!426 = !DIGlobalVariable(name: "cuf", line: 72, isLocal: true, isDefinition: true, scope: null, file: !300, type: !423)<br class="">-!427 = !DIGlobalVariable(name: "buf", line: 75, isLocal: true, isDefinition: true, scope: null, file: !300, type: !428)<br class="">+!426 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "cuf", line: 72, isLocal: true, isDefinition: true, scope: null, file: !300, type: !423))<br class="">+!427 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "buf", line: 75, isLocal: true, isDefinition: true, scope: null, file: !300, type: !428))<br class=""> !428 = !DICompositeType(tag: DW_TAG_array_type, size: 51840, align: 64, baseType: !20, elements: !429)<br class=""> !429 = !{!425, !93}<br class="">-!430 = !DIGlobalVariable(name: "ue", line: 74, isLocal: true, isDefinition: true, scope: null, file: !300, type: !428)<br class="">-!431 = !DIGlobalVariable(name: "njac", line: 86, isLocal: true, isDefinition: true, scope: null, file: !300, type: !432)<br class="">+!430 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ue", line: 74, isLocal: true, isDefinition: true, scope: null, file: !300, type: !428))<br class="">+!431 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "njac", line: 86, isLocal: true, isDefinition: true, scope: null, file: !300, type: !432))<br class=""> !432 = !DICompositeType(tag: DW_TAG_array_type, size: 6886684800, align: 64, baseType: !20, elements: !433)<br class=""> !433 = !{!308, !308, !425, !93, !93}<br class="">-!434 = !DIGlobalVariable(name: "fjac", line: 84, isLocal: true, isDefinition: true, scope: null, file: !300, type: !432)<br class="">-!435 = !DIGlobalVariable(name: "tmp3", line: 88, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!436 = !DIGlobalVariable(name: "tmp2", line: 88, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">-!437 = !DIGlobalVariable(name: "tmp1", line: 88, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20)<br class="">+!434 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "fjac", line: 84, isLocal: true, isDefinition: true, scope: null, file: !300, type: !432))<br class="">+!435 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tmp3", line: 88, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!436 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tmp2", line: 88, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class="">+!437 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tmp1", line: 88, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))<br class=""> !438 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !439 = !DILocation(line: 1898, scope: !440)<br class=""> !440 = distinct !DILexicalBlock(line: 1898, column: 0, file: !1, scope: !114)<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/PowerPC/pr24546.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/pr24546.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/PowerPC/pr24546.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/PowerPC/pr24546.ll Mon Dec 19 20:09:43 2016<br class="">@@ -79,7 +79,7 @@ attributes #3 = { nounwind }<br class=""> !21 = !{!22}<br class=""> !22 = !DILocalVariable(name: "power", arg: 1, scope: !18, file: !1, line: 1, type: !9)<br class=""> !23 = !{!24}<br class="">-!24 = !DIGlobalVariable(name: "powers", scope: !18, file: !1, line: 3, type: !25, isLocal: true, isDefinition: true)<br class="">+!24 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "powers", scope: !18, file: !1, line: 3, type: !25, isLocal: true, isDefinition: true))<br class=""> !25 = !DICompositeType(tag: DW_TAG_array_type, baseType: !26, size: 1472, align: 64, elements: !27)<br class=""> !26 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4)<br class=""> !27 = !{!28}<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll Mon Dec 19 20:09:43 2016<br class="">@@ -45,7 +45,7 @@ declare void @llvm.dbg.value(metadata, i<br class=""> !1 = !DIFile(filename: "crash.c", directory: "wasm/tests")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "key", scope: !0, file: !1, line: 7, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "key", scope: !0, file: !1, line: 7, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DICompositeType(tag: DW_TAG_array_type, baseType: !6, size: 120, align: 8, elements: !9)<br class=""> !6 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !7, line: 185, baseType: !8)<br class=""> !7 = !DIFile(filename: "wasm/emscripten/system/include/libc/bits/alltypes.h", directory: "wasm/tests")<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll Mon Dec 19 20:09:43 2016<br class="">@@ -24,7 +24,7 @@ declare void @llvm.dbg.value(metadata, i<br class=""> !llvm.dbg.cu = !{!2}<br class=""> !llvm.module.flags = !{!38}<br class=""><br class="">-!0 = !DIGlobalVariable(name: "ret", line: 7, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !3)<br class="">+!0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ret", line: 7, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !3))<br class=""> !1 = !DIFile(filename: "foo.c", directory: "/tmp/")<br class=""> !2 = distinct !DICompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", isOptimized: true, emissionKind: FullDebug, file: !36, enums: !37, retainedTypes: !37, globals: !31, imports: !37)<br class=""> !3 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/X86/fp128-g.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fp128-g.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/X86/fp128-g.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/X86/fp128-g.ll Mon Dec 19 20:09:43 2016<br class="">@@ -116,7 +116,7 @@ attributes #2 = { nounwind readnone }<br class=""> !llvm.module.flags = !{!7, !8, !9}<br class=""> !llvm.ident = !{!10}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "ld_ptr", scope: !1, file: !2, line: 17, type: !5, isLocal: false, isDefinition: true)<br class="">+!0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ld_ptr", scope: !1, file: !2, line: 17, type: !5, isLocal: false, isDefinition: true))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 4.0.0 (trunk 281495)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "fp128-g.c", directory: "/disk5/chh/Debug/ld.loop")<br class=""> !3 = !{}<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll Mon Dec 19 20:09:43 2016<br class="">@@ -64,7 +64,7 @@ declare void @llvm.dbg.value(metadata, i<br class=""> !19 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !20 = !DILocalVariable(name: "value", line: 16, scope: !4, file: !6, type: !14)<br class=""> !21 = !{!22, !23}<br class="">-!22 = !DIGlobalVariable(name: "g1", line: 5, isLocal: false, isDefinition: true, scope: null, file: !6, type: !14)<br class="">-!23 = !DIGlobalVariable(name: "g2", line: 6, isLocal: false, isDefinition: true, scope: null, file: !6, type: !19)<br class="">+!22 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "g1", line: 5, isLocal: false, isDefinition: true, scope: null, file: !6, type: !14))<br class="">+!23 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "g2", line: 6, isLocal: false, isDefinition: true, scope: null, file: !6, type: !19))<br class=""> !24 = !{i32 2, !"Dwarf Version", i32 2}<br class=""> !25 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll Mon Dec 19 20:09:43 2016<br class="">@@ -82,7 +82,7 @@ declare void @llvm.dbg.value(metadata, i<br class=""> !18 = !DILocalVariable(name: "c", line: 7, scope: !13, file: !14, type: !4)<br class=""> !19 = !DILocalVariable(name: "lc", line: 8, scope: !13, file: !14, type: !11)<br class=""> !20 = !{!21}<br class="">-!21 = !DIGlobalVariable(name: "argc", line: 1, isLocal: false, isDefinition: true, scope: null, file: !14, type: !11)<br class="">+!21 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "argc", line: 1, isLocal: false, isDefinition: true, scope: null, file: !14, type: !11))<br class=""> !22 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !23 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !25 = !DILocation(line: 8, column: 3, scope: !13)<br class=""><br class="">Modified: llvm/trunk/test/CodeGen/X86/null-streamer.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/null-streamer.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/CodeGen/X86/null-streamer.ll (original)<br class="">+++ llvm/trunk/test/CodeGen/X86/null-streamer.ll Mon Dec 19 20:09:43 2016<br class="">@@ -22,6 +22,6 @@ define void @f1() {<br class=""> !7 = !{!8}<br class=""> !8 = !DIBasicType(tag: DW_TAG_base_type, size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !9 = !{!10}<br class="">-!10 = !DIGlobalVariable(name: "i", linkageName: "_ZL1i", line: 1, isLocal: true, isDefinition: true, scope: null, file: !1, type: !8)<br class="">+!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", linkageName: "_ZL1i", line: 1, isLocal: true, isDefinition: true, scope: null, file: !1, type: !8))<br class=""> !11 = !{i32 2, !"Dwarf Version", i32 3}<br class=""> !13 = !{i32 1, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/AArch64/big-endian.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AArch64/big-endian.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/AArch64/big-endian.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/AArch64/big-endian.ll Mon Dec 19 20:09:43 2016<br class="">@@ -13,7 +13,7 @@ target triple = "aarch64_be--none-eabi"<br class=""> !1 = !DIFile(filename: "-", directory: "/work/validation")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !7)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !7))<br class=""> !5 = !DIFile(filename: "<stdin>", directory: "/work/validation")<br class=""> !6 = !{!"<stdin>", !"/work/validation"}<br class=""> !7 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/AArch64/bitfields.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AArch64/bitfields.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/AArch64/bitfields.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/AArch64/bitfields.ll Mon Dec 19 20:09:43 2016<br class="">@@ -58,7 +58,7 @@ target triple = "aarch64_be--linux-gnu"<br class=""> !1 = !DIFile(filename: "bitfields.c", directory: "/")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "b", scope: !0, file: !5, line: 8, type: !6, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", scope: !0, file: !5, line: 8, type: !6, isLocal: false, isDefinition: true))<br class=""> !5 = !DIFile(filename: "bitfields.c", directory: "/")<br class=""> !6 = !DICompositeType(tag: DW_TAG_structure_type, name: "bitfield", file: !5, line: 1, size: 96, elements: !7)<br class=""> !7 = !{!8, !10, !11, !12}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/AArch64/frameindices.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AArch64/frameindices.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/AArch64/frameindices.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/AArch64/frameindices.ll Mon Dec 19 20:09:43 2016<br class="">@@ -200,8 +200,8 @@ attributes #5 = { builtin }<br class=""> !38 = !DILocalVariable(name: "c", line: 19, scope: !34, file: !26, type: !4)<br class=""> !39 = !DILocalVariable(name: "d", line: 20, scope: !34, file: !26, type: !14)<br class=""> !40 = !{!41, !42}<br class="">-!41 = !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !26, type: !20)<br class="">-!42 = !DIGlobalVariable(name: "b", line: 7, isLocal: false, isDefinition: true, scope: null, file: !26, type: !12)<br class="">+!41 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !26, type: !20))<br class="">+!42 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", line: 7, isLocal: false, isDefinition: true, scope: null, file: !26, type: !12))<br class=""> !43 = !{i32 2, !"Dwarf Version", i32 2}<br class=""> !44 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !45 = !{!"clang version 3.7.0 "}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll Mon Dec 19 20:09:43 2016<br class="">@@ -22,7 +22,7 @@ target datalayout = "E-m:e-p:32:32-i64:6<br class=""> !1 = !DIFile(filename: "bitfield.c", directory: "/Volumes/Data/llvm")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "s", scope: !0, file: !1, line: 6, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s", scope: !0, file: !1, line: 6, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !1, line: 1, size: 32, elements: !6)<br class=""> !6 = !{!7, !9, !10, !11}<br class=""> ; CHECK: DW_TAG_member<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/ARM/bitfield.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/bitfield.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/ARM/bitfield.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/ARM/bitfield.ll Mon Dec 19 20:09:43 2016<br class="">@@ -30,7 +30,7 @@ target triple = "thumbv7-apple-ios"<br class=""> !1 = !DIFile(filename: "test.i", directory: "/")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 5, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 5, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DICompositeType(tag: DW_TAG_structure_type, file: !1, line: 1, size: 48, align: 8, elements: !6)<br class=""> !6 = !{!7, !9}<br class=""> !7 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !5, file: !1, line: 2, baseType: !8, size: 8, align: 8)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll Mon Dec 19 20:09:43 2016<br class="">@@ -39,9 +39,9 @@ attributes #0 = { nounwind "less-precise<br class=""> !5 = !DISubroutineType(types: !6)<br class=""> !6 = !{null}<br class=""> !7 = !{!8, !10}<br class="">-!8 = !DIGlobalVariable(name: "ch", scope: !0, file: !1, line: 1, type: !9, isLocal: false, isDefinition: true)<br class="">+!8 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ch", scope: !0, file: !1, line: 1, type: !9, isLocal: false, isDefinition: true))<br class=""> !9 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)<br class="">-!10 = !DIGlobalVariable(name: "b", scope: !0, file: !1, line: 2, type: !11, isLocal: false, isDefinition: true)<br class="">+!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", scope: !0, file: !1, line: 2, type: !11, isLocal: false, isDefinition: true))<br class=""> !11 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !12 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !13 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/ARM/tls.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/tls.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/ARM/tls.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/ARM/tls.ll Mon Dec 19 20:09:43 2016<br class="">@@ -26,7 +26,7 @@<br class=""> !1 = !DIFile(filename: "tls.c", directory: "/tmp")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "x", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6))<br class=""> !5 = !DIFile(filename: "tls.c", directory: "/tmp")<br class=""> !6 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !7 = !{i32 2, !"Dwarf Version", i32 4}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/anonymous-struct.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/anonymous-struct.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/anonymous-struct.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/anonymous-struct.ll Mon Dec 19 20:09:43 2016<br class="">@@ -46,7 +46,7 @@ target triple = "i686-pc-windows-msvc18.<br class=""> !1 = !DIFile(filename: "-", directory: "/usr/local/google/home/majnemer/llvm/src")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "s", scope: !0, file: !5, line: 5, type: !6, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s", scope: !0, file: !5, line: 5, type: !6, isLocal: false, isDefinition: true))<br class=""> !5 = !DIFile(filename: "<stdin>", directory: "/usr/local/google/home/majnemer/llvm/src")<br class=""> !6 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !5, line: 2, size: 64, align: 32, elements: !7)<br class=""> !7 = !{!8, !10}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/big-type.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/big-type.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/big-type.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/big-type.ll Mon Dec 19 20:09:43 2016<br class="">@@ -5766,7 +5766,7 @@ target triple = "x86_64-pc-windows-msvc1<br class=""> !5700 = !DIEnumerator(name: "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE5695", value: 5694)<br class=""> !5701 = !DIEnumerator(name: "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE5696", value: 5695)<br class=""> !5702 = !{!5703}<br class="">-!5703 = distinct !DIGlobalVariable(name: "x", linkageName: "\01?x@@3W4BigThing@@A", scope: !0, file: !1, line: 5698, type: !3, isLocal: false, isDefinition: true)<br class="">+!5703 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", linkageName: "\01?x@@3W4BigThing@@A", scope: !0, file: !1, line: 5698, type: !3, isLocal: false, isDefinition: true))<br class=""> !5704 = !{i32 2, !"CodeView", i32 1}<br class=""> !5705 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !5706 = !{i32 1, !"PIC Level", i32 2}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/bitfields.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/bitfields.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/bitfields.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/bitfields.ll Mon Dec 19 20:09:43 2016<br class="">@@ -193,13 +193,13 @@ target triple = "x86_64-pc-windows-msvc1<br class=""> !1 = !DIFile(filename: "-", directory: "/usr/local/google/home/majnemer/llvm/src")<br class=""> !2 = !{}<br class=""> !3 = !{!4, !10, !29}<br class="">-!4 = distinct !DIGlobalVariable(name: "s0", scope: !0, file: !5, line: 7, type: !6, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s0", scope: !0, file: !5, line: 7, type: !6, isLocal: false, isDefinition: true))<br class=""> !5 = !DIFile(filename: "<stdin>", directory: "/usr/local/google/home/majnemer/llvm/src")<br class=""> !6 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S0", file: !5, line: 3, size: 24, elements: !7)<br class=""> !7 = !{!8}<br class=""> !8 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !6, file: !5, line: 6, baseType: !9, size: 8, offset: 16, flags: DIFlagBitField, extraData: i64 8)<br class=""> !9 = !DIBasicType(name: "short", size: 16, encoding: DW_ATE_signed)<br class="">-!10 = distinct !DIGlobalVariable(name: "s1", scope: !0, file: !5, line: 18, type: !11, isLocal: false, isDefinition: true)<br class="">+!10 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s1", scope: !0, file: !5, line: 18, type: !11, isLocal: false, isDefinition: true))<br class=""> !11 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S1", file: !5, line: 10, size: 128, elements: !12)<br class=""> !12 = !{!13, !18, !19, !21, !22, !23, !28}<br class=""> !13 = !DIDerivedType(tag: DW_TAG_member, name: "x1", scope: !11, file: !5, line: 11, baseType: !14, size: 16)<br class="">@@ -218,7 +218,7 @@ target triple = "x86_64-pc-windows-msvc1<br class=""> !26 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !24, file: !5, line: 16, baseType: !15, size: 8)<br class=""> !27 = !DIDerivedType(tag: DW_TAG_member, name: "s", scope: !24, file: !5, line: 16, baseType: !9, size: 16, offset: 8)<br class=""> !28 = !DIDerivedType(tag: DW_TAG_member, name: "u", scope: !11, file: !5, line: 17, baseType: !9, size: 3, offset: 112, flags: DIFlagBitField, extraData: i64 112)<br class="">-!29 = distinct !DIGlobalVariable(name: "s2", scope: !0, file: !5, line: 24, type: !30, isLocal: false, isDefinition: true)<br class="">+!29 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s2", scope: !0, file: !5, line: 24, type: !30, isLocal: false, isDefinition: true))<br class=""> !30 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S2", file: !5, line: 21, size: 32, elements: !31)<br class=""> !31 = !{!32}<br class=""> !32 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !30, file: !5, line: 23, baseType: !20, size: 1, flags: DIFlagBitField, extraData: i64 0)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/enum.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/enum.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/enum.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/enum.ll Mon Dec 19 20:09:43 2016<br class="">@@ -42,7 +42,7 @@ target triple = "i686-pc-windows-msvc18.<br class=""> !6 = !{!7}<br class=""> !7 = !DIEnumerator(name: "BLAH", value: 0)<br class=""> !8 = !{!9}<br class="">-!9 = distinct !DIGlobalVariable(name: "e", linkageName: "\01?e@@3W4E@@A", scope: !0, file: !4, line: 2, type: !3, isLocal: false, isDefinition: true)<br class="">+!9 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "e", linkageName: "\01?e@@3W4E@@A", scope: !0, file: !4, line: 2, type: !3, isLocal: false, isDefinition: true))<br class=""> !10 = !{i32 2, !"CodeView", i32 1}<br class=""> !11 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !12 = !{!"clang version 3.9.0 (trunk 272790) (llvm/trunk 272813)"}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/global-dllimport.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/global-dllimport.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/global-dllimport.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/global-dllimport.ll Mon Dec 19 20:09:43 2016<br class="">@@ -15,7 +15,7 @@ target triple = "i686-pc-windows-msvc"<br class=""> !1 = !DIFile(filename: "/usr/local/google/home/majnemer/Downloads/<stdin>", directory: "/usr/local/google/home/majnemer/llvm/src")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "id", linkageName: "\01?id@?$numpunct@D@@0HA", scope: !0, file: !5, line: 4, type: !6, isLocal: false, isDefinition: true, declaration: !7)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "id", linkageName: "\01?id@?$numpunct@D@@0HA", scope: !0, file: !5, line: 4, type: !6, isLocal: false, isDefinition: true, declaration: !7))<br class=""> !5 = !DIFile(filename: "/usr/local/google/home/majnemer/Downloads/t.ii", directory: "/usr/local/google/home/majnemer/llvm/src")<br class=""> !6 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !7 = !DIDerivedType(tag: DW_TAG_member, name: "id", scope: !8, file: !5, line: 2, baseType: !6, flags: DIFlagStaticMember)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/globals-discarded.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/globals-discarded.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/globals-discarded.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/globals-discarded.ll Mon Dec 19 20:09:43 2016<br class="">@@ -25,9 +25,9 @@ target triple = "x86_64-pc-windows-msvc1<br class=""> !1 = !DIFile(filename: "t.c", directory: "foo")<br class=""> !2 = !{}<br class=""> !3 = !{!4, !6}<br class="">-!4 = distinct !DIGlobalVariable(name: "_OptionsStorage", scope: !0, file: !1, line: 3, type: !5, isLocal: true, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "_OptionsStorage", scope: !0, file: !1, line: 3, type: !5, isLocal: true, isDefinition: true))<br class=""> !5 = !DIBasicType(name: "unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned)<br class="">-!6 = distinct !DIGlobalVariable(name: "x", scope: !0, file: !1, line: 4, type: !5, isLocal: true, isDefinition: true)<br class="">+!6 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", scope: !0, file: !1, line: 4, type: !5, isLocal: true, isDefinition: true))<br class=""><br class=""> !35 = !{i32 2, !"CodeView", i32 1}<br class=""> !36 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/globals.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/globals.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/globals.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/globals.ll Mon Dec 19 20:09:43 2016<br class="">@@ -129,18 +129,18 @@ $"\01?comdat@?$A@X@@2HB" = comdat any<br class=""> !1 = !DIFile(filename: "t.cpp", directory: "D:\5Csrc\5Cllvm\5Cbuild")<br class=""> !2 = !{}<br class=""> !3 = !{!4, !6, !13, !15}<br class="">-!4 = distinct !DIGlobalVariable(name: "first", linkageName: "\01?first@@3HA", scope: !0, file: !1, line: 1, type: !5, isLocal: true, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "first", linkageName: "\01?first@@3HA", scope: !0, file: !1, line: 1, type: !5, isLocal: true, isDefinition: true))<br class=""> !5 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class="">-!6 = distinct !DIGlobalVariable(name: "comdat", linkageName: "\01?comdat@?$A@X@@2HB", scope: !0, file: !1, line: 2, type: !7, isLocal: false, isDefinition: true, declaration: !8)<br class="">+!6 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comdat", linkageName: "\01?comdat@?$A@X@@2HB", scope: !0, file: !1, line: 2, type: !7, isLocal: false, isDefinition: true, declaration: !8))<br class=""> !7 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !5)<br class=""> !8 = !DIDerivedType(tag: DW_TAG_member, name: "comdat", scope: !9, file: !1, line: 2, baseType: !7, flags: DIFlagStaticMember, extraData: i32 3)<br class=""> !9 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "A<void>", file: !1, line: 2, size: 8, align: 8, elements: !10, templateParams: !11)<br class=""> !10 = !{!8}<br class=""> !11 = !{!12}<br class=""> !12 = !DITemplateTypeParameter(name: "T", type: null)<br class="">-!13 = distinct !DIGlobalVariable(name: "middle", linkageName: "\01?middle@@3PEBHEB", scope: !0, file: !1, line: 3, type: !14, isLocal: false, isDefinition: true)<br class="">+!13 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "middle", linkageName: "\01?middle@@3PEBHEB", scope: !0, file: !1, line: 3, type: !14, isLocal: false, isDefinition: true))<br class=""> !14 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64, align: 64)<br class="">-!15 = distinct !DIGlobalVariable(name: "last", linkageName: "\01?last@@3HA", scope: !0, file: !1, line: 4, type: !5, isLocal: false, isDefinition: true)<br class="">+!15 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "last", linkageName: "\01?last@@3HA", scope: !0, file: !1, line: 4, type: !5, isLocal: false, isDefinition: true))<br class=""> !16 = !{i32 2, !"CodeView", i32 1}<br class=""> !17 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !18 = !{i32 1, !"PIC Level", i32 2}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/inheritance.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/inheritance.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/inheritance.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/inheritance.ll Mon Dec 19 20:09:43 2016<br class="">@@ -93,7 +93,7 @@ attributes #0 = { "correctly-rounded-div<br class=""> !llvm.module.flags = !{!31, !32, !33}<br class=""> !llvm.ident = !{!34}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "d", linkageName: "\01?d@@3UD@@A", scope: !1, file: !5, line: 8, type: !6, isLocal: false, isDefinition: true)<br class="">+!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "d", linkageName: "\01?d@@3UD@@A", scope: !1, file: !5, line: 8, type: !6, isLocal: false, isDefinition: true))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !2, producer: "clang version 4.0.0 (http://llvm.org/git/clang.git 95626d54d6db7e13087089396a80ebaccc4ffe7c) (http://llvm.org/git/llvm.git 374b6e2fa0b230d13c0fb9ee7af69b2146bfad8a)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "t.cpp", directory: "D:\5Csrc\5Cllvm\5Cbuild")<br class=""> !3 = !{}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/inlining-files.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/inlining-files.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/inlining-files.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/inlining-files.ll Mon Dec 19 20:09:43 2016<br class="">@@ -84,7 +84,7 @@ attributes #0 = { norecurse nounwind uwt<br class=""> !6 = !{null}<br class=""> !7 = distinct !DISubprogram(name: "file_change", scope: !1, file: !1, line: 2, type: !5, isLocal: true, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !2)<br class=""> !8 = !{!9}<br class="">-!9 = !DIGlobalVariable(name: "x", scope: !0, file: !1, line: 1, type: !10, isLocal: false, isDefinition: true)<br class="">+!9 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", scope: !0, file: !1, line: 1, type: !10, isLocal: false, isDefinition: true))<br class=""> !10 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !11)<br class=""> !11 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !12 = !{i32 2, !"CodeView", i32 1}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/inlining-header.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/inlining-header.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/inlining-header.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/inlining-header.ll Mon Dec 19 20:09:43 2016<br class="">@@ -140,7 +140,7 @@ attributes #0 = { norecurse nounwind uwt<br class=""> !1 = !DIFile(filename: "t.cpp", directory: "D:\5Csrc\5Cllvm\5Cbuild")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "x", linkageName: "\01?x@@3HC", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", linkageName: "\01?x@@3HC", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !6)<br class=""> !6 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !7 = !{i32 2, !"CodeView", i32 1}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/inlining-levels.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/inlining-levels.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/inlining-levels.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/inlining-levels.ll Mon Dec 19 20:09:43 2016<br class="">@@ -71,7 +71,7 @@ attributes #0 = { norecurse nounwind uwt<br class=""> !11 = distinct !DISubprogram(name: "g", linkageName: "\01?g@@YAXXZ", scope: !1, file: !1, line: 6, type: !9, isLocal: true, isDefinition: true, scopeLine: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !2)<br class=""> !12 = distinct !DISubprogram(name: "f", linkageName: "\01?f@@YAXXZ", scope: !1, file: !1, line: 2, type: !9, isLocal: true, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !2)<br class=""> !13 = !{!14}<br class="">-!14 = !DIGlobalVariable(name: "x", linkageName: "\01?x@@3HC", scope: !0, file: !1, line: 1, type: !15, isLocal: false, isDefinition: true)<br class="">+!14 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", linkageName: "\01?x@@3HC", scope: !0, file: !1, line: 1, type: !15, isLocal: false, isDefinition: true))<br class=""> !15 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !7)<br class=""> !16 = !{i32 2, !"CodeView", i32 1}<br class=""> !17 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/int8-char-type.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/int8-char-type.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/int8-char-type.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/int8-char-type.ll Mon Dec 19 20:09:43 2016<br class="">@@ -32,12 +32,12 @@ target triple = "x86_64-pc-windows-msvc1<br class=""> !llvm.module.flags = !{!11, !12, !13}<br class=""> !llvm.ident = !{!14}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "x", scope: !1, file: !6, line: 4, type: !9, isLocal: false, isDefinition: true)<br class="">+!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", scope: !1, file: !6, line: 4, type: !9, isLocal: false, isDefinition: true))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 4.0.0 ", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "-", directory: "C:\5Csrc\5Cllvm\5Cbuild")<br class=""> !3 = !{}<br class=""> !4 = !{!0, !5}<br class="">-!5 = distinct !DIGlobalVariable(name: "y", scope: !1, file: !6, line: 5, type: !7, isLocal: false, isDefinition: true)<br class="">+!5 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "y", scope: !1, file: !6, line: 5, type: !7, isLocal: false, isDefinition: true))<br class=""> !6 = !DIFile(filename: "<stdin>", directory: "C:\5Csrc\5Cllvm\5Cbuild")<br class=""> !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !6, line: 3, baseType: !8)<br class=""><br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/long-type-name.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/long-type-name.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/long-type-name.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/long-type-name.ll Mon Dec 19 20:09:43 2016<br class="">@@ -28,7 +28,7 @@ target triple = "x86_64-pc-windows-msvc"<br class=""> !llvm.module.flags = !{!7, !8}<br class=""> !llvm.ident = !{!9}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "f", linkageName: "\01?f@@3UFoo@@A", scope: !1, file: !5, line: 1, type: !6, isLocal: false, isDefinition: true)<br class="">+!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "f", linkageName: "\01?f@@3UFoo@@A", scope: !1, file: !5, line: 1, type: !6, isLocal: false, isDefinition: true))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !2, producer: "clang version 4.0.0 ", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "<stdin>", directory: "C:\5Csrc\5Cllvm\5Cbuild")<br class=""> !3 = !{}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/register-variables.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/register-variables.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/register-variables.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/register-variables.ll Mon Dec 19 20:09:43 2016<br class="">@@ -261,7 +261,7 @@ attributes #3 = { nounwind }<br class=""> !20 = !DILocalVariable(name: "a", arg: 1, scope: !16, file: !1, line: 4, type: !7)<br class=""> !21 = !DILocalVariable(name: "b", scope: !16, file: !1, line: 5, type: !7)<br class=""> !22 = !{!23}<br class="">-!23 = !DIGlobalVariable(name: "x", scope: !0, file: !1, line: 1, type: !24, isLocal: false, isDefinition: true)<br class="">+!23 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", scope: !0, file: !1, line: 1, type: !24, isLocal: false, isDefinition: true))<br class=""> !24 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !7)<br class=""> !25 = !{i32 2, !"CodeView", i32 1}<br class=""> !26 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/scopes.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/scopes.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/scopes.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/scopes.ll Mon Dec 19 20:09:43 2016<br class="">@@ -113,7 +113,7 @@ attributes #1 = { nounwind readnone }<br class=""> !1 = !DIFile(filename: "t.cpp", directory: "D:\5Csrc\5Cllvm\5Cbuild")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "g", linkageName: "\01?g@bar@foo@@3UGlobalRecord@12@A", scope: !5, file: !1, line: 12, type: !7, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "g", linkageName: "\01?g@bar@foo@@3UGlobalRecord@12@A", scope: !5, file: !1, line: 12, type: !7, isLocal: false, isDefinition: true))<br class=""> !5 = !DINamespace(name: "bar", scope: !6, file: !1, line: 2)<br class=""> !6 = !DINamespace(name: "foo", scope: null, file: !1, line: 1)<br class=""> !7 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "GlobalRecord", scope: !5, file: !1, line: 9, size: 32, align: 32, elements: !8, identifier: ".?AUGlobalRecord@bar@foo@@")<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/types-array-advanced.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/types-array-advanced.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/types-array-advanced.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/types-array-advanced.ll Mon Dec 19 20:09:43 2016<br class="">@@ -172,14 +172,14 @@ attributes #2 = { nounwind }<br class=""> !1 = !DIFile(filename: "t.cpp", directory: "/")<br class=""> !2 = !{}<br class=""> !3 = !{!4, !11, !20, !21}<br class="">-!4 = distinct !DIGlobalVariable(name: "multi_dim_arr", linkageName: "\01?multi_dim_arr@@3PAY146DA", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "multi_dim_arr", linkageName: "\01?multi_dim_arr@@3PAY146DA", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DICompositeType(tag: DW_TAG_array_type, baseType: !6, size: 560, align: 8, elements: !7)<br class=""> !6 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)<br class=""> !7 = !{!8, !9, !10}<br class=""> !8 = !DISubrange(count: 2)<br class=""> !9 = !DISubrange(count: 5)<br class=""> !10 = !DISubrange(count: 7)<br class="">-!11 = distinct !DIGlobalVariable(name: "p_incomplete_struct_arr", linkageName: "\01?p_incomplete_struct_arr@@3PAY02Uincomplete_struct@@A", scope: !0, file: !1, line: 3, type: !12, isLocal: false, isDefinition: true)<br class="">+!11 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "p_incomplete_struct_arr", linkageName: "\01?p_incomplete_struct_arr@@3PAY02Uincomplete_struct@@A", scope: !0, file: !1, line: 3, type: !12, isLocal: false, isDefinition: true))<br class=""> !12 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !13, size: 32, align: 32)<br class=""> !13 = !DICompositeType(tag: DW_TAG_array_type, baseType: !14, elements: !18)<br class=""> !14 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "incomplete_struct", file: !1, line: 4, size: 32, align: 32, elements: !15, identifier: ".?AUincomplete_struct@@")<br class="">@@ -188,8 +188,8 @@ attributes #2 = { nounwind }<br class=""> !17 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !18 = !{!19}<br class=""> !19 = !DISubrange(count: 3)<br class="">-!20 = distinct !DIGlobalVariable(name: "incomplete_struct_arr", linkageName: "\01?incomplete_struct_arr@@3PAUincomplete_struct@@A", scope: !0, file: !1, line: 6, type: !13, isLocal: false, isDefinition: true)<br class="">-!21 = distinct !DIGlobalVariable(name: "typedef_arr", linkageName: "\01?typedef_arr@@3SDHD", scope: !0, file: !1, line: 14, type: !22, isLocal: false, isDefinition: true)<br class="">+!20 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "incomplete_struct_arr", linkageName: "\01?incomplete_struct_arr@@3PAUincomplete_struct@@A", scope: !0, file: !1, line: 6, type: !13, isLocal: false, isDefinition: true))<br class="">+!21 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "typedef_arr", linkageName: "\01?typedef_arr@@3SDHD", scope: !0, file: !1, line: 14, type: !22, isLocal: false, isDefinition: true))<br class=""> !22 = !DICompositeType(tag: DW_TAG_array_type, baseType: !23, size: 128, align: 32, elements: !26)<br class=""> !23 = !DIDerivedType(tag: DW_TAG_typedef, name: "T_INT", file: !1, line: 13, baseType: !24)<br class=""> !24 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !25)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/types-nested-class.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/types-nested-class.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/types-nested-class.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/types-nested-class.ll Mon Dec 19 20:09:43 2016<br class="">@@ -89,7 +89,7 @@ target triple = "i686-pc-windows-msvc19.<br class=""> !1 = !DIFile(filename: "hello.cpp", directory: "D:\5Csrc\5Chello")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "a", linkageName: "\01?a@@3UA@@A", scope: !0, file: !1, line: 3, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", linkageName: "\01?a@@3UA@@A", scope: !0, file: !1, line: 3, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "A", file: !1, line: 1, size: 8, align: 8, elements: !6, identifier: ".?AUA@@")<br class=""> !6 = !{!7}<br class=""> !7 = !DICompositeType(tag: DW_TAG_structure_type, name: "Nested", scope: !5, file: !1, line: 2, size: 8, align: 8, flags: DIFlagFwdDecl, identifier: ".?AUNested@A@@")<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/types-ptr-to-member.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/types-ptr-to-member.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/types-ptr-to-member.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/types-ptr-to-member.ll Mon Dec 19 20:09:43 2016<br class="">@@ -203,13 +203,13 @@ target triple = "x86_64-pc-windows-msvc1<br class=""> !1 = !DIFile(filename: "t.cpp", directory: "D:\5Csrc\5Cllvm\5Cbuild")<br class=""> !2 = !{}<br class=""> !3 = !{!4, !10, !20, !23, !26, !31, !36, !41, !46, !50}<br class="">-!4 = distinct !DIGlobalVariable(name: "pmd_a", linkageName: "\01?pmd_a@@3PEQA@@HEQ1@", scope: !0, file: !1, line: 6, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "pmd_a", linkageName: "\01?pmd_a@@3PEQA@@HEQ1@", scope: !0, file: !1, line: 6, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !6, size: 32, flags: DIFlagSingleInheritance, extraData: !7)<br class=""> !6 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !7 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "A", file: !1, line: 1, size: 32, align: 32, elements: !8, identifier: ".?AUA@@")<br class=""> !8 = !{!9}<br class=""> !9 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !7, file: !1, line: 1, baseType: !6, size: 32, align: 32)<br class="">-!10 = distinct !DIGlobalVariable(name: "pmd_b", linkageName: "\01?pmd_b@@3PEQC@@HEQ1@", scope: !0, file: !1, line: 7, type: !11, isLocal: false, isDefinition: true)<br class="">+!10 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "pmd_b", linkageName: "\01?pmd_b@@3PEQC@@HEQ1@", scope: !0, file: !1, line: 7, type: !11, isLocal: false, isDefinition: true))<br class=""> !11 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !6, size: 32, flags: DIFlagMultipleInheritance, extraData: !12)<br class=""> !12 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "C", file: !1, line: 3, size: 96, align: 32, elements: !13, identifier: ".?AUC@@")<br class=""> !13 = !{!14, !15, !19}<br class="">@@ -219,37 +219,37 @@ target triple = "x86_64-pc-windows-msvc1<br class=""> !17 = !{!18}<br class=""> !18 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !16, file: !1, line: 2, baseType: !6, size: 32, align: 32)<br class=""> !19 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !12, file: !1, line: 3, baseType: !6, size: 32, align: 32, offset: 64)<br class="">-!20 = distinct !DIGlobalVariable(name: "pmd_c", linkageName: "\01?pmd_c@@3PEQD@@HEQ1@", scope: !0, file: !1, line: 8, type: !21, isLocal: false, isDefinition: true)<br class="">+!20 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "pmd_c", linkageName: "\01?pmd_c@@3PEQD@@HEQ1@", scope: !0, file: !1, line: 8, type: !21, isLocal: false, isDefinition: true))<br class=""> !21 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !6, size: 64, flags: DIFlagVirtualInheritance, extraData: !22)<br class=""> !22 = !DICompositeType(tag: DW_TAG_structure_type, name: "D", file: !1, line: 4, size: 256, align: 64, flags: DIFlagFwdDecl, identifier: ".?AUD@@")<br class="">-!23 = distinct !DIGlobalVariable(name: "pmd_d", linkageName: "\01?pmd_d@@3PEQE@@HEQ1@", scope: !0, file: !1, line: 9, type: !24, isLocal: false, isDefinition: true)<br class="">+!23 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "pmd_d", linkageName: "\01?pmd_d@@3PEQE@@HEQ1@", scope: !0, file: !1, line: 9, type: !24, isLocal: false, isDefinition: true))<br class=""> !24 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !6, size: 96, extraData: !25)<br class=""> !25 = !DICompositeType(tag: DW_TAG_structure_type, name: "E", file: !1, line: 5, flags: DIFlagFwdDecl, identifier: ".?AUE@@")<br class="">-!26 = distinct !DIGlobalVariable(name: "pmf_a", linkageName: "\01?pmf_a@@3P8A@@EAAXXZEQ1@", scope: !0, file: !1, line: 10, type: !27, isLocal: false, isDefinition: true)<br class="">+!26 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "pmf_a", linkageName: "\01?pmf_a@@3P8A@@EAAXXZEQ1@", scope: !0, file: !1, line: 10, type: !27, isLocal: false, isDefinition: true))<br class=""> !27 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !28, size: 64, flags: DIFlagSingleInheritance, extraData: !7)<br class=""> !28 = !DISubroutineType(types: !29)<br class=""> !29 = !{null, !30}<br class=""> !30 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer)<br class="">-!31 = distinct !DIGlobalVariable(name: "pmf_b", linkageName: "\01?pmf_b@@3P8C@@EAAXXZEQ1@", scope: !0, file: !1, line: 11, type: !32, isLocal: false, isDefinition: true)<br class="">+!31 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "pmf_b", linkageName: "\01?pmf_b@@3P8C@@EAAXXZEQ1@", scope: !0, file: !1, line: 11, type: !32, isLocal: false, isDefinition: true))<br class=""> !32 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !33, size: 128, flags: DIFlagMultipleInheritance, extraData: !12)<br class=""> !33 = !DISubroutineType(types: !34)<br class=""> !34 = !{null, !35}<br class=""> !35 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !12, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer)<br class="">-!36 = distinct !DIGlobalVariable(name: "pmf_c", linkageName: "\01?pmf_c@@3P8D@@EAAXXZEQ1@", scope: !0, file: !1, line: 12, type: !37, isLocal: false, isDefinition: true)<br class="">+!36 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "pmf_c", linkageName: "\01?pmf_c@@3P8D@@EAAXXZEQ1@", scope: !0, file: !1, line: 12, type: !37, isLocal: false, isDefinition: true))<br class=""> !37 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !38, size: 128, flags: DIFlagVirtualInheritance, extraData: !22)<br class=""> !38 = !DISubroutineType(types: !39)<br class=""> !39 = !{null, !40}<br class=""> !40 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !22, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer)<br class="">-!41 = distinct !DIGlobalVariable(name: "pmf_d", linkageName: "\01?pmf_d@@3P8E@@EAAXXZEQ1@", scope: !0, file: !1, line: 13, type: !42, isLocal: false, isDefinition: true)<br class="">+!41 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "pmf_d", linkageName: "\01?pmf_d@@3P8E@@EAAXXZEQ1@", scope: !0, file: !1, line: 13, type: !42, isLocal: false, isDefinition: true))<br class=""> !42 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !43, size: 192, extraData: !25)<br class=""> !43 = !DISubroutineType(types: !44)<br class=""> !44 = !{null, !45}<br class=""> !45 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !25, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer)<br class="">-!46 = distinct !DIGlobalVariable(name: "ppmd", linkageName: "\01?ppmd@@3PEAPEQIncomplete@@HEA", scope: !0, file: !1, line: 15, type: !47, isLocal: false, isDefinition: true)<br class="">+!46 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ppmd", linkageName: "\01?ppmd@@3PEAPEQIncomplete@@HEA", scope: !0, file: !1, line: 15, type: !47, isLocal: false, isDefinition: true))<br class=""> !47 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !48, size: 64, align: 64)<br class=""> !48 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !6, extraData: !49)<br class=""> !49 = !DICompositeType(tag: DW_TAG_structure_type, name: "Incomplete", file: !1, line: 14, flags: DIFlagFwdDecl, identifier: ".?AUIncomplete@@")<br class="">-!50 = distinct !DIGlobalVariable(name: "ppmf", linkageName: "\01?ppmf@@3PEAP8Incomplete@@EAAXXZEA", scope: !0, file: !1, line: 16, type: !51, isLocal: false, isDefinition: true)<br class="">+!50 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ppmf", linkageName: "\01?ppmf@@3PEAP8Incomplete@@EAAXXZEA", scope: !0, file: !1, line: 16, type: !51, isLocal: false, isDefinition: true))<br class=""> !51 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !52, size: 64, align: 64)<br class=""> !52 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !53, extraData: !49)<br class=""> !53 = !DISubroutineType(types: !54)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/udts.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/udts.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/udts.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/udts.ll Mon Dec 19 20:09:43 2016<br class="">@@ -97,7 +97,7 @@ attributes #1 = { nounwind readnone }<br class=""> !1 = !DIFile(filename: "t.cpp", directory: "D:\5Csrc\5Cllvm\5Cbuild")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "u", linkageName: "\01?u@@3UU@@A", scope: !0, file: !1, line: 13, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "u", linkageName: "\01?u@@3UU@@A", scope: !0, file: !1, line: 13, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DIDerivedType(tag: DW_TAG_typedef, name: "U", file: !1, line: 12, baseType: !6)<br class=""> !6 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !1, line: 12, size: 32, align: 32, elements: !7, identifier: ".?AUU@@")<br class=""> !7 = !{!8}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/virtual-method-kinds.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/virtual-method-kinds.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/virtual-method-kinds.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/virtual-method-kinds.ll Mon Dec 19 20:09:43 2016<br class="">@@ -237,7 +237,7 @@ attributes #6 = { nounwind }<br class=""> !1 = !DIFile(filename: "t.cpp", directory: "D:\5Csrc\5Cllvm\5Cbuild")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "p", linkageName: "\01?p@@3PEAUC@@EA", scope: !0, file: !1, line: 13, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "p", linkageName: "\01?p@@3PEAUC@@EA", scope: !0, file: !1, line: 13, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !6, size: 64, align: 64)<br class=""> !6 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "C", file: !1, line: 9, size: 64, align: 64, elements: !7, vtableHolder: !12, identifier: ".?AUC@@")<br class=""> !7 = !{!8, !30, !34}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/COFF/vtable-optzn-array.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/vtable-optzn-array.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/COFF/vtable-optzn-array.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/COFF/vtable-optzn-array.ll Mon Dec 19 20:09:43 2016<br class="">@@ -100,13 +100,13 @@ attributes #3 = { nounwind readnone }<br class=""> !1 = !DIFile(filename: "<stdin>", directory: "C:\5Csrc\5Cllvm\5Cbuild")<br class=""> !2 = !{}<br class=""> !3 = !{!4, !10}<br class="">-!4 = distinct !DIGlobalVariable(name: "force_fwd_decl", linkageName: "\01?force_fwd_decl@@3UGetFwdDecl@@A", scope: !0, file: !5, line: 5, type: !6, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "force_fwd_decl", linkageName: "\01?force_fwd_decl@@3UGetFwdDecl@@A", scope: !0, file: !5, line: 5, type: !6, isLocal: false, isDefinition: true))<br class=""> !5 = !DIFile(filename: "t.cpp", directory: "C:\5Csrc\5Cllvm\5Cbuild")<br class=""> !6 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "GetFwdDecl", file: !5, line: 2, size: 8, align: 8, elements: !7, identifier: ".?AUGetFwdDecl@@")<br class=""> !7 = !{!8}<br class=""> !8 = !DIDerivedType(tag: DW_TAG_member, name: "format", scope: !6, file: !5, line: 3, baseType: !9, flags: DIFlagStaticMember)<br class=""> !9 = !DICompositeType(tag: DW_TAG_structure_type, name: "UnicodeString", file: !5, line: 1, flags: DIFlagFwdDecl, identifier: ".?AUUnicodeString@@")<br class="">-!10 = distinct !DIGlobalVariable(name: "require_complete", linkageName: "\01?require_complete@@3UUseCompleteType@@A", scope: !0, file: !5, line: 15, type: !11, isLocal: false, isDefinition: true)<br class="">+!10 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "require_complete", linkageName: "\01?require_complete@@3UUseCompleteType@@A", scope: !0, file: !5, line: 15, type: !11, isLocal: false, isDefinition: true))<br class=""> !11 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "UseCompleteType", file: !5, line: 10, size: 64, align: 64, elements: !12, identifier: ".?AUUseCompleteType@@")<br class=""> !12 = !{!13, !17, !21}<br class=""> !13 = !DIDerivedType(tag: DW_TAG_member, name: "currencySpcAfterSym", scope: !11, file: !5, line: 13, baseType: !14, size: 64, align: 64)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/2009-11-05-DeadGlobalVariable.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/2009-11-05-DeadGlobalVariable.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/2009-11-05-DeadGlobalVariable.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/2009-11-05-DeadGlobalVariable.ll Mon Dec 19 20:09:43 2016<br class="">@@ -18,7 +18,7 @@ entry:<br class=""> !8 = !{!9}<br class=""> !9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !12 = !{!14}<br class="">-!14 = !DIGlobalVariable(name: "bar", line: 2, isLocal: true, isDefinition: true, scope: !5, file: !6, type: !9)<br class="">+!14 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "bar", line: 2, isLocal: true, isDefinition: true, scope: !5, file: !6, type: !9))<br class=""> !15 = !DILocation(line: 3, column: 3, scope: !16)<br class=""> !16 = distinct !DILexicalBlock(line: 1, column: 11, file: !17, scope: !5)<br class=""> !17 = !DIFile(filename: "fb.c", directory: "/private/tmp")<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/2009-11-06-NamelessGlobalVariable.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/2009-11-06-NamelessGlobalVariable.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/2009-11-06-NamelessGlobalVariable.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/2009-11-06-NamelessGlobalVariable.ll Mon Dec 19 20:09:43 2016<br class="">@@ -7,7 +7,7 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.0 (trunk 139632)", isOptimized: true, emissionKind: FullDebug, file: !8, enums: !2, retainedTypes: !2, globals: !3)<br class=""> !2 = !{}<br class=""> !3 = !{!5}<br class="">-!5 = !DIGlobalVariable(name: "a", line: 2, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 2, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "g.c", directory: "/private/tmp")<br class=""> !7 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !8 = !DIFile(filename: "g.c", directory: "/private/tmp")<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/2010-06-29-InlinedFnLocalVar.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/2010-06-29-InlinedFnLocalVar.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/2010-06-29-InlinedFnLocalVar.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/2010-06-29-InlinedFnLocalVar.ll Mon Dec 19 20:09:43 2016<br class="">@@ -45,7 +45,7 @@ entry:<br class=""> !13 = !{!14, !15}<br class=""> !14 = !DIDerivedType(tag: DW_TAG_member, name: "a", line: 10, size: 32, align: 32, file: !27, scope: !12, baseType: !5)<br class=""> !15 = !DIDerivedType(tag: DW_TAG_member, name: "b", line: 10, size: 32, align: 32, offset: 32, file: !27, scope: !12, baseType: !5)<br class="">-!16 = !DIGlobalVariable(name: "i", line: 5, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5)<br class="">+!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", line: 5, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5))<br class=""> !17 = !DILocation(line: 15, scope: !18)<br class=""> !18 = distinct !DILexicalBlock(line: 14, column: 0, file: !1, scope: !6)<br class=""> !19 = !DILocation(line: 9, scope: !0, inlinedAt: !17)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/accel-table-hash-collisions.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/accel-table-hash-collisions.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/accel-table-hash-collisions.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/accel-table-hash-collisions.ll Mon Dec 19 20:09:43 2016<br class="">@@ -73,19 +73,19 @@<br class=""> !1 = !DIFile(filename: "hash-collisions.c", directory: "/tmp")<br class=""> !2 = !{}<br class=""> !3 = !{!4, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16}<br class="">-!4 = !DIGlobalVariable(name: "ForceTopDown", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ForceTopDown", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class="">-!6 = !DIGlobalVariable(name: "_ZNSt3__116allocator_traitsINS_9allocatorINS_11__tree_nodeINS_12__value_typeIPN4llvm10BasicBlockEPNS4_10RegionNodeEEEPvEEEEE11__constructIS9_JNS_4pairIS6_S8_EEEEEvNS_17integral_constantIbLb1EEERSC_PT_DpOT0_", scope: !0, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true)<br class="">-!7 = !DIGlobalVariable(name: "_ZN5clang23DataRecursiveASTVisitorIN12_GLOBAL__N_124UnusedBackingIvarCheckerEE26TraverseCUDAKernelCallExprEPNS_18CUDAKernelCallExprE", scope: !0, file: !1, line: 3, type: !5, isLocal: false, isDefinition: true)<br class="">-!8 = !DIGlobalVariable(name: "_ZN4llvm16DenseMapIteratorIPNS_10MDLocationENS_6detail13DenseSetEmptyENS_10MDNodeInfoIS1_EENS3_12DenseSetPairIS2_EELb0EE23AdvancePastEmptyBucketsEv", scope: !0, file: !1, line: 4, type: !5, isLocal: false, isDefinition: true)<br class="">-!9 = !DIGlobalVariable(name: "_ZNK4llvm12LivePhysRegs5printERNS_11raw_ostreamE", scope: !0, file: !1, line: 5, type: !5, isLocal: false, isDefinition: true)<br class="">-!10 = !DIGlobalVariable(name: "_ZN4llvm15ScalarEvolution14getSignedRangeEPKNS_4SCEVE", scope: !0, file: !1, line: 6, type: !5, isLocal: false, isDefinition: true)<br class="">-!11 = !DIGlobalVariable(name: "k1", scope: !0, file: !1, line: 7, type: !5, isLocal: false, isDefinition: true)<br class="">-!12 = !DIGlobalVariable(name: "is", scope: !0, file: !1, line: 8, type: !5, isLocal: false, isDefinition: true)<br class="">-!13 = !DIGlobalVariable(name: "setStmt", scope: !0, file: !1, line: 9, type: !5, isLocal: false, isDefinition: true)<br class="">-!14 = !DIGlobalVariable(name: "_ZN4llvm5TwineC1Ei", scope: !0, file: !1, line: 10, type: !5, isLocal: false, isDefinition: true)<br class="">-!15 = !DIGlobalVariable(name: "_ZNK5clang12OverrideAttr5cloneERNS_10ASTContextE", scope: !0, file: !1, line: 11, type: !5, isLocal: false, isDefinition: true)<br class="">-!16 = !DIGlobalVariable(name: "_ZN4llvm22MachineModuleInfoMachOD2Ev", scope: !0, file: !1, line: 12, type: !5, isLocal: false, isDefinition: true)<br class="">+!6 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "_ZNSt3__116allocator_traitsINS_9allocatorINS_11__tree_nodeINS_12__value_typeIPN4llvm10BasicBlockEPNS4_10RegionNodeEEEPvEEEEE11__constructIS9_JNS_4pairIS6_S8_EEEEEvNS_17integral_constantIbLb1EEERSC_PT_DpOT0_", scope: !0, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true))<br class="">+!7 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "_ZN5clang23DataRecursiveASTVisitorIN12_GLOBAL__N_124UnusedBackingIvarCheckerEE26TraverseCUDAKernelCallExprEPNS_18CUDAKernelCallExprE", scope: !0, file: !1, line: 3, type: !5, isLocal: false, isDefinition: true))<br class="">+!8 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "_ZN4llvm16DenseMapIteratorIPNS_10MDLocationENS_6detail13DenseSetEmptyENS_10MDNodeInfoIS1_EENS3_12DenseSetPairIS2_EELb0EE23AdvancePastEmptyBucketsEv", scope: !0, file: !1, line: 4, type: !5, isLocal: false, isDefinition: true))<br class="">+!9 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "_ZNK4llvm12LivePhysRegs5printERNS_11raw_ostreamE", scope: !0, file: !1, line: 5, type: !5, isLocal: false, isDefinition: true))<br class="">+!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "_ZN4llvm15ScalarEvolution14getSignedRangeEPKNS_4SCEVE", scope: !0, file: !1, line: 6, type: !5, isLocal: false, isDefinition: true))<br class="">+!11 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "k1", scope: !0, file: !1, line: 7, type: !5, isLocal: false, isDefinition: true))<br class="">+!12 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "is", scope: !0, file: !1, line: 8, type: !5, isLocal: false, isDefinition: true))<br class="">+!13 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "setStmt", scope: !0, file: !1, line: 9, type: !5, isLocal: false, isDefinition: true))<br class="">+!14 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "_ZN4llvm5TwineC1Ei", scope: !0, file: !1, line: 10, type: !5, isLocal: false, isDefinition: true))<br class="">+!15 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "_ZNK5clang12OverrideAttr5cloneERNS_10ASTContextE", scope: !0, file: !1, line: 11, type: !5, isLocal: false, isDefinition: true))<br class="">+!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "_ZN4llvm22MachineModuleInfoMachOD2Ev", scope: !0, file: !1, line: 12, type: !5, isLocal: false, isDefinition: true))<br class=""> !17 = !{i32 2, !"Dwarf Version", i32 2}<br class=""> !18 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !19 = !{i32 1, !"PIC Level", i32 2}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll Mon Dec 19 20:09:43 2016<br class="">@@ -69,14 +69,14 @@ attributes #1 = { nounwind readnone }<br class=""> !7 = !{!8, !8}<br class=""> !8 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !9 = !{!10}<br class="">-!10 = !DIGlobalVariable(name: "x", line: 4, isLocal: false, isDefinition: true, scope: null, file: !5, type: !11)<br class="">+!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", line: 4, isLocal: false, isDefinition: true, scope: null, file: !5, type: !11))<br class=""> !11 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !6)<br class=""> !12 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.5.0 ", isOptimized: false, emissionKind: FullDebug, file: !13, enums: !2, retainedTypes: !2, globals: !17, imports: !2)<br class=""> !13 = !DIFile(filename: "b.cpp", directory: "/tmp/dbginfo")<br class=""> !15 = distinct !DISubprogram(name: "func", linkageName: "_Z4funci", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !12, scopeLine: 1, file: !13, scope: !16, type: !6, variables: !2)<br class=""> !16 = !DIFile(filename: "b.cpp", directory: "/tmp/dbginfo")<br class=""> !17 = !{!18}<br class="">-!18 = !DIGlobalVariable(name: "y", line: 4, isLocal: false, isDefinition: true, scope: null, file: !16, type: !11)<br class="">+!18 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "y", line: 4, isLocal: false, isDefinition: true, scope: null, file: !16, type: !11))<br class=""> !19 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !20 = !{i32 1, !"Debug Info Version", i32 3}<br class=""> !21 = !{!"clang version 3.5.0 "}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce.ll Mon Dec 19 20:09:43 2016<br class="">@@ -58,12 +58,12 @@ attributes #1 = { nounwind readnone }<br class=""> !8 = !{!9, !9}<br class=""> !9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !10 = !{!11}<br class="">-!11 = !DIGlobalVariable(name: "x", line: 4, isLocal: false, isDefinition: true, scope: null, file: !6, type: !12)<br class="">+!11 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", line: 4, isLocal: false, isDefinition: true, scope: null, file: !6, type: !12))<br class=""> !12 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !7)<br class=""> !13 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.5.0 ", isOptimized: false, emissionKind: FullDebug, file: !14, enums: !2, retainedTypes: !2, globals: !15, imports: !2)<br class=""> !14 = !DIFile(filename: "b.cpp", directory: "/tmp/dbginfo")<br class=""> !15 = !{!16}<br class="">-!16 = !DIGlobalVariable(name: "y", line: 4, isLocal: false, isDefinition: true, scope: null, file: !6, type: !12)<br class="">+!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "y", line: 4, isLocal: false, isDefinition: true, scope: null, file: !6, type: !12))<br class=""> !17 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !18 = !{i32 1, !"Debug Info Version", i32 3}<br class=""> !19 = !{!"clang version 3.5.0 "}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/dbg-at-specficiation.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/dbg-at-specficiation.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/dbg-at-specficiation.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/dbg-at-specficiation.ll Mon Dec 19 20:09:43 2016<br class="">@@ -11,7 +11,7 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.0 (trunk 140253)", isOptimized: true, emissionKind: FullDebug, file: !11, enums: !2, retainedTypes: !2, globals: !3)<br class=""> !2 = !{}<br class=""> !3 = !{!5}<br class="">-!5 = !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "x.c", directory: "/private/tmp")<br class=""> !7 = !DICompositeType(tag: DW_TAG_array_type, size: 320, align: 32, baseType: !8, elements: !9)<br class=""> !8 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/debuginfofinder-forward-declaration.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/debuginfofinder-forward-declaration.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/debuginfofinder-forward-declaration.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/debuginfofinder-forward-declaration.ll Mon Dec 19 20:09:43 2016<br class="">@@ -31,7 +31,7 @@<br class=""> !1 = !DIFile(filename: "minimal.c", directory: "/tmp")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "y", scope: !0, file: !1, line: 7, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "y", scope: !0, file: !1, line: 7, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DICompositeType(tag: DW_TAG_structure_type, name: "Y", file: !1, line: 3, size: 64, align: 64, elements: !6)<br class=""> !6 = !{!7}<br class=""> !7 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !5, file: !1, line: 4, baseType: !8, size: 64, align: 64)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/dwarf-public-names.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/dwarf-public-names.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/dwarf-public-names.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/dwarf-public-names.ll Mon Dec 19 20:09:43 2016<br class="">@@ -114,9 +114,9 @@ attributes #1 = { nounwind readnone }<br class=""> !22 = !DISubroutineType(types: !23)<br class=""> !23 = !{null}<br class=""> !24 = !{!25, !26, !27}<br class="">-!25 = !DIGlobalVariable(name: "static_member_variable", linkageName: "_ZN1C22static_member_variableE", line: 7, isLocal: false, isDefinition: true, scope: !8, file: !4, type: !11, declaration: !10)<br class="">-!26 = !DIGlobalVariable(name: "global_variable", line: 17, isLocal: false, isDefinition: true, scope: null, file: !4, type: !8)<br class="">-!27 = !DIGlobalVariable(name: "global_namespace_variable", linkageName: "_ZN2ns25global_namespace_variableE", line: 27, isLocal: false, isDefinition: true, scope: !21, file: !4, type: !11)<br class="">+!25 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "static_member_variable", linkageName: "_ZN1C22static_member_variableE", line: 7, isLocal: false, isDefinition: true, scope: !8, file: !4, type: !11, declaration: !10))<br class="">+!26 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "global_variable", line: 17, isLocal: false, isDefinition: true, scope: null, file: !4, type: !8))<br class="">+!27 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "global_namespace_variable", linkageName: "_ZN2ns25global_namespace_variableE", line: 27, isLocal: false, isDefinition: true, scope: !21, file: !4, type: !11))<br class=""> !28 = !DILocalVariable(name: "this", line: 9, arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !3, file: !4, type: !29)<br class=""> !29 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !8)<br class=""> !30 = !DILocation(line: 9, scope: !3)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/enum.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/enum.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/enum.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/enum.ll Mon Dec 19 20:09:43 2016<br class="">@@ -70,7 +70,7 @@ attributes #1 = { nounwind readnone }<br class=""> !15 = !DISubroutineType(types: !16)<br class=""> !16 = !{null}<br class=""> !17 = !{!18}<br class="">-!18 = !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !14, type: !3)<br class="">+!18 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !14, type: !3))<br class=""> !19 = !{i32 2, !"Dwarf Version", i32 3}<br class=""> !20 = !DILocalVariable(name: "b", line: 4, scope: !13, file: !14, type: !21)<br class=""> !21 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/global.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/global.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/global.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/global.ll Mon Dec 19 20:09:43 2016<br class="">@@ -35,7 +35,7 @@ attributes #0 = { nounwind readnone uwta<br class=""> !7 = !{!8}<br class=""> !8 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !9 = !{!10}<br class="">-!10 = !DIGlobalVariable(name: "i", linkageName: "_ZL1i", line: 1, isLocal: true, isDefinition: true, scope: null, file: !5, type: !8)<br class="">+!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", linkageName: "_ZL1i", line: 1, isLocal: true, isDefinition: true, scope: null, file: !5, type: !8))<br class=""> !11 = !{i32 2, !"Dwarf Version", i32 3}<br class=""> !12 = !DILocation(line: 4, scope: !4)<br class=""> !13 = !{i32 1, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/gvn.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/gvn.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/gvn.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/gvn.ll Mon Dec 19 20:09:43 2016<br class="">@@ -81,8 +81,8 @@ attributes #3 = { nounwind }<br class=""> !13 = !DISubroutineType(types: !14)<br class=""> !14 = !{null}<br class=""> !15 = !{!16, !17}<br class="">-!16 = !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 1, type: !9, isLocal: false, isDefinition: true)<br class="">-!17 = !DIGlobalVariable(name: "b", scope: !0, file: !1, line: 1, type: !9, isLocal: false, isDefinition: true)<br class="">+!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 1, type: !9, isLocal: false, isDefinition: true))<br class="">+!17 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", scope: !0, file: !1, line: 1, type: !9, isLocal: false, isDefinition: true))<br class=""> !18 = !{i32 2, !"Dwarf Version", i32 2}<br class=""> !19 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !20 = !{!"clang version 3.8.0 (trunk 245562) (llvm/trunk 245569)"}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/member-pointers.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/member-pointers.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/member-pointers.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/member-pointers.ll Mon Dec 19 20:09:43 2016<br class="">@@ -26,12 +26,12 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.3 ", isOptimized: false, emissionKind: FullDebug, file: !15, enums: !1, retainedTypes: !1, globals: !3, imports: !1)<br class=""> !1 = !{}<br class=""> !3 = !{!5, !10}<br class="">-!5 = !DIGlobalVariable(name: "x", line: 4, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", line: 4, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "simple.cpp", directory: "/home/blaikie/Development/scratch")<br class=""> !7 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !8, extraData: !9)<br class=""> !8 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !9 = !DICompositeType(tag: DW_TAG_structure_type, name: "S", line: 1, size: 8, align: 8, file: !15, elements: !1)<br class="">-!10 = !DIGlobalVariable(name: "y", line: 5, isLocal: false, isDefinition: true, scope: null, file: !6, type: !11)<br class="">+!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "y", line: 5, isLocal: false, isDefinition: true, scope: null, file: !6, type: !11))<br class=""> !11 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !12, extraData: !9)<br class=""> !12 = !DISubroutineType(types: !13)<br class=""> !13 = !{null, !14, !8}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/namespace.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/namespace.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/namespace.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/namespace.ll Mon Dec 19 20:09:43 2016<br class="">@@ -200,8 +200,8 @@<br class=""> ; }<br class=""> ; void B::func_fwd() {}<br class=""><br class="">-@_ZN1A1B1iE = global i32 0, align 4, !dbg !31<br class="">-@_ZN1A1B7var_fwdE = global i32 0, align 4, !dbg !32<br class="">+@_ZN1A1B1iE = global i32 0, align 4, !dbg !131<br class="">+@_ZN1A1B7var_fwdE = global i32 0, align 4, !dbg !132<br class=""> @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_debug_info_namespace.cpp, i8* null }]<br class=""><br class=""> ; Function Attrs: nounwind ssp uwtable<br class="">@@ -316,7 +316,7 @@ attributes #1 = { nounwind readnone }<br class=""> !27 = distinct !DISubprogram(name: "", linkageName: "_GLOBAL__sub_I_debug_info_namespace.cpp", isLocal: true, isDefinition: true, flags: DIFlagArtificial, isOptimized: false, unit: !0, file: !1, scope: !28, type: !29, variables: !2)<br class=""> !28 = !DIFile(filename: "debug-info-namespace.cpp", directory: "/tmp")<br class=""> !29 = !DISubroutineType(types: !2)<br class="">-!30 = !{!31, !32}<br class="">+!30 = !{!131, !132}<br class=""> !31 = !DIGlobalVariable(name: "i", linkageName: "_ZN1A1B1iE", line: 20, isLocal: false, isDefinition: true, scope: !6, file: !18, type: !13)<br class=""> !32 = !DIGlobalVariable(name: "var_fwd", linkageName: "_ZN1A1B7var_fwdE", line: 44, isLocal: false, isDefinition: true, scope: !6, file: !18, type: !13)<br class=""> !33 = !{!34, !35, !36, !37, !40, !41, !42, !43, !44, !45, !47, !48, !49, !51, !54, !55, !56}<br class="">@@ -362,3 +362,5 @@ attributes #1 = { nounwind readnone }<br class=""> !73 = !DILocation(line: 47, column: 21, scope: !26)<br class=""> !74 = !DILocation(line: 0, scope: !75)<br class=""> !75 = !DILexicalBlockFile(discriminator: 0, file: !5, scope: !27)<br class="">+!131 = !DIGlobalVariableExpression(var: !31)<br class="">+!132 = !DIGlobalVariableExpression(var: !32)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/recursive_inlining.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/recursive_inlining.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/recursive_inlining.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/recursive_inlining.ll Mon Dec 19 20:09:43 2016<br class="">@@ -225,7 +225,7 @@ attributes #3 = { nounwind }<br class=""> !24 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !22, type: !25)<br class=""> !25 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !4)<br class=""> !26 = !{!27}<br class="">-!27 = !DIGlobalVariable(name: "x", line: 13, isLocal: false, isDefinition: true, scope: null, file: !15, type: !25)<br class="">+!27 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", line: 13, isLocal: false, isDefinition: true, scope: null, file: !15, type: !25))<br class=""> !28 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !29 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !30 = !{!"clang version 3.6.0 "}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/template-recursive-void.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/template-recursive-void.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/template-recursive-void.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/template-recursive-void.ll Mon Dec 19 20:09:43 2016<br class="">@@ -29,7 +29,7 @@<br class=""> !1 = !DIFile(filename: "debug-info-template-recursive.cpp", directory: "/usr/local/google/home/echristo/tmp")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "filters", line: 10, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "filters", line: 10, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6))<br class=""> !5 = !DIFile(filename: "debug-info-template-recursive.cpp", directory: "/usr/local/google/home/echristo/tmp")<br class=""> !6 = !DICompositeType(tag: DW_TAG_class_type, name: "bar", line: 9, size: 8, align: 8, file: !1, elements: !7)<br class=""> !7 = !{!8, !31}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/tu-member-pointer.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/tu-member-pointer.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/tu-member-pointer.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/tu-member-pointer.ll Mon Dec 19 20:09:43 2016<br class="">@@ -22,7 +22,7 @@<br class=""> !3 = !{!4}<br class=""> !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "Foo", line: 1, flags: DIFlagFwdDecl, file: !1, identifier: "_ZTS3Foo")<br class=""> !5 = !{!6}<br class="">-!6 = !DIGlobalVariable(name: "x", line: 4, isLocal: false, isDefinition: true, scope: null, file: !7, type: !8)<br class="">+!6 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", line: 4, isLocal: false, isDefinition: true, scope: null, file: !7, type: !8))<br class=""> !7 = !DIFile(filename: "foo.cpp", directory: ".")<br class=""> !8 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, baseType: !9, extraData: !4)<br class=""> !9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Generic/typedef.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Generic/typedef.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Generic/typedef.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Generic/typedef.ll Mon Dec 19 20:09:43 2016<br class="">@@ -22,7 +22,7 @@<br class=""> !1 = !DIFile(filename: "typedef.cpp", directory: "/tmp/dbginfo")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "y", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "y", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6))<br class=""> !5 = !DIFile(filename: "typedef.cpp", directory: "/tmp/dbginfo")<br class=""> !6 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !7)<br class=""> !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "x", line: 1, file: !1, baseType: null)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/MIR/X86/live-debug-values.mir<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/MIR/X86/live-debug-values.mir?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/MIR/X86/live-debug-values.mir (original)<br class="">+++ llvm/trunk/test/DebugInfo/MIR/X86/live-debug-values.mir Mon Dec 19 20:09:43 2016<br class="">@@ -33,7 +33,7 @@<br class=""> # DBG_VALUE for variable "n" is extended into BB#5 from its predecessors BB#3<br class=""> # and BB#4.<br class=""> # CHECK: bb.5.if.end.7:<br class="">-# CHECK: DBG_VALUE debug-use %ebx, debug-use _, !18, !19, debug-location !32<br class="">+# CHECK: DBG_VALUE debug-use %ebx, debug-use _, !19, !20, debug-location !33<br class=""><br class=""><br class=""> --- |<br class="">@@ -121,7 +121,7 @@<br class=""> !13 = !DILocalVariable(name: "argv", arg: 2, scope: !4, file: !1, line: 6, type: !8)<br class=""> !14 = !DILocalVariable(name: "n", scope: !4, file: !1, line: 7, type: !7)<br class=""> !15 = !{!16}<br class="">- !16 = !DIGlobalVariable(name: "m", scope: !0, file: !1, line: 2, type: !7, isLocal: false, isDefinition: true)<br class="">+ !16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "m", scope: !0, file: !1, line: 2, type: !7, isLocal: false, isDefinition: true))<br class=""> !17 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !18 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !19 = !{!"clang version 3.8.0 (trunk 253049)"}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/MIR/X86/mlicm-hoist.mir<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/MIR/X86/mlicm-hoist.mir?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/MIR/X86/mlicm-hoist.mir (original)<br class="">+++ llvm/trunk/test/DebugInfo/MIR/X86/mlicm-hoist.mir Mon Dec 19 20:09:43 2016<br class="">@@ -55,7 +55,7 @@<br class=""> !llvm.module.flags = !{!6, !7}<br class=""> !llvm.ident = !{!8}<br class=""><br class="">- !0 = distinct !DIGlobalVariable(name: "x", scope: !1, file: !2, line: 1, type: !5, isLocal: false, isDefinition: true)<br class="">+ !0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", scope: !1, file: !2, line: 1, type: !5, isLocal: false, isDefinition: true))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 4.0.0 ", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "t.c", directory: "/home/test")<br class=""> !3 = !{}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/Mips/InlinedFnLocalVar.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/Mips/InlinedFnLocalVar.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/Mips/InlinedFnLocalVar.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/Mips/InlinedFnLocalVar.ll Mon Dec 19 20:09:43 2016<br class="">@@ -45,7 +45,7 @@ entry:<br class=""> !13 = !{!14, !15}<br class=""> !14 = !DIDerivedType(tag: DW_TAG_member, name: "a", line: 10, size: 32, align: 32, file: !27, scope: !12, baseType: !5)<br class=""> !15 = !DIDerivedType(tag: DW_TAG_member, name: "b", line: 10, size: 32, align: 32, offset: 32, file: !27, scope: !12, baseType: !5)<br class="">-!16 = !DIGlobalVariable(name: "i", line: 5, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5)<br class="">+!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", line: 5, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5))<br class=""> !17 = !DILocation(line: 15, scope: !18)<br class=""> !18 = distinct !DILexicalBlock(line: 14, column: 0, file: !1, scope: !6)<br class=""> !19 = !DILocation(line: 9, scope: !0, inlinedAt: !17)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/PowerPC/tls-fission.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/PowerPC/tls-fission.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/PowerPC/tls-fission.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/PowerPC/tls-fission.ll Mon Dec 19 20:09:43 2016<br class="">@@ -26,7 +26,7 @@<br class=""> !1 = !DIFile(filename: "tls.cpp", directory: "/tmp")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "tls", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tls", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6))<br class=""> !5 = !DIFile(filename: "tls.cpp", directory: "/tmp")<br class=""> !6 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !7 = !{i32 2, !"Dwarf Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/PowerPC/tls.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/PowerPC/tls.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/PowerPC/tls.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/PowerPC/tls.ll Mon Dec 19 20:09:43 2016<br class="">@@ -21,7 +21,7 @@<br class=""> !1 = !DIFile(filename: "tls.cpp", directory: "/tmp")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "tls", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tls", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6))<br class=""> !5 = !DIFile(filename: "tls.cpp", directory: "/tmp")<br class=""> !6 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !7 = !{i32 2, !"Dwarf Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/WebAssembly/dbg-declare.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/WebAssembly/dbg-declare.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/WebAssembly/dbg-declare.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/WebAssembly/dbg-declare.ll Mon Dec 19 20:09:43 2016<br class="">@@ -45,7 +45,7 @@ declare void @llvm.dbg.declare(metadata,<br class=""> !1 = !DIFile(filename: "crash.c", directory: "wasm/tests")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "key", scope: !0, file: !1, line: 7, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "key", scope: !0, file: !1, line: 7, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DICompositeType(tag: DW_TAG_array_type, baseType: !6, size: 120, align: 8, elements: !9)<br class=""> !6 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !7, line: 185, baseType: !8)<br class=""> !7 = !DIFile(filename: "wasm/emscripten/system/include/libc/bits/alltypes.h", directory: "wasm/tests")<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll Mon Dec 19 20:09:43 2016<br class="">@@ -27,7 +27,7 @@ declare void @llvm.dbg.declare(metadata,<br class=""> !8 = !{!9}<br class=""> !9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !12 = !{!14}<br class="">-!14 = !DIGlobalVariable(name: "GLB", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !9)<br class="">+!14 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "GLB", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !9))<br class=""> !15 = !DILocalVariable(name: "LOC", line: 4, scope: !16, file: !6, type: !9)<br class=""> !16 = distinct !DILexicalBlock(line: 3, column: 9, file: !20, scope: !5)<br class=""> !17 = !DILocation(line: 4, column: 9, scope: !16)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/DIModuleContext.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/DIModuleContext.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/DIModuleContext.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/DIModuleContext.ll Mon Dec 19 20:09:43 2016<br class="">@@ -20,7 +20,7 @@ target triple = "x86_64-apple-macosx"<br class=""> !1 = !DIFile(filename: "test.c", directory: "/")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "s", scope: !0, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s", scope: !0, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !6, size: 64, align: 64)<br class=""> !6 = !DICompositeType(tag: DW_TAG_structure_type, name: "s", scope: !9, file: !1, line: 1, flags: DIFlagFwdDecl)<br class=""> !7 = !{i32 2, !"Dwarf Version", i32 2}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/DW_AT_calling-convention.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/DW_AT_calling-convention.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/DW_AT_calling-convention.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/DW_AT_calling-convention.ll Mon Dec 19 20:09:43 2016<br class="">@@ -67,7 +67,7 @@ attributes #1 = { nounwind readnone }<br class=""> !1 = !DIFile(filename: "t.cpp", directory: "D:\5Csrc\5Cllvm\5Cbuild")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "fptr", linkageName: "\01?fptr@@3P6IHHH@ZA", scope: !0, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "fptr", linkageName: "\01?fptr@@3P6IHHH@ZA", scope: !0, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !6, size: 32, align: 32)<br class=""> !6 = !DISubroutineType(cc: DW_CC_BORLAND_msfastcall, types: !7)<br class=""> !7 = !{!8, !8, !8}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/DW_AT_specification.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/DW_AT_specification.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/DW_AT_specification.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/DW_AT_specification.ll Mon Dec 19 20:09:43 2016<br class="">@@ -32,7 +32,7 @@ entry:<br class=""> !12 = !DICompositeType(tag: DW_TAG_class_type, name: "foo", line: 1, size: 8, align: 8, file: !27, elements: !13)<br class=""> !13 = !{!11}<br class=""> !18 = !{!20}<br class="">-!20 = !DIGlobalVariable(name: "x", line: 5, isLocal: true, isDefinition: true, scope: !5, file: !6, type: !21)<br class="">+!20 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", line: 5, isLocal: true, isDefinition: true, scope: !5, file: !6, type: !21))<br class=""> !21 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !22)<br class=""> !22 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !25 = !DILocation(line: 6, column: 1, scope: !26)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/DW_TAG_friend.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/DW_TAG_friend.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/DW_TAG_friend.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/DW_TAG_friend.ll Mon Dec 19 20:09:43 2016<br class="">@@ -21,7 +21,7 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.1 (trunk 153413) (llvm/trunk 153428)", isOptimized: false, emissionKind: FullDebug, file: !28, enums: !1, retainedTypes: !1, globals: !3, imports: !1)<br class=""> !1 = !{}<br class=""> !3 = !{!5, !17}<br class="">-!5 = !DIGlobalVariable(name: "a", line: 10, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 10, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "foo.cpp", directory: "/Users/echristo/tmp")<br class=""> !7 = !DICompositeType(tag: DW_TAG_class_type, name: "A", line: 1, size: 32, align: 32, file: !28, elements: !8)<br class=""> !8 = !{!9, !11}<br class="">@@ -31,7 +31,7 @@<br class=""> !12 = !DISubroutineType(types: !13)<br class=""> !13 = !{null, !14}<br class=""> !14 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial, baseType: !7)<br class="">-!17 = !DIGlobalVariable(name: "b", line: 11, isLocal: false, isDefinition: true, scope: null, file: !6, type: !18)<br class="">+!17 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", line: 11, isLocal: false, isDefinition: true, scope: null, file: !6, type: !18))<br class=""> !18 = !DICompositeType(tag: DW_TAG_class_type, name: "B", line: 5, size: 32, align: 32, file: !28, elements: !19)<br class=""> !19 = !{!20, !21, !27}<br class=""> !20 = !DIDerivedType(tag: DW_TAG_member, name: "b", line: 7, size: 32, align: 32, flags: DIFlagPrivate, file: !28, scope: !18, baseType: !10)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/InlinedFnLocalVar.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/InlinedFnLocalVar.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/InlinedFnLocalVar.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/InlinedFnLocalVar.ll Mon Dec 19 20:09:43 2016<br class="">@@ -45,7 +45,7 @@ entry:<br class=""> !13 = !{!14, !15}<br class=""> !14 = !DIDerivedType(tag: DW_TAG_member, name: "a", line: 10, size: 32, align: 32, file: !27, scope: !12, baseType: !5)<br class=""> !15 = !DIDerivedType(tag: DW_TAG_member, name: "b", line: 10, size: 32, align: 32, offset: 32, file: !27, scope: !12, baseType: !5)<br class="">-!16 = !DIGlobalVariable(name: "i", line: 5, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5)<br class="">+!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", line: 5, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5))<br class=""> !17 = !DILocation(line: 15, scope: !18)<br class=""> !18 = distinct !DILexicalBlock(line: 14, column: 0, file: !1, scope: !6)<br class=""> !19 = !DILocation(line: 9, scope: !0, inlinedAt: !17)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/PR26148.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/PR26148.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/PR26148.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/PR26148.ll Mon Dec 19 20:09:43 2016<br class="">@@ -86,7 +86,7 @@ entry:<br class=""> !18 = !DISubroutineType(types: !19)<br class=""> !19 = !{!15}<br class=""> !20 = !{!21}<br class="">-!21 = !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 4, type: !11, isLocal: false, isDefinition: true)<br class="">+!21 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 4, type: !11, isLocal: false, isDefinition: true))<br class=""> !22 = !{i32 2, !"Dwarf Version", i32 2}<br class=""> !23 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !24 = !{i32 1, !"PIC Level", i32 2}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/align_c11.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/align_c11.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/align_c11.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/align_c11.ll Mon Dec 19 20:09:43 2016<br class="">@@ -56,7 +56,7 @@ attributes #1 = { nounwind readnone }<br class=""> !llvm.module.flags = !{!14, !15}<br class=""> !llvm.ident = !{!16}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "d", scope: !1, file: !5, line: 7, type: !6, isLocal: false, isDefinition: true, align: 16384)<br class="">+!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "d", scope: !1, file: !5, line: 7, type: !6, isLocal: false, isDefinition: true, align: 16384))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 4.0.0 (http://llvm.org/git/clang.git 9ce5220b821054019059c2ac4a9b132c7723832d) (http://llvm.org/git/llvm.git 9a6298be89ce0359b151c0a37af2776a12c69e85)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "test.c", directory: "/tmp")<br class=""> !3 = !{}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/align_cpp11.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/align_cpp11.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/align_cpp11.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/align_cpp11.ll Mon Dec 19 20:09:43 2016<br class="">@@ -118,7 +118,7 @@ attributes #1 = { nounwind readnone }<br class=""> !llvm.module.flags = !{!19, !20}<br class=""> !llvm.ident = !{!21}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "c0", scope: !1, file: !5, line: 19, type: !17, isLocal: false, isDefinition: true)<br class="">+!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c0", scope: !1, file: !5, line: 19, type: !17, isLocal: false, isDefinition: true))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !2, producer: "clang version 4.0.0 (http://llvm.org/git/clang.git 9ce5220b821054019059c2ac4a9b132c7723832d) (http://llvm.org/git/llvm.git 9a6298be89ce0359b151c0a37af2776a12c69e85)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !10)<br class=""> !2 = !DIFile(filename: "test.cpp", directory: "/tmp")<br class=""> !3 = !{!4}<br class="">@@ -129,7 +129,7 @@ attributes #1 = { nounwind readnone }<br class=""> !8 = !DIEnumerator(name: "B", value: 1)<br class=""> !9 = !DIEnumerator(name: "C", value: 2)<br class=""> !10 = !{!0, !11}<br class="">-!11 = distinct !DIGlobalVariable(name: "s", scope: !1, file: !5, line: 21, type: !12, isLocal: false, isDefinition: true, align: 16384)<br class="">+!11 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s", scope: !1, file: !5, line: 21, type: !12, isLocal: false, isDefinition: true, align: 16384))<br class=""> !12 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !5, line: 1, size: 2048, elements: !13, identifier: "_ZTS1S")<br class=""> !13 = !{!14, !16}<br class=""> !14 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !12, file: !5, line: 2, baseType: !15, size: 8)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/align_objc.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/align_objc.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/align_objc.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/align_objc.ll Mon Dec 19 20:09:43 2016<br class="">@@ -68,7 +68,7 @@ attributes #1 = { nounwind readnone }<br class=""> !llvm.module.flags = !{!11, !12}<br class=""> !llvm.ident = !{!13}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "s0", scope: !1, file: !5, line: 10, type: !6, isLocal: false, isDefinition: true)<br class="">+!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s0", scope: !1, file: !5, line: 10, type: !6, isLocal: false, isDefinition: true))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_ObjC, file: !2, producer: "clang version 4.0.0 (http://llvm.org/git/clang.git 9ce5220b821054019059c2ac4a9b132c7723832d) (http://llvm.org/git/llvm.git 9a6298be89ce0359b151c0a37af2776a12c69e85)", isOptimized: false, runtimeVersion: 1, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "test.m", directory: "/tmp")<br class=""> !3 = !{}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/arange-and-stub.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/arange-and-stub.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/arange-and-stub.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/arange-and-stub.ll Mon Dec 19 20:09:43 2016<br class="">@@ -42,7 +42,7 @@ lpad:<br class=""> !8 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !9 = distinct !DISubprogram(name: "bar_d", linkageName: "bar", scope: !5, file: !5, line: 3, type: !6, isLocal: false, isDefinition: true, scopeLine: 3, flags: DIFlagPrototyped, isOptimized: false, unit: !0, variables: !2)<br class=""> !10 = !{!11}<br class="">-!11 = !DIGlobalVariable(name: "zed", scope: !0, file: !5, line: 6, type: !12, isLocal: false, isDefinition: true)<br class="">+!11 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zed", scope: !0, file: !5, line: 6, type: !12, isLocal: false, isDefinition: true))<br class=""> !12 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 64, align: 64, elements: !15)<br class=""> !13 = !DIDerivedType(tag: DW_TAG_typedef, name: "vifunc", file: !5, line: 5, baseType: !14)<br class=""> !14 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !6, size: 64, align: 64)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/arange.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/arange.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/arange.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/arange.ll Mon Dec 19 20:09:43 2016<br class="">@@ -39,7 +39,7 @@<br class=""> !7 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !8)<br class=""> !8 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !9 = !{!10}<br class="">-!10 = !DIGlobalVariable(name: "f", line: 6, isLocal: false, isDefinition: true, scope: null, file: !11, type: !4)<br class="">+!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "f", line: 6, isLocal: false, isDefinition: true, scope: null, file: !11, type: !4))<br class=""> !11 = !DIFile(filename: "simple.cpp", directory: "/tmp/dbginfo")<br class=""> !12 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !13 = !{i32 1, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-4.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-4.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-4.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-4.ll Mon Dec 19 20:09:43 2016<br class="">@@ -22,7 +22,7 @@ target triple = "x86_64-unknown-linux-gn<br class=""> !llvm.module.flags = !{!9, !10}<br class=""> !llvm.ident = !{!11}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "i", scope: !1, file: !5, line: 1, type: !6, isLocal: false, isDefinition: true)<br class="">+!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", scope: !1, file: !5, line: 1, type: !6, isLocal: false, isDefinition: true))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 4.0.0 (http://llvm.org/git/clang.git cd238117e3a8a57271a82d0bb03d6df6ad8f073e) (http://llvm.org/git/llvm.git 9fd063832c1541aad3907cd60ac344d36997905f)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "atomic.c", directory: "/tmp")<br class=""> !3 = !{}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-5.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-5.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-5.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-5.ll Mon Dec 19 20:09:43 2016<br class="">@@ -23,7 +23,7 @@ target triple = "x86_64-unknown-linux-gn<br class=""> !llvm.module.flags = !{!9, !10}<br class=""> !llvm.ident = !{!11}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "i", scope: !1, file: !5, line: 1, type: !6, isLocal: false, isDefinition: true)<br class="">+!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", scope: !1, file: !5, line: 1, type: !6, isLocal: false, isDefinition: true))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 4.0.0 (http://llvm.org/git/clang.git cd238117e3a8a57271a82d0bb03d6df6ad8f073e) (http://llvm.org/git/llvm.git 9fd063832c1541aad3907cd60ac344d36997905f)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "atomic.c", directory: "/tmp")<br class=""> !3 = !{}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/bitfields-dwarf4.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/bitfields-dwarf4.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/bitfields-dwarf4.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/bitfields-dwarf4.ll Mon Dec 19 20:09:43 2016<br class="">@@ -31,7 +31,7 @@ target triple = "x86_64-apple-macosx"<br class=""> !1 = !DIFile(filename: "bitfield.c", directory: "/Volumes/Data/llvm")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "s", scope: !0, file: !1, line: 8, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s", scope: !0, file: !1, line: 8, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "PackedBits", file: !1, line: 3, size: 40, elements: !6)<br class=""> !6 = !{!7, !9, !13}<br class=""><br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/bitfields.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/bitfields.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/bitfields.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/bitfields.ll Mon Dec 19 20:09:43 2016<br class="">@@ -58,7 +58,7 @@ target triple = "x86_64-apple-macosx"<br class=""> !1 = !DIFile(filename: "bitfields.c", directory: "/")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "b", scope: !0, file: !5, line: 8, type: !6, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", scope: !0, file: !5, line: 8, type: !6, isLocal: false, isDefinition: true))<br class=""> !5 = !DIFile(filename: "bitfields.c", directory: "/")<br class=""> !6 = !DICompositeType(tag: DW_TAG_structure_type, name: "bitfield", file: !5, line: 1, size: 96, elements: !7)<br class=""> !7 = !{!8, !10, !11, !12}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/c-type-units.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/c-type-units.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/c-type-units.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/c-type-units.ll Mon Dec 19 20:09:43 2016<br class="">@@ -21,7 +21,7 @@<br class=""> !1 = !DIFile(filename: "simple.c", directory: "/tmp/dbginfo")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "f", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "f", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6))<br class=""> !5 = !DIFile(filename: "simple.c", directory: "/tmp/dbginfo")<br class=""> !6 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", line: 1, align: 8, file: !1, elements: !2)<br class=""> !7 = !{i32 2, !"Dwarf Version", i32 4}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/concrete_out_of_line.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/concrete_out_of_line.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/concrete_out_of_line.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/concrete_out_of_line.ll Mon Dec 19 20:09:43 2016<br class="">@@ -118,7 +118,7 @@ declare void @_Z8moz_freePv(i8*)<br class=""> !45 = !DILocalVariable(name: "this", line: 4, arg: 1, flags: DIFlagArtificial, scope: !31, file: !6, type: !34)<br class=""> !46 = !DILocalVariable(name: "aValue", line: 4, arg: 2, scope: !31, file: !6, type: !9)<br class=""> !47 = !{!49}<br class="">-!49 = !DIGlobalVariable(name: "mRefCnt", line: 9, isLocal: false, isDefinition: true, scope: null, file: !6, type: !37)<br class="">+!49 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "mRefCnt", line: 9, isLocal: false, isDefinition: true, scope: null, file: !6, type: !37))<br class=""> !50 = !DILocation(line: 5, column: 5, scope: !51, inlinedAt: !52)<br class=""> !51 = distinct !DILexicalBlock(line: 4, column: 29, file: !6, scope: !31)<br class=""> !52 = !DILocation(line: 15, scope: !53)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/cu-ranges-odr.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/cu-ranges-odr.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/cu-ranges-odr.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/cu-ranges-odr.ll Mon Dec 19 20:09:43 2016<br class="">@@ -81,7 +81,7 @@ attributes #1 = { nounwind readnone }<br class=""> !19 = distinct !DISubprogram(name: "", linkageName: "_GLOBAL__I_a", line: 3, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagArtificial, isOptimized: false, unit: !0, scopeLine: 3, file: !1, scope: !15, type: !20, variables: !2)<br class=""> !20 = !DISubroutineType(types: !2)<br class=""> !21 = !{!22}<br class="">-!22 = !DIGlobalVariable(name: "a", line: 8, isLocal: false, isDefinition: true, scope: null, file: !15, type: !4)<br class="">+!22 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 8, isLocal: false, isDefinition: true, scope: null, file: !15, type: !4))<br class=""> !23 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !24 = !{i32 1, !"Debug Info Version", i32 3}<br class=""> !25 = !{!"clang version 3.5 (trunk 199923) (llvm/trunk 199940)"}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/data_member_location.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/data_member_location.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/data_member_location.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/data_member_location.ll Mon Dec 19 20:09:43 2016<br class="">@@ -45,7 +45,7 @@<br class=""> !8 = !DIDerivedType(tag: DW_TAG_member, name: "i", line: 3, size: 32, align: 32, offset: 32, file: !1, scope: !4, baseType: !9)<br class=""> !9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !10 = !{!11}<br class="">-!11 = !DIGlobalVariable(name: "f", line: 6, isLocal: false, isDefinition: true, scope: null, file: !12, type: !4)<br class="">+!11 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "f", line: 6, isLocal: false, isDefinition: true, scope: null, file: !12, type: !4))<br class=""> !12 = !DIFile(filename: "data_member_location.cpp", directory: "/tmp/dbginfo")<br class=""> !13 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !14 = !{!"clang version 3.4 "}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/dbg-subrange.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dbg-subrange.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/dbg-subrange.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/dbg-subrange.ll Mon Dec 19 20:09:43 2016<br class="">@@ -22,7 +22,7 @@ entry:<br class=""> !7 = !DISubroutineType(types: !8)<br class=""> !8 = !{null}<br class=""> !11 = !{!13}<br class="">-!13 = !DIGlobalVariable(name: "s", line: 2, isLocal: false, isDefinition: true, scope: null, file: !6, type: !14)<br class="">+!13 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s", line: 2, isLocal: false, isDefinition: true, scope: null, file: !6, type: !14))<br class=""> !14 = !DICompositeType(tag: DW_TAG_array_type, size: 34359738368, align: 8, baseType: !15, elements: !16)<br class=""> !15 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)<br class=""> !16 = !{!17}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/dbg-value-inlined-parameter.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dbg-value-inlined-parameter.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/dbg-value-inlined-parameter.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/dbg-value-inlined-parameter.ll Mon Dec 19 20:09:43 2016<br class="">@@ -93,7 +93,7 @@ declare void @llvm.dbg.value(metadata, i<br class=""> !16 = !DIBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)<br class=""> !17 = !DIDerivedType(tag: DW_TAG_member, name: "nums", line: 3, size: 32, align: 32, offset: 64, file: !42, scope: !1, baseType: !5)<br class=""> !18 = !DILocalVariable(name: "nums", line: 7, arg: 2, scope: !0, file: !1, type: !5)<br class="">-!19 = !DIGlobalVariable(name: "p", line: 14, isLocal: false, isDefinition: true, scope: !2, file: !1, type: !11)<br class="">+!19 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "p", line: 14, isLocal: false, isDefinition: true, scope: !2, file: !1, type: !11))<br class=""> !20 = !DILocation(line: 7, column: 13, scope: !0)<br class=""> !21 = !DILocation(line: 7, column: 21, scope: !0)<br class=""> !22 = !DILocation(line: 9, column: 3, scope: !23)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/dbg-value-regmask-clobber.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dbg-value-regmask-clobber.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/dbg-value-regmask-clobber.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/dbg-value-regmask-clobber.ll Mon Dec 19 20:09:43 2016<br class="">@@ -89,7 +89,7 @@ attributes #3 = { nounwind }<br class=""> !12 = !DILocalVariable(name: "argv", arg: 2, scope: !4, file: !1, line: 4, type: !8)<br class=""> !13 = !DILocalVariable(name: "argc", arg: 1, scope: !4, file: !1, line: 4, type: !7)<br class=""> !14 = !{!15}<br class="">-!15 = !DIGlobalVariable(name: "x", scope: !0, file: !1, line: 1, type: !16, isLocal: false, isDefinition: true)<br class="">+!15 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", scope: !0, file: !1, line: 1, type: !16, isLocal: false, isDefinition: true))<br class=""> !16 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !7)<br class=""> !17 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !18 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/debug-info-access.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/debug-info-access.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/debug-info-access.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/debug-info-access.ll Mon Dec 19 20:09:43 2016<br class="">@@ -140,9 +140,9 @@ attributes #0 = { nounwind ssp uwtable }<br class=""> !32 = !DISubroutineType(types: !33)<br class=""> !33 = !{null}<br class=""> !34 = !{!35, !36, !37}<br class="">-!35 = !DIGlobalVariable(name: "a", line: 37, isLocal: false, isDefinition: true, scope: null, file: !31, type: !4)<br class="">-!36 = !DIGlobalVariable(name: "b", line: 38, isLocal: false, isDefinition: true, scope: null, file: !31, type: !12)<br class="">-!37 = !DIGlobalVariable(name: "u", line: 39, isLocal: false, isDefinition: true, scope: null, file: !31, type: !22)<br class="">+!35 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 37, isLocal: false, isDefinition: true, scope: null, file: !31, type: !4))<br class="">+!36 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", line: 38, isLocal: false, isDefinition: true, scope: null, file: !31, type: !12))<br class="">+!37 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "u", line: 39, isLocal: false, isDefinition: true, scope: null, file: !31, type: !22))<br class=""> !38 = !{i32 2, !"Dwarf Version", i32 2}<br class=""> !39 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !40 = !{!"clang version 3.6.0 "}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/debug-info-packed-struct.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/debug-info-packed-struct.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/debug-info-packed-struct.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/debug-info-packed-struct.ll Mon Dec 19 20:09:43 2016<br class="">@@ -152,7 +152,7 @@ target triple = "x86_64-apple-darwin"<br class=""> !1 = !DIFile(filename: "/llvm/tools/clang/test/CodeGen/<stdin>", directory: "/llvm/_build.ninja.release")<br class=""> !2 = !{}<br class=""> !3 = !{!4, !18, !25, !35}<br class="">-!4 = !DIGlobalVariable(name: "l0", scope: !0, file: !5, line: 88, type: !6, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "l0", scope: !0, file: !5, line: 88, type: !6, isLocal: false, isDefinition: true))<br class=""> !5 = !DIFile(filename: "/llvm/tools/clang/test/CodeGen/debug-info-packed-struct.c", directory: "/llvm/_build.ninja.release")<br class=""> !6 = !DICompositeType(tag: DW_TAG_structure_type, name: "layout0", file: !5, line: 15, size: 192, elements: !7)<br class=""> !7 = !{!8, !10, !17}<br class="">@@ -166,14 +166,14 @@ target triple = "x86_64-apple-darwin"<br class=""> !15 = !DIDerivedType(tag: DW_TAG_member, name: "l", scope: !11, file: !5, line: 13, baseType: !16, size: 60, offset: 4)<br class=""> !16 = !DIBasicType(name: "long long int", size: 64, encoding: DW_ATE_signed)<br class=""> !17 = !DIDerivedType(tag: DW_TAG_member, name: "l0_ofs16", scope: !6, file: !5, line: 18, baseType: !14, size: 1, offset: 128)<br class="">-!18 = !DIGlobalVariable(name: "l1", scope: !0, file: !5, line: 89, type: !19, isLocal: false, isDefinition: true)<br class="">+!18 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "l1", scope: !0, file: !5, line: 89, type: !19, isLocal: false, isDefinition: true))<br class=""> !19 = !DICompositeType(tag: DW_TAG_structure_type, name: "layout1", file: !5, line: 34, size: 96, elements: !20)<br class=""> !20 = !{!21, !22, !24}<br class=""> !21 = !DIDerivedType(tag: DW_TAG_member, name: "l1_ofs0", scope: !19, file: !5, line: 35, baseType: !9, size: 8)<br class=""> !22 = !DIDerivedType(tag: DW_TAG_member, name: "l1_ofs1", scope: !19, file: !5, line: 36, baseType: !23, size: 64, offset: 8)<br class=""> !23 = !DICompositeType(tag: DW_TAG_structure_type, name: "size8_anon", file: !5, line: 30, size: 64, elements: !2)<br class=""> !24 = !DIDerivedType(tag: DW_TAG_member, name: "l1_ofs9", scope: !19, file: !5, line: 37, baseType: !14, size: 1, offset: 72)<br class="">-!25 = !DIGlobalVariable(name: "l2", scope: !0, file: !5, line: 90, type: !26, isLocal: false, isDefinition: true)<br class="">+!25 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "l2", scope: !0, file: !5, line: 90, type: !26, isLocal: false, isDefinition: true))<br class=""> !26 = !DICompositeType(tag: DW_TAG_structure_type, name: "layout2", file: !5, line: 54, size: 80, elements: !27)<br class=""> !27 = !{!28, !29, !34}<br class=""> !28 = !DIDerivedType(tag: DW_TAG_member, name: "l2_ofs0", scope: !26, file: !5, line: 55, baseType: !9, size: 8)<br class="">@@ -183,7 +183,7 @@ target triple = "x86_64-apple-darwin"<br class=""> !32 = !DIDerivedType(tag: DW_TAG_member, name: "i", scope: !30, file: !5, line: 51, baseType: !14, size: 4)<br class=""> !33 = !DIDerivedType(tag: DW_TAG_member, name: "l", scope: !30, file: !5, line: 52, baseType: !16, size: 60, offset: 4)<br class=""> !34 = !DIDerivedType(tag: DW_TAG_member, name: "l2_ofs9", scope: !26, file: !5, line: 57, baseType: !14, size: 1, offset: 72)<br class="">-!35 = !DIGlobalVariable(name: "l3", scope: !0, file: !5, line: 91, type: !36, isLocal: false, isDefinition: true)<br class="">+!35 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "l3", scope: !0, file: !5, line: 91, type: !36, isLocal: false, isDefinition: true))<br class=""> !36 = !DICompositeType(tag: DW_TAG_structure_type, name: "layout3", file: !5, line: 76, size: 128, elements: !37)<br class=""> !37 = !{!38, !39, !44}<br class=""> !38 = !DIDerivedType(tag: DW_TAG_member, name: "l3_ofs0", scope: !36, file: !5, line: 77, baseType: !9, size: 8)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/debug-info-static-member.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/debug-info-static-member.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/debug-info-static-member.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/debug-info-static-member.ll Mon Dec 19 20:09:43 2016<br class="">@@ -67,7 +67,7 @@ declare void @llvm.dbg.declare(metadata,<br class=""> !8 = !{!9}<br class=""> !9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !10 = !{!12, !27, !28}<br class="">-!12 = !DIGlobalVariable(name: "a", linkageName: "_ZN1C1aE", line: 14, isLocal: false, isDefinition: true, scope: null, file: !6, type: !9, declaration: !15)<br class="">+!12 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", linkageName: "_ZN1C1aE", line: 14, isLocal: false, isDefinition: true, scope: null, file: !6, type: !9, declaration: !15))<br class=""> !13 = !DICompositeType(tag: DW_TAG_class_type, name: "C", line: 1, size: 32, align: 32, file: !33, elements: !14)<br class=""> !14 = !{!15, !16, !19, !20, !23, !24, !26}<br class=""> !15 = !DIDerivedType(tag: DW_TAG_member, name: "a", line: 3, flags: DIFlagPrivate | DIFlagStaticMember, file: !33, scope: !13, baseType: !9)<br class="">@@ -82,8 +82,8 @@ declare void @llvm.dbg.declare(metadata,<br class=""> !24 = !DIDerivedType(tag: DW_TAG_member, name: "const_c", line: 10, flags: DIFlagPublic | DIFlagStaticMember, file: !33, scope: !13, baseType: !25, extraData: i32 18)<br class=""> !25 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !9)<br class=""> !26 = !DIDerivedType(tag: DW_TAG_member, name: "d", line: 11, size: 32, align: 32, flags: DIFlagPublic, file: !33, scope: !13, baseType: !9)<br class="">-!27 = !DIGlobalVariable(name: "b", linkageName: "_ZN1C1bE", line: 15, isLocal: false, isDefinition: true, scope: null, file: !6, type: !9, declaration: !19)<br class="">-!28 = !DIGlobalVariable(name: "c", linkageName: "_ZN1C1cE", line: 16, isLocal: false, isDefinition: true, scope: null, file: !6, type: !9, declaration: !23)<br class="">+!27 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", linkageName: "_ZN1C1bE", line: 15, isLocal: false, isDefinition: true, scope: null, file: !6, type: !9, declaration: !19))<br class="">+!28 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c", linkageName: "_ZN1C1cE", line: 16, isLocal: false, isDefinition: true, scope: null, file: !6, type: !9, declaration: !23))<br class=""> !29 = !DILocalVariable(name: "instance_C", line: 20, scope: !5, file: !6, type: !13)<br class=""> !30 = !DILocation(line: 20, scope: !5)<br class=""> !31 = !DILocation(line: 21, scope: !5)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/debug-loc-frame.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/debug-loc-frame.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/debug-loc-frame.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/debug-loc-frame.ll Mon Dec 19 20:09:43 2016<br class="">@@ -83,11 +83,11 @@ declare void @llvm.dbg.value(metadata, i<br class=""> !1 = !DIFile(filename: "frame.c", directory: "/home/user/test")<br class=""> !2 = !{}<br class=""> !3 = !{!4, !6, !7, !8}<br class="">-!4 = distinct !DIGlobalVariable(name: "data", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "data", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class="">-!6 = distinct !DIGlobalVariable(name: "sum", scope: !0, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true)<br class="">-!7 = distinct !DIGlobalVariable(name: "zero", scope: !0, file: !1, line: 3, type: !5, isLocal: false, isDefinition: true)<br class="">-!8 = distinct !DIGlobalVariable(name: "ptr", scope: !0, file: !1, line: 4, type: !9, isLocal: false, isDefinition: true)<br class="">+!6 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "sum", scope: !0, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true))<br class="">+!7 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zero", scope: !0, file: !1, line: 3, type: !5, isLocal: false, isDefinition: true))<br class="">+!8 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ptr", scope: !0, file: !1, line: 4, type: !9, isLocal: false, isDefinition: true))<br class=""> !9 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !5, size: 64, align: 64)<br class=""> !10 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !11 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/debugger-tune.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/debugger-tune.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/debugger-tune.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/debugger-tune.ll Mon Dec 19 20:09:43 2016<br class="">@@ -37,7 +37,7 @@<br class=""> !1 = !DIFile(filename: "debugger-tune.cpp", directory: "/home/probinson/projects/scratch")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "globalvar", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "globalvar", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !6 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !7 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/decl-derived-member.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/decl-derived-member.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/decl-derived-member.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/decl-derived-member.ll Mon Dec 19 20:09:43 2016<br class="">@@ -128,7 +128,7 @@ attributes #4 = { "less-precise-fpmad"="<br class=""> !26 = distinct !DISubprogram(name: "", linkageName: "_GLOBAL__sub_I_decl_derived_member.cpp", isLocal: true, isDefinition: true, flags: DIFlagArtificial, isOptimized: false, unit: !0, file: !1, scope: !11, type: !27, variables: !2)<br class=""> !27 = !DISubroutineType(types: !2)<br class=""> !28 = !{!29}<br class="">-!29 = !DIGlobalVariable(name: "f", line: 8, isLocal: false, isDefinition: true, scope: null, file: !11, type: !4)<br class="">+!29 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "f", line: 8, isLocal: false, isDefinition: true, scope: null, file: !11, type: !4))<br class=""> !30 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !31 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !32 = !{!"clang version 3.7.0 (trunk 227104) (llvm/trunk 227103)"}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/dllimport.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dllimport.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/dllimport.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/dllimport.ll Mon Dec 19 20:09:43 2016<br class="">@@ -14,7 +14,7 @@ target triple = "i686-pc-windows-msvc"<br class=""> !1 = !DIFile(filename: "/usr/local/google/home/majnemer/Downloads/<stdin>", directory: "/usr/local/google/home/majnemer/llvm/src")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "id", linkageName: "\01?id@?$numpunct@D@@0HA", scope: !0, file: !5, line: 4, type: !6, isLocal: false, isDefinition: true, declaration: !7)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "id", linkageName: "\01?id@?$numpunct@D@@0HA", scope: !0, file: !5, line: 4, type: !6, isLocal: false, isDefinition: true, declaration: !7))<br class=""> !5 = !DIFile(filename: "/usr/local/google/home/majnemer/Downloads/t.ii", directory: "/usr/local/google/home/majnemer/llvm/src")<br class=""> !6 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !7 = !DIDerivedType(tag: DW_TAG_member, name: "id", scope: !8, file: !5, line: 2, baseType: !6, flags: DIFlagStaticMember)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/dwarf-aranges-no-dwarf-labels.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dwarf-aranges-no-dwarf-labels.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/dwarf-aranges-no-dwarf-labels.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/dwarf-aranges-no-dwarf-labels.ll Mon Dec 19 20:09:43 2016<br class="">@@ -77,7 +77,7 @@ attributes #2 = { nounwind readnone }<br class=""> !15 = !DISubroutineType(types: !16)<br class=""> !16 = !{!8}<br class=""> !17 = !{!18}<br class="">-!18 = !DIGlobalVariable(name: "global", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8)<br class="">+!18 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "global", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8))<br class=""> !19 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !20 = !DILocation(line: 2, scope: !4)<br class=""> !21 = !DILocation(line: 3, scope: !11)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/dwarf-aranges.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dwarf-aranges.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/dwarf-aranges.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/dwarf-aranges.ll Mon Dec 19 20:09:43 2016<br class="">@@ -70,10 +70,10 @@ entry:<br class=""> !6 = !DISubroutineType(types: !7)<br class=""> !7 = !{null}<br class=""> !8 = !{!9, !11, !12}<br class="">-!9 = !DIGlobalVariable(name: "some_data", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !10)<br class="">+!9 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "some_data", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !10))<br class=""> !10 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class="">-!11 = !DIGlobalVariable(name: "some_other", line: 3, isLocal: false, isDefinition: true, scope: null, file: !5, type: !10)<br class="">-!12 = !DIGlobalVariable(name: "some_bss", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !10)<br class="">+!11 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "some_other", line: 3, isLocal: false, isDefinition: true, scope: null, file: !5, type: !10))<br class="">+!12 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "some_bss", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !10))<br class=""> !13 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !14 = !DILocation(line: 7, scope: !4)<br class=""> !15 = !DILocation(line: 8, scope: !4)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/dwarf-linkage-names.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dwarf-linkage-names.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/dwarf-linkage-names.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/dwarf-linkage-names.ll Mon Dec 19 20:09:43 2016<br class="">@@ -62,7 +62,7 @@ attributes #0 = { nounwind uwtable "disa<br class=""> !7 = !{!8}<br class=""> !8 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !9 = !{!10}<br class="">-!10 = !DIGlobalVariable(name: "global_var", linkageName: "_ZN4test10global_varE", scope: !5, file: !1, line: 2, type: !8, isLocal: false, isDefinition: true)<br class="">+!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "global_var", linkageName: "_ZN4test10global_varE", scope: !5, file: !1, line: 2, type: !8, isLocal: false, isDefinition: true))<br class=""> !11 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !12 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !13 = !{!"clang version 3.8.0 (trunk 244662)"}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/dwarf-public-names.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dwarf-public-names.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/dwarf-public-names.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/dwarf-public-names.ll Mon Dec 19 20:09:43 2016<br class="">@@ -120,9 +120,9 @@ attributes #1 = { nounwind readnone }<br class=""> !22 = !DISubroutineType(types: !23)<br class=""> !23 = !{null}<br class=""> !24 = !{!25, !26, !27}<br class="">-!25 = !DIGlobalVariable(name: "static_member_variable", linkageName: "_ZN1C22static_member_variableE", line: 7, isLocal: false, isDefinition: true, scope: !8, file: !4, type: !11, declaration: !10)<br class="">-!26 = !DIGlobalVariable(name: "global_variable", line: 17, isLocal: false, isDefinition: true, scope: null, file: !4, type: !8)<br class="">-!27 = !DIGlobalVariable(name: "global_namespace_variable", linkageName: "_ZN2ns25global_namespace_variableE", line: 27, isLocal: false, isDefinition: true, scope: !21, file: !4, type: !11)<br class="">+!25 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "static_member_variable", linkageName: "_ZN1C22static_member_variableE", line: 7, isLocal: false, isDefinition: true, scope: !8, file: !4, type: !11, declaration: !10))<br class="">+!26 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "global_variable", line: 17, isLocal: false, isDefinition: true, scope: null, file: !4, type: !8))<br class="">+!27 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "global_namespace_variable", linkageName: "_ZN2ns25global_namespace_variableE", line: 27, isLocal: false, isDefinition: true, scope: !21, file: !4, type: !11))<br class=""> !28 = !DILocalVariable(name: "this", line: 9, arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !3, file: !4, type: !29)<br class=""> !29 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, baseType: !8)<br class=""> !30 = !DILocation(line: 9, scope: !3)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/empty-array.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/empty-array.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/empty-array.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/empty-array.ll Mon Dec 19 20:09:43 2016<br class="">@@ -30,7 +30,7 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.3 (trunk 169136)", isOptimized: false, emissionKind: FullDebug, file: !20, enums: !1, retainedTypes: !1, globals: !3, imports: !1)<br class=""> !1 = !{}<br class=""> !3 = !{!5}<br class="">-!5 = !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "t.cpp", directory: "/Volumes/Sandbox/llvm")<br class=""> !7 = !DICompositeType(tag: DW_TAG_class_type, name: "A", line: 1, align: 32, file: !20, elements: !8)<br class=""> !8 = !{!9, !14}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/enum-class.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/enum-class.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/enum-class.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/enum-class.ll Mon Dec 19 20:09:43 2016<br class="">@@ -24,9 +24,9 @@<br class=""> !14 = !DIEnumerator(name: "C1", value: 1) ; [ DW_TAG_enumerator ]<br class=""> !15 = !{}<br class=""> !17 = !{!19, !20, !21}<br class="">-!19 = !DIGlobalVariable(name: "a", line: 4, isLocal: false, isDefinition: true, scope: null, file: !4, type: !3)<br class="">-!20 = !DIGlobalVariable(name: "b", line: 5, isLocal: false, isDefinition: true, scope: null, file: !4, type: !8)<br class="">-!21 = !DIGlobalVariable(name: "c", line: 6, isLocal: false, isDefinition: true, scope: null, file: !4, type: !12)<br class="">+!19 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 4, isLocal: false, isDefinition: true, scope: null, file: !4, type: !3))<br class="">+!20 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", line: 5, isLocal: false, isDefinition: true, scope: null, file: !4, type: !8))<br class="">+!21 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c", line: 6, isLocal: false, isDefinition: true, scope: null, file: !4, type: !12))<br class=""> !22 = !DIFile(filename: "foo.cpp", directory: "/Users/echristo/tmp")<br class=""><br class=""> ; CHECK: DW_TAG_enumeration_type [{{.*}}]<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/enum-fwd-decl.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/enum-fwd-decl.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/enum-fwd-decl.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/enum-fwd-decl.ll Mon Dec 19 20:09:43 2016<br class="">@@ -9,7 +9,7 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.2 (trunk 165274) (llvm/trunk 165272)", isOptimized: false, emissionKind: FullDebug, file: !8, enums: !1, retainedTypes: !1, globals: !3, imports: !1)<br class=""> !1 = !{}<br class=""> !3 = !{!5}<br class="">-!5 = !DIGlobalVariable(name: "e", line: 2, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "e", line: 2, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "foo.cpp", directory: "/tmp")<br class=""> !7 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "E", line: 1, size: 16, align: 16, flags: DIFlagFwdDecl, file: !8)<br class=""> !8 = !DIFile(filename: "foo.cpp", directory: "/tmp")<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/externaltyperef.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/externaltyperef.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/externaltyperef.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/externaltyperef.ll Mon Dec 19 20:09:43 2016<br class="">@@ -38,7 +38,7 @@ target triple = "x86_64-apple-macosx10.1<br class=""> !3 = !{!4, !9}<br class=""> !4 = !DICompositeType(tag: DW_TAG_class_type, name: "A", file: !1, flags: DIFlagExternalTypeRef, identifier: "_ZTS1A")<br class=""> !5 = !{!6}<br class="">-!6 = !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 2, type: !7, isLocal: false, isDefinition: true)<br class="">+!6 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 2, type: !7, isLocal: false, isDefinition: true))<br class=""> !7 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !4, size: 64, align: 64)<br class=""> !8 = !DICompositeType(tag: DW_TAG_class_type, name: "B", file: !1, flags: DIFlagExternalTypeRef, identifier: "_ZTS1B")<br class=""> !9 = !DICompositeType(tag: DW_TAG_class_type, name: "A", file: !1, flags: DIFlagExternalTypeRef, identifier: "_ZTSN1N1BE")<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/fission-cu.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/fission-cu.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/fission-cu.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/fission-cu.ll Mon Dec 19 20:09:43 2016<br class="">@@ -11,7 +11,7 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.3 (trunk 169021) (llvm/trunk 169020)", isOptimized: false, splitDebugFilename: "baz.dwo", emissionKind: FullDebug, file: !8, enums: !1, retainedTypes: !1, globals: !3, imports: !1)<br class=""> !1 = !{}<br class=""> !3 = !{!5}<br class="">-!5 = !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "baz.c", directory: "/usr/local/google/home/echristo/tmp")<br class=""> !7 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !8 = !DIFile(filename: "baz.c", directory: "/usr/local/google/home/echristo/tmp")<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll Mon Dec 19 20:09:43 2016<br class="">@@ -256,10 +256,10 @@ attributes #1 = { nounwind readnone }<br class=""> !36 = distinct !DISubprogram(name: "", linkageName: "_GLOBAL__I_a", line: 25, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagArtificial, isOptimized: false, unit: !0, scopeLine: 25, file: !1, scope: !23, type: !37, variables: !2)<br class=""> !37 = !DISubroutineType(types: !2)<br class=""> !38 = !{!39, !40, !41, !42}<br class="">-!39 = !DIGlobalVariable(name: "b", line: 3, isLocal: false, isDefinition: true, scope: null, file: !23, type: !4)<br class="">-!40 = !DIGlobalVariable(name: "animal", linkageName: "_ZN7echidna8capybara8mongoose6animalE", line: 18, isLocal: false, isDefinition: true, scope: !7, file: !23, type: !6)<br class="">-!41 = !DIGlobalVariable(name: "w", line: 29, isLocal: true, isDefinition: true, scope: null, file: !23, type: !28)<br class="">-!42 = !DIGlobalVariable(name: "wom", line: 38, isLocal: false, isDefinition: true, scope: null, file: !23, type: !14)<br class="">+!39 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", line: 3, isLocal: false, isDefinition: true, scope: null, file: !23, type: !4))<br class="">+!40 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "animal", linkageName: "_ZN7echidna8capybara8mongoose6animalE", line: 18, isLocal: false, isDefinition: true, scope: !7, file: !23, type: !6))<br class="">+!41 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "w", line: 29, isLocal: true, isDefinition: true, scope: null, file: !23, type: !28))<br class="">+!42 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "wom", line: 38, isLocal: false, isDefinition: true, scope: null, file: !23, type: !14))<br class=""> !43 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !44 = !{i32 1, !"Debug Info Version", i32 3}<br class=""> !45 = !{!"clang version 3.5 "}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/gnu-public-names.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/gnu-public-names.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/gnu-public-names.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/gnu-public-names.ll Mon Dec 19 20:09:43 2016<br class="">@@ -331,16 +331,16 @@ attributes #1 = { nounwind readnone }<br class=""> !29 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64, align: 64)<br class=""> !30 = distinct !DISubprogram(name: "f7", linkageName: "_Z2f7v", scope: !1, file: !1, line: 57, type: !13, isLocal: false, isDefinition: true, scopeLine: 57, flags: DIFlagPrototyped, isOptimized: false, unit: !0, variables: !2)<br class=""> !31 = !{!32, !33, !34, !35, !36, !37, !39, !41}<br class="">-!32 = !DIGlobalVariable(name: "static_member_variable", linkageName: "_ZN1C22static_member_variableE", scope: !0, file: !1, line: 7, type: !7, isLocal: false, isDefinition: true, declaration: !6)<br class="">-!33 = !DIGlobalVariable(name: "global_variable", scope: !0, file: !1, line: 17, type: !4, isLocal: false, isDefinition: true)<br class="">-!34 = !DIGlobalVariable(name: "global_namespace_variable", linkageName: "_ZN2ns25global_namespace_variableE", scope: !16, file: !1, line: 27, type: !7, isLocal: false, isDefinition: true)<br class="">-!35 = !DIGlobalVariable(name: "d", linkageName: "_ZN2ns1dE", scope: !16, file: !1, line: 31, type: !15, isLocal: false, isDefinition: true)<br class="">-!36 = !DIGlobalVariable(name: "z", scope: !26, file: !1, line: 41, type: !7, isLocal: true, isDefinition: true)<br class="">-!37 = !DIGlobalVariable(name: "i", linkageName: "_ZN12_GLOBAL__N_11iE", scope: !38, file: !1, line: 37, type: !7, isLocal: true, isDefinition: true)<br class="">+!32 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "static_member_variable", linkageName: "_ZN1C22static_member_variableE", scope: !0, file: !1, line: 7, type: !7, isLocal: false, isDefinition: true, declaration: !6))<br class="">+!33 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "global_variable", scope: !0, file: !1, line: 17, type: !4, isLocal: false, isDefinition: true))<br class="">+!34 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "global_namespace_variable", linkageName: "_ZN2ns25global_namespace_variableE", scope: !16, file: !1, line: 27, type: !7, isLocal: false, isDefinition: true))<br class="">+!35 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "d", linkageName: "_ZN2ns1dE", scope: !16, file: !1, line: 31, type: !15, isLocal: false, isDefinition: true))<br class="">+!36 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "z", scope: !26, file: !1, line: 41, type: !7, isLocal: true, isDefinition: true))<br class="">+!37 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", linkageName: "_ZN12_GLOBAL__N_11iE", scope: !38, file: !1, line: 37, type: !7, isLocal: true, isDefinition: true))<br class=""> !38 = !DINamespace(scope: null, file: !1, line: 36)<br class="">-!39 = !DIGlobalVariable(name: "b", linkageName: "_ZN12_GLOBAL__N_15inner1bE", scope: !40, file: !1, line: 47, type: !7, isLocal: true, isDefinition: true)<br class="">+!39 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", linkageName: "_ZN12_GLOBAL__N_15inner1bE", scope: !40, file: !1, line: 47, type: !7, isLocal: true, isDefinition: true))<br class=""> !40 = !DINamespace(name: "inner", scope: !38, file: !1, line: 46)<br class="">-!41 = !DIGlobalVariable(name: "c", linkageName: "_ZN5outer12_GLOBAL__N_11cE", scope: !42, file: !1, line: 53, type: !7, isLocal: true, isDefinition: true)<br class="">+!41 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c", linkageName: "_ZN5outer12_GLOBAL__N_11cE", scope: !42, file: !1, line: 53, type: !7, isLocal: true, isDefinition: true))<br class=""> !42 = !DINamespace(scope: !43, file: !1, line: 52)<br class=""> !43 = !DINamespace(name: "outer", scope: null, file: !1, line: 51)<br class=""> !44 = !{!45, !47}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/inline-member-function.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/inline-member-function.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/inline-member-function.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/inline-member-function.ll Mon Dec 19 20:09:43 2016<br class="">@@ -82,7 +82,7 @@ attributes #1 = { nounwind readnone }<br class=""> !16 = !{!9}<br class=""> !17 = distinct !DISubprogram(name: "func", linkageName: "_ZN3foo4funcEi", line: 2, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 2, file: !1, scope: !4, type: !7, declaration: !6, variables: !2)<br class=""> !18 = !{!19}<br class="">-!19 = !DIGlobalVariable(name: "i", line: 5, isLocal: false, isDefinition: true, scope: null, file: !14, type: !9)<br class="">+!19 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", line: 5, isLocal: false, isDefinition: true, scope: null, file: !14, type: !9))<br class=""> !20 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !21 = !{i32 1, !"Debug Info Version", i32 3}<br class=""> !22 = !{!"clang version 3.5.0 "}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/inline-namespace.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/inline-namespace.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/inline-namespace.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/inline-namespace.ll Mon Dec 19 20:09:43 2016<br class="">@@ -26,7 +26,7 @@ target triple = "x86_64-apple-macosx10.1<br class=""> !llvm.module.flags = !{!8, !9, !10}<br class=""> !llvm.ident = !{!11}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "i", linkageName: "_ZN6normal7inlined1iE", scope: !1, file: !2, line: 1, type: !4, isLocal: false, isDefinition: true)<br class="">+!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", linkageName: "_ZN6normal7inlined1iE", scope: !1, file: !2, line: 1, type: !4, isLocal: false, isDefinition: true))<br class=""> !1 = !DINamespace(name: "inlined", scope: !3, file: !2, line: 1, exportSymbols: true)<br class=""> !2 = !DIFile(filename: "namespace.cpp", directory: "/")<br class=""> !3 = !DINamespace(name: "normal", scope: null, file: !2, line: 1)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/inlined-indirect-value.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/inlined-indirect-value.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/inlined-indirect-value.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/inlined-indirect-value.ll Mon Dec 19 20:09:43 2016<br class="">@@ -58,9 +58,9 @@ select.end:<br class=""> !7 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !8 = distinct !DISubprogram(name: "f1", scope: !1, file: !1, line: 3, type: !5, isLocal: true, isDefinition: true, scopeLine: 3, isOptimized: true, unit: !0, variables: !2)<br class=""> !9 = !{!10, !12}<br class="">-!10 = !DIGlobalVariable(name: "x", scope: !0, file: !1, line: 1, type: !11, isLocal: false, isDefinition: true)<br class="">+!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", scope: !0, file: !1, line: 1, type: !11, isLocal: false, isDefinition: true))<br class=""> !11 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !7)<br class="">-!12 = !DIGlobalVariable(name: "y", scope: !0, file: !1, line: 2, type: !7, isLocal: false, isDefinition: true)<br class="">+!12 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "y", scope: !0, file: !1, line: 2, type: !7, isLocal: false, isDefinition: true))<br class=""> !13 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !14 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !16 = !DILocation(line: 4, column: 9, scope: !17, inlinedAt: !18)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/isel-cse-line.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/isel-cse-line.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/isel-cse-line.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/isel-cse-line.ll Mon Dec 19 20:09:43 2016<br class="">@@ -73,10 +73,10 @@ declare void @llvm.dbg.declare(metadata,<br class=""> !4 = !DIDerivedType(tag: DW_TAG_typedef, name: "fp_t", file: !1, line: 1, baseType: !5)<br class=""> !5 = !DIBasicType(name: "double", size: 64, align: 64, encoding: DW_ATE_float)<br class=""> !6 = !{!7, !10}<br class="">-!7 = distinct !DIGlobalVariable(name: "glb_start", scope: !0, file: !1, line: 4, type: !8, isLocal: false, isDefinition: true)<br class="">+!7 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "glb_start", scope: !0, file: !1, line: 4, type: !8, isLocal: false, isDefinition: true))<br class=""> !8 = !DIDerivedType(tag: DW_TAG_typedef, name: "int_t", file: !1, line: 2, baseType: !9)<br class=""> !9 = !DIBasicType(name: "long unsigned int", size: 64, align: 64, encoding: DW_ATE_unsigned)<br class="">-!10 = distinct !DIGlobalVariable(name: "glb_end", scope: !0, file: !1, line: 5, type: !8, isLocal: false, isDefinition: true)<br class="">+!10 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "glb_end", scope: !0, file: !1, line: 5, type: !8, isLocal: false, isDefinition: true))<br class=""> !11 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !12 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !13 = !{!"clang version 3.9.0 (trunk 268246)"}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/linkage-name.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/linkage-name.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/linkage-name.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/linkage-name.ll Mon Dec 19 20:09:43 2016<br class="">@@ -39,7 +39,7 @@ declare void @llvm.dbg.declare(metadata,<br class=""> !12 = !{!13}<br class=""> !13 = !DISubprogram(name: "a", linkageName: "_ZN1A1aEi", line: 2, isLocal: false, isDefinition: false, virtualIndex: 6, flags: DIFlagPrivate | DIFlagPrototyped, isOptimized: false, file: !6, scope: !11, type: !7)<br class=""> !18 = !{!20}<br class="">-!20 = !DIGlobalVariable(name: "a", line: 9, isLocal: false, isDefinition: true, scope: null, file: !6, type: !11)<br class="">+!20 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 9, isLocal: false, isDefinition: true, scope: null, file: !6, type: !11))<br class=""> !21 = !DILocalVariable(name: "this", line: 5, arg: 1, flags: DIFlagArtificial, scope: !5, file: !6, type: !22)<br class=""> !22 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !11)<br class=""> !23 = !DILocation(line: 5, column: 8, scope: !5)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/live-debug-values.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/live-debug-values.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/live-debug-values.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/live-debug-values.ll Mon Dec 19 20:09:43 2016<br class="">@@ -119,7 +119,7 @@ attributes #4 = { nounwind }<br class=""> !13 = !DILocalVariable(name: "argv", arg: 2, scope: !4, file: !1, line: 6, type: !8)<br class=""> !14 = !DILocalVariable(name: "n", scope: !4, file: !1, line: 7, type: !7)<br class=""> !15 = !{!16}<br class="">-!16 = !DIGlobalVariable(name: "m", scope: !0, file: !1, line: 2, type: !7, isLocal: false, isDefinition: true)<br class="">+!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "m", scope: !0, file: !1, line: 2, type: !7, isLocal: false, isDefinition: true))<br class=""> !17 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !18 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !19 = !{!"clang version 3.8.0 (trunk 253049) "}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/memberfnptr.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/memberfnptr.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/memberfnptr.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/memberfnptr.ll Mon Dec 19 20:09:43 2016<br class="">@@ -35,7 +35,7 @@ declare void @_ZN1A3fooEv(%struct.A*)<br class=""> !8 = !{null, !9}<br class=""> !9 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer, baseType: !4)<br class=""> !10 = !{!11}<br class="">-!11 = !DIGlobalVariable(name: "p", line: 5, isLocal: false, isDefinition: true, scope: null, file: !12, type: !13)<br class="">+!11 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "p", line: 5, isLocal: false, isDefinition: true, scope: null, file: !12, type: !13))<br class=""> !12 = !DIFile(filename: "memberfnptr.cpp", directory: "")<br class=""> !13 = !DIDerivedType(tag: DW_TAG_ptr_to_member_type, size: 64, baseType: !7, extraData: !4)<br class=""> !14 = !{i32 2, !"Dwarf Version", i32 2}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/misched-dbg-value.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/misched-dbg-value.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/misched-dbg-value.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/misched-dbg-value.ll Mon Dec 19 20:09:43 2016<br class="">@@ -132,23 +132,23 @@ attributes #1 = { nounwind readnone }<br class=""> !27 = !DILocalVariable(name: "IntLoc", line: 186, scope: !12, file: !3, type: !21)<br class=""> !28 = !DILocalVariable(name: "IntIndex", line: 187, scope: !12, file: !3, type: !21)<br class=""> !29 = !{!30, !35, !36, !38, !39, !40, !42, !46, !63}<br class="">-!30 = !DIGlobalVariable(name: "Version", line: 111, isLocal: false, isDefinition: true, scope: null, file: !3, type: !31)<br class="">+!30 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "Version", line: 111, isLocal: false, isDefinition: true, scope: null, file: !3, type: !31))<br class=""> !31 = !DICompositeType(tag: DW_TAG_array_type, size: 32, align: 8, baseType: !32, elements: !33)<br class=""> !32 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)<br class=""> !33 = !{!34}<br class=""> !34 = !DISubrange(count: 4)<br class="">-!35 = !DIGlobalVariable(name: "IntGlob", line: 171, isLocal: false, isDefinition: true, scope: null, file: !3, type: !16)<br class="">-!36 = !DIGlobalVariable(name: "BoolGlob", line: 172, isLocal: false, isDefinition: true, scope: null, file: !3, type: !37)<br class="">+!35 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "IntGlob", line: 171, isLocal: false, isDefinition: true, scope: null, file: !3, type: !16))<br class="">+!36 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "BoolGlob", line: 172, isLocal: false, isDefinition: true, scope: null, file: !3, type: !37))<br class=""> !37 = !DIDerivedType(tag: DW_TAG_typedef, name: "boolean", line: 149, file: !82, baseType: !16)<br class="">-!38 = !DIGlobalVariable(name: "Char1Glob", line: 173, isLocal: false, isDefinition: true, scope: null, file: !3, type: !32)<br class="">-!39 = !DIGlobalVariable(name: "Char2Glob", line: 174, isLocal: false, isDefinition: true, scope: null, file: !3, type: !32)<br class="">-!40 = !DIGlobalVariable(name: "Array1Glob", line: 175, isLocal: false, isDefinition: true, scope: null, file: !3, type: !41)<br class="">+!38 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "Char1Glob", line: 173, isLocal: false, isDefinition: true, scope: null, file: !3, type: !32))<br class="">+!39 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "Char2Glob", line: 174, isLocal: false, isDefinition: true, scope: null, file: !3, type: !32))<br class="">+!40 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "Array1Glob", line: 175, isLocal: false, isDefinition: true, scope: null, file: !3, type: !41))<br class=""> !41 = !DIDerivedType(tag: DW_TAG_typedef, name: "Array1Dim", line: 135, file: !82, baseType: !18)<br class="">-!42 = !DIGlobalVariable(name: "Array2Glob", line: 176, isLocal: false, isDefinition: true, scope: null, file: !3, type: !43)<br class="">+!42 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "Array2Glob", line: 176, isLocal: false, isDefinition: true, scope: null, file: !3, type: !43))<br class=""> !43 = !DIDerivedType(tag: DW_TAG_typedef, name: "Array2Dim", line: 136, file: !82, baseType: !44)<br class=""> !44 = !DICompositeType(tag: DW_TAG_array_type, size: 83232, align: 32, baseType: !16, elements: !45)<br class=""> !45 = !{!20, !20}<br class="">-!46 = !DIGlobalVariable(name: "PtrGlb", line: 177, isLocal: false, isDefinition: true, scope: null, file: !3, type: !47)<br class="">+!46 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "PtrGlb", line: 177, isLocal: false, isDefinition: true, scope: null, file: !3, type: !47))<br class=""> !47 = !DIDerivedType(tag: DW_TAG_typedef, name: "RecordPtr", line: 148, file: !82, baseType: !48)<br class=""> !48 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !49)<br class=""> !49 = !DIDerivedType(tag: DW_TAG_typedef, name: "RecordType", line: 147, file: !82, baseType: !50)<br class="">@@ -165,7 +165,7 @@ attributes #1 = { nounwind readnone }<br class=""> !60 = !DICompositeType(tag: DW_TAG_array_type, size: 248, align: 8, baseType: !32, elements: !61)<br class=""> !61 = !{!62}<br class=""> !62 = !DISubrange(count: 31)<br class="">-!63 = !DIGlobalVariable(name: "PtrGlbNext", line: 178, isLocal: false, isDefinition: true, scope: null, file: !3, type: !47)<br class="">+!63 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "PtrGlbNext", line: 178, isLocal: false, isDefinition: true, scope: null, file: !3, type: !47))<br class=""> !64 = !DILocation(line: 181, scope: !12)<br class=""> !65 = !DILocation(line: 182, scope: !12)<br class=""> !66 = !DILocation(line: 183, scope: !12)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/multiple-aranges.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/multiple-aranges.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/multiple-aranges.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/multiple-aranges.ll Mon Dec 19 20:09:43 2016<br class="">@@ -48,13 +48,13 @@ target triple = "x86_64-unknown-linux-gn<br class=""> !1 = !DIFile(filename: "test1.c", directory: "/home/kayamon")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = !DIGlobalVariable(name: "kittens", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "kittens", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6))<br class=""> !5 = !DIFile(filename: "test1.c", directory: "/home/kayamon")<br class=""> !6 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !7 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.4 ", isOptimized: false, emissionKind: FullDebug, file: !8, enums: !2, retainedTypes: !2, globals: !9, imports: !2)<br class=""> !8 = !DIFile(filename: "test2.c", directory: "/home/kayamon")<br class=""> !9 = !{!10}<br class="">-!10 = !DIGlobalVariable(name: "rainbows", line: 1, isLocal: false, isDefinition: true, scope: null, file: !11, type: !6)<br class="">+!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "rainbows", line: 1, isLocal: false, isDefinition: true, scope: null, file: !11, type: !6))<br class=""> !11 = !DIFile(filename: "test2.c", directory: "/home/kayamon")<br class=""> !12 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !13 = !{i32 1, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/multiple-at-const-val.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/multiple-at-const-val.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/multiple-at-const-val.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/multiple-at-const-val.ll Mon Dec 19 20:09:43 2016<br class="">@@ -56,7 +56,8 @@ declare void @llvm.dbg.value(metadata, i<br class=""> !960 = distinct !DISubprogram(name: "main", line: 73, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 73, file: !1802, scope: null, type: !54, variables: !955)<br class=""> !961 = !DIFile(filename: "student2.cpp", directory: "/privite/tmp")<br class=""> !1786 = !{!1800}<br class="">-!1800 = !DIGlobalVariable(name: "badbit", linkageName: "badbit", line: 331, isLocal: true, isDefinition: true, scope: !5, file: !5, type: !78, expr: !DIExpression(DW_OP_constu, 1, DW_OP_stack_value), declaration: !77)<br class="">+!1800 = !DIGlobalVariableExpression(var: !1804, expr: !DIExpression(DW_OP_constu, 1, DW_OP_stack_value))<br class=""> !1801 = !DIFile(filename: "os_base.h", directory: "/privite/tmp")<br class=""> !1802 = !DIFile(filename: "student2.cpp", directory: "/privite/tmp")<br class=""> !1803 = !{i32 1, !"Debug Info Version", i32 3}<br class="">+!1804 = distinct !DIGlobalVariable(name: "badbit", linkageName: "badbit", line: 331, isLocal: true, isDefinition: true, scope: !5, file: !5, type: !78, declaration: !77)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/nondefault-subrange-array.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/nondefault-subrange-array.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/nondefault-subrange-array.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/nondefault-subrange-array.ll Mon Dec 19 20:09:43 2016<br class="">@@ -33,7 +33,7 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.3 (trunk 169136)", isOptimized: false, emissionKind: FullDebug, file: !20, enums: !1, retainedTypes: !1, globals: !3, imports: !1)<br class=""> !1 = !{}<br class=""> !3 = !{!5}<br class="">-!5 = !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "t.cpp", directory: "/Volumes/Sandbox/llvm")<br class=""> !7 = !DICompositeType(tag: DW_TAG_class_type, name: "A", line: 1, align: 32, file: !20, elements: !8)<br class=""> !8 = !{!9, !14}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/objc-fwd-decl.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/objc-fwd-decl.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/objc-fwd-decl.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/objc-fwd-decl.ll Mon Dec 19 20:09:43 2016<br class="">@@ -15,7 +15,7 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_ObjC, producer: "clang version 3.1 (trunk 152054 trunk 152094)", isOptimized: false, runtimeVersion: 2, emissionKind: FullDebug, file: !13, enums: !1, retainedTypes: !1, globals: !3, imports: !1)<br class=""> !1 = !{}<br class=""> !3 = !{!5}<br class="">-!5 = !DIGlobalVariable(name: "a", line: 3, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 3, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "foo.m", directory: "/Users/echristo")<br class=""> !7 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !8)<br class=""> !8 = !DICompositeType(tag: DW_TAG_structure_type, name: "FooBarBaz", line: 1, flags: DIFlagFwdDecl, runtimeLang: DW_LANG_ObjC, file: !13)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/pointer-type-size.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/pointer-type-size.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/pointer-type-size.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/pointer-type-size.ll Mon Dec 19 20:09:43 2016<br class="">@@ -14,7 +14,7 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.1 (trunk 147882)", isOptimized: false, emissionKind: FullDebug, file: !13, enums: !1, retainedTypes: !1, globals: !3, imports: !1)<br class=""> !1 = !{}<br class=""> !3 = !{!5}<br class="">-!5 = !DIGlobalVariable(name: "crass", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "crass", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "foo.c", directory: "/Users/echristo/tmp")<br class=""> !7 = !DICompositeType(tag: DW_TAG_structure_type, name: "crass", line: 1, size: 64, align: 64, file: !13, elements: !8)<br class=""> !8 = !{!9}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/pr12831.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/pr12831.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/pr12831.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/pr12831.ll Mon Dec 19 20:09:43 2016<br class="">@@ -174,7 +174,7 @@ entry:<br class=""> !126 = distinct !DISubprogram(name: "function<BPLFunctionWriter::<lambda at BPLFunctionWriter2.ii:20:36> >", linkageName: "_ZN8functionIFvvEEC2IZN17BPLFunctionWriter9writeExprEvE3$_0EET_", line: 8, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 8, file: !6, scope: null, type: !23, templateParams: !47, declaration: !22, variables: !1)<br class=""> !127 = distinct !DISubprogram(name: "_M_not_empty_function<BPLFunctionWriter::<lambda at BPLFunctionWriter2.ii:20:36> >", linkageName: "_ZN13_Base_manager21_M_not_empty_functionIZN17BPLFunctionWriter9writeExprEvE3$_0EEvRKT_", line: 3, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 3, file: !6, scope: null, type: !117, templateParams: !120, declaration: !116, variables: !1)<br class=""> !128 = !{!130}<br class="">-!130 = !DIGlobalVariable(name: "__stored_locally", linkageName: "__stored_locally", line: 2, isLocal: true, isDefinition: true, scope: !114, file: !6, type: !131, expr: !DIExpression(DW_OP_constu, 1, DW_OP_stack_value))<br class="">+!130 = !DIGlobalVariableExpression(var: !163, expr: !DIExpression(DW_OP_constu, 1, DW_OP_stack_value))<br class=""> !131 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !132)<br class=""> !132 = !DIBasicType(tag: DW_TAG_base_type, name: "bool", size: 8, align: 8, encoding: DW_ATE_boolean)<br class=""> !133 = !DILocalVariable(name: "this", line: 19, arg: 1, flags: DIFlagArtificial, scope: !5, file: !6, type: !134)<br class="">@@ -207,3 +207,4 @@ entry:<br class=""> !160 = !DIFile(filename: "BPLFunctionWriter2.ii", directory: "/home/peter/crashdelta")<br class=""> !161 = !DIFile(filename: "BPLFunctionWriter.cpp", directory: "/home/peter/crashdelta")<br class=""> !162 = !{i32 1, !"Debug Info Version", i32 3}<br class="">+!163 = distinct !DIGlobalVariable(name: "__stored_locally", linkageName: "__stored_locally", line: 2, isLocal: true, isDefinition: true, scope: !114, file: !6, type: !131)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/ref_addr_relocation.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/ref_addr_relocation.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/ref_addr_relocation.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/ref_addr_relocation.ll Mon Dec 19 20:09:43 2016<br class="">@@ -65,12 +65,12 @@<br class=""> !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", line: 1, size: 8, align: 8, file: !5, elements: !2, identifier: "_ZTS3foo")<br class=""> !5 = !DIFile(filename: "./hdr.h", directory: "/Users/manmanren/test-Nov/type_unique_air/ref_addr")<br class=""> !6 = !{!7}<br class="">-!7 = !DIGlobalVariable(name: "f", line: 2, isLocal: false, isDefinition: true, scope: null, file: !8, type: !4)<br class="">+!7 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "f", line: 2, isLocal: false, isDefinition: true, scope: null, file: !8, type: !4))<br class=""> !8 = !DIFile(filename: "tu1.cpp", directory: "/Users/manmanren/test-Nov/type_unique_air/ref_addr")<br class=""> !9 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.4 (trunk 191799)", isOptimized: false, emissionKind: FullDebug, file: !10, enums: !2, retainedTypes: !3, globals: !11, imports: !2)<br class=""> !10 = !DIFile(filename: "tu2.cpp", directory: "/Users/manmanren/test-Nov/type_unique_air/ref_addr")<br class=""> !11 = !{!12}<br class="">-!12 = !DIGlobalVariable(name: "g", line: 2, isLocal: false, isDefinition: true, scope: null, file: !13, type: !4)<br class="">+!12 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "g", line: 2, isLocal: false, isDefinition: true, scope: null, file: !13, type: !4))<br class=""> !13 = !DIFile(filename: "tu2.cpp", directory: "/Users/manmanren/test-Nov/type_unique_air/ref_addr")<br class=""> !14 = !{i32 2, !"Dwarf Version", i32 2}<br class=""> !15 = !{i32 1, !"Debug Info Version", i32 3}<br class=""><br class="">Added: llvm/trunk/test/DebugInfo/X86/split-global.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/split-global.ll?rev=290153&view=auto<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/split-global.ll (added)<br class="">+++ llvm/trunk/test/DebugInfo/X86/split-global.ll Mon Dec 19 20:09:43 2016<br class="">@@ -0,0 +1,60 @@<br class="">+; RUN: llc -mtriple=x86_64-apple-darwin %s -o - -filetype=obj | \<br class="">+; RUN: llvm-dwarfdump --debug-dump=info - | FileCheck %s<br class="">+;<br class="">+; Test emitting debug info for fragmented global values.<br class="">+; This is a handcrafted example of an SROAed global variable.<br class="">+target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"<br class="">+target triple = "x86_64-apple-macosx10.12.0"<br class="">+<br class="">+%struct.anon = type { i32, i32 }<br class="">+<br class="">+; CHECK: DW_TAG_variable<br class="">+; CHECK-NEXT: DW_AT_name {{.*}}"point"<br class="">+; CHECK-NOT: DW_TAG<br class="">+; CHECK: DW_AT_location [DW_FORM_exprloc]<span class="Apple-tab-span" style="white-space:pre"> </span>(<0x16> 03 04 00 00 00 00 00 00 00 93 04 03 00 00 00 00 00 00 00 00 93 04 )<br class="">+; [0x0000000000000004], piece 0x00000004, [0x0000000000000000], piece 0x00000004<br class="">+; CHECK-NOT: DW_TAG<br class="">+; CHECK: DW_TAG<br class="">+; CHECK: DW_TAG_variable<br class="">+; CHECK-NEXT: DW_AT_name {{.*}}"part_const"<br class="">+; CHECK-NOT: DW_TAG<br class="">+; CHECK: DW_AT_location [DW_FORM_exprloc]<span class="Apple-tab-span" style="white-space:pre"> </span>(<0x10> 03 08 00 00 00 00 00 00 00 93 04 10 02 9f 93 04 )<br class="">+; [0x0000000000000008], piece 0x00000004, constu 0x00000002, stack-value, piece 0x00000004<br class="">+; CHECK-NOT: DW_TAG<br class="">+; CHECK: DW_TAG_variable<br class="">+; CHECK-NEXT: DW_AT_name {{.*}}"full_const"<br class="">+; CHECK-NOT: DW_TAG<br class="">+; CHECK: DW_AT_location [DW_FORM_exprloc]<span class="Apple-tab-span" style="white-space:pre"> </span>(<0xa> 10 01 9f 93 04 10 02 9f 93 04 )<br class="">+; constu 0x00000001, stack-value, piece 0x00000004, constu 0x00000002, stack-value, piece 0x00000004<br class="">+; CHECK-NOT: DW_TAG<br class="">+@point.y = global i32 2, align 4, !dbg !13<br class="">+@point.x = global i32 1, align 4, !dbg !12<br class="">+<br class="">+@part_const.x = global i32 1, align 4, !dbg !15<br class="">+<br class="">+!llvm.dbg.cu = !{!1}<br class="">+!llvm.module.flags = !{!10, !11}<br class="">+<br class="">+!0 = distinct !DIGlobalVariable(name: "point", scope: !1, file: !2, line: 1, type: !5, isLocal: false, isDefinition: true)<br class="">+!1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, globals: !4)<br class="">+!2 = !DIFile(filename: "g.c", directory: "/")<br class="">+!3 = !{}<br class="">+!4 = !{!12, !13, !14, !15, !17, !18}<br class="">+!5 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !2, line: 1, size: 64, elements: !6)<br class="">+!6 = !{!7, !9}<br class="">+!7 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !5, file: !2, line: 1, baseType: !8, size: 32)<br class="">+!8 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)<br class="">+!9 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !5, file: !2, line: 1, baseType: !8, size: 32, offset: 32)<br class="">+!10 = !{i32 2, !"Dwarf Version", i32 4}<br class="">+!11 = !{i32 2, !"Debug Info Version", i32 3}<br class="">+!12 = !DIGlobalVariableExpression(var: !0, expr: !DIExpression(DW_OP_LLVM_fragment, 0, 32))<br class="">+!13 = !DIGlobalVariableExpression(var: !0, expr: !DIExpression(DW_OP_LLVM_fragment, 32, 32))<br class="">+!14 = !DIGlobalVariableExpression(var: !16, expr: !DIExpression(DW_OP_LLVM_fragment, 0, 32))<br class="">+!15 = !DIGlobalVariableExpression(var: !16, expr: !DIExpression(DW_OP_constu, 2,<br class="">+ DW_OP_stack_value, DW_OP_LLVM_fragment, 32, 32))<br class="">+!16 = distinct !DIGlobalVariable(name: "part_const", scope: !1, file: !2, line: 1, type: !5, isLocal: false, isDefinition: true)<br class="">+!17 = !DIGlobalVariableExpression(var: !19, expr: !DIExpression(DW_OP_constu, 1,<br class="">+ DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 32))<br class="">+!18 = !DIGlobalVariableExpression(var: !19, expr: !DIExpression(DW_OP_constu, 2,<br class="">+ DW_OP_stack_value, DW_OP_LLVM_fragment, 32, 32))<br class="">+!19 = distinct !DIGlobalVariable(name: "full_const", scope: !1, file: !2, line: 1, type: !5, isLocal: false, isDefinition: true)<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/stack-value-dwarf4.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/stack-value-dwarf4.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/stack-value-dwarf4.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/stack-value-dwarf4.ll Mon Dec 19 20:09:43 2016<br class="">@@ -25,13 +25,14 @@ target triple = "x86_64-unknown-linux-gn<br class=""><br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang", file: !4, globals: !1, emissionKind: FullDebug)<br class=""> !1 = !{!2}<br class="">-!2 = distinct !DIGlobalVariable(name: "a", scope: null, isLocal: false, isDefinition: true, expr: !3, type: !5)<br class="">+!2 = !DIGlobalVariableExpression(var: !8, expr: !3)<br class=""> !3 = !DIExpression(DW_OP_constu, 4, DW_OP_constu, 4, DW_OP_stack_value)<br class=""> !4 = !DIFile(filename: "<stdin>", directory: "/")<br class=""> !5 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""><br class=""> !6 = !{i32 2, !"Dwarf Version", i32 2}<br class=""> !7 = !{i32 2, !"Debug Info Version", i32 3}<br class="">+!8 = distinct !DIGlobalVariable(name: "a", scope: null, isLocal: false, isDefinition: true, type: !5)<br class=""><br class=""> !llvm.dbg.cu = !{!0}<br class=""> !llvm.module.flags = !{!6, !7}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/static_member_array.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/static_member_array.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/static_member_array.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/static_member_array.ll Mon Dec 19 20:09:43 2016<br class="">@@ -48,12 +48,12 @@ target triple = "x86_64-apple-macosx10.1<br class=""> !llvm.module.flags = !{!17, !18, !19}<br class=""> !llvm.ident = !{!20}<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "fully_specified", linkageName: "_ZN1A15fully_specifiedE", scope: !1, file: !2, line: 7, type: !7, isLocal: false, isDefinition: true, declaration: !13)<br class="">+!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "fully_specified", linkageName: "_ZN1A15fully_specifiedE", scope: !1, file: !2, line: 7, type: !7, isLocal: false, isDefinition: true, declaration: !13))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !2, producer: "clang version 4.0.0 (trunk 286129) (llvm/trunk 286128)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "static_member_array.cpp", directory: "/Volumes/Data/radar/28706946")<br class=""> !3 = !{}<br class=""> !4 = !{!0, !5}<br class="">-!5 = distinct !DIGlobalVariable(name: "smem", linkageName: "_ZN1A4smemE", scope: !1, file: !2, line: 8, type: !6, isLocal: false, isDefinition: true, declaration: !10)<br class="">+!5 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "smem", linkageName: "_ZN1A4smemE", scope: !1, file: !2, line: 8, type: !6, isLocal: false, isDefinition: true, declaration: !10))<br class=""> !6 = !DICompositeType(tag: DW_TAG_array_type, baseType: !7, size: 128, elements: !8)<br class=""> !7 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)<br class=""> !8 = !{!9}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/stringpool.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/stringpool.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/stringpool.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/stringpool.ll Mon Dec 19 20:09:43 2016<br class="">@@ -9,7 +9,7 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.1 (trunk 143009)", isOptimized: true, emissionKind: FullDebug, file: !8, enums: !1, retainedTypes: !1, globals: !3, imports: !1)<br class=""> !1 = !{}<br class=""> !3 = !{!5}<br class="">-!5 = !DIGlobalVariable(name: "yyyy", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yyyy", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "z.c", directory: "/home/nicholas")<br class=""> !7 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !8 = !DIFile(filename: "z.c", directory: "/home/nicholas")<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/struct-loc.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/struct-loc.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/struct-loc.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/struct-loc.ll Mon Dec 19 20:09:43 2016<br class="">@@ -17,7 +17,7 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.1 (trunk 152837) (llvm/trunk 152845)", isOptimized: false, emissionKind: FullDebug, file: !11, enums: !1, retainedTypes: !1, globals: !3, imports: !1)<br class=""> !1 = !{}<br class=""> !3 = !{!5}<br class="">-!5 = !DIGlobalVariable(name: "f", line: 5, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "f", line: 5, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "struct_bug.c", directory: "/Users/echristo/tmp")<br class=""> !7 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", line: 1, size: 32, align: 32, file: !11, elements: !8)<br class=""> !8 = !{!9}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/template.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/template.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/template.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/template.ll Mon Dec 19 20:09:43 2016<br class="">@@ -119,8 +119,8 @@ attributes #0 = { nounwind uwtable "less<br class=""> !28 = distinct !DISubprogram(name: "", linkageName: "_GLOBAL__sub_I_template.cpp", isLocal: true, isDefinition: true, flags: DIFlagArtificial, isOptimized: false, unit: !0, file: !1, scope: !11, type: !29, variables: !2)<br class=""> !29 = !DISubroutineType(types: !2)<br class=""> !30 = !{!31, !32}<br class="">-!31 = !DIGlobalVariable(name: "glbl", line: 3, isLocal: false, isDefinition: true, scope: null, file: !11, type: !7)<br class="">-!32 = !DIGlobalVariable(name: "n", line: 4, isLocal: false, isDefinition: true, scope: null, file: !11, type: !8)<br class="">+!31 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "glbl", line: 3, isLocal: false, isDefinition: true, scope: null, file: !11, type: !7))<br class="">+!32 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "n", line: 4, isLocal: false, isDefinition: true, scope: null, file: !11, type: !8))<br class=""> !33 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !34 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !35 = !{!"clang version 3.6.0 (trunk 224394) (llvm/trunk 224384)"}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/tls.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/tls.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/tls.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/tls.ll Mon Dec 19 20:09:43 2016<br class="">@@ -123,8 +123,8 @@ attributes #0 = { nounwind uwtable "less<br class=""> !10 = !DITemplateValueParameter(tag: DW_TAG_template_value_parameter, name: "I", type: !11, value: i32* @glbl)<br class=""> !11 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !8)<br class=""> !12 = !{!13, !14}<br class="">-!13 = !DIGlobalVariable(name: "tls", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8)<br class="">-!14 = !DIGlobalVariable(name: "glbl", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8)<br class="">+!13 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tls", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8))<br class="">+!14 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "glbl", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8))<br class=""> !15 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !16 = !{i32 1, !"Debug Info Version", i32 3}<br class=""> !17 = !{!"clang version 3.5 "}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/type_units_with_addresses.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/type_units_with_addresses.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/type_units_with_addresses.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/type_units_with_addresses.ll Mon Dec 19 20:09:43 2016<br class="">@@ -140,12 +140,12 @@<br class=""> !25 = !{!26}<br class=""> !26 = !DITemplateValueParameter(tag: DW_TAG_template_value_parameter, name: "T", type: !7, value: i32* @i)<br class=""> !27 = !{!28, !30, !31, !32, !33}<br class="">-!28 = !DIGlobalVariable(name: "i", line: 1, isLocal: false, isDefinition: true, scope: null, file: !29, type: !8)<br class="">+!28 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", line: 1, isLocal: false, isDefinition: true, scope: null, file: !29, type: !8))<br class=""> !29 = !DIFile(filename: "tu.cpp", directory: "/tmp/dbginfo")<br class="">-!30 = !DIGlobalVariable(name: "a", line: 6, isLocal: false, isDefinition: true, scope: null, file: !29, type: !4)<br class="">-!31 = !DIGlobalVariable(name: "s2", line: 15, isLocal: false, isDefinition: true, scope: null, file: !29, type: !9)<br class="">-!32 = !DIGlobalVariable(name: "s3", line: 27, isLocal: false, isDefinition: true, scope: null, file: !29, type: !13)<br class="">-!33 = !DIGlobalVariable(name: "s4", line: 39, isLocal: false, isDefinition: true, scope: null, file: !29, type: !19)<br class="">+!30 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 6, isLocal: false, isDefinition: true, scope: null, file: !29, type: !4))<br class="">+!31 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s2", line: 15, isLocal: false, isDefinition: true, scope: null, file: !29, type: !9))<br class="">+!32 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s3", line: 27, isLocal: false, isDefinition: true, scope: null, file: !29, type: !13))<br class="">+!33 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s4", line: 39, isLocal: false, isDefinition: true, scope: null, file: !29, type: !19))<br class=""> !34 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !35 = !{i32 1, !"Debug Info Version", i32 3}<br class=""> !36 = !{!"clang version 3.5.0 "}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/unattached-global.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/unattached-global.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/unattached-global.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/unattached-global.ll Mon Dec 19 20:09:43 2016<br class="">@@ -1,19 +1,23 @@<br class="">-; RUN: llc -o - %s | FileCheck %s<br class="">+; RUN: %llc_dwarf -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s<br class=""><br class=""> target datalayout = "e-p:64:64"<br class=""> target triple = "x86_64-unknown-linux-gnu"<br class=""><br class="">-; CHECK: .byte 0 # DW_AT_location<br class="">+; CHECK: DW_TAG_variable<br class="">+; CHECK: DW_AT_name {{.*}}"a"<br class="">+; CHECK-NOT: DW_AT_location<br class="">+; CHECK: DW_TAG<br class=""><br class="">-!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang", file: !4, globals: !1, emissionKind: FullDebug)<br class="">+!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang", file: !5, globals: !1, emissionKind: FullDebug)<br class=""> !1 = !{!2}<br class="">-!2 = distinct !DIGlobalVariable(name: "a", scope: null, isLocal: false, isDefinition: true, expr: !3, type: !5)<br class="">-!3 = !DIExpression(DW_OP_plus, 4)<br class="">-!4 = !DIFile(filename: "<stdin>", directory: "/")<br class="">-!5 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class="">+!2 = !DIGlobalVariableExpression(var: !3, expr: !4)<br class="">+!3 = distinct !DIGlobalVariable(name: "a", scope: null, isLocal: false, isDefinition: true, type: !6)<br class="">+!4 = !DIExpression(DW_OP_plus, 4)<br class="">+!5 = !DIFile(filename: "<stdin>", directory: "/")<br class="">+!6 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""><br class="">-!6 = !{i32 2, !"Dwarf Version", i32 2}<br class="">-!7 = !{i32 2, !"Debug Info Version", i32 3}<br class="">+!7 = !{i32 2, !"Dwarf Version", i32 2}<br class="">+!8 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class=""> !llvm.dbg.cu = !{!0}<br class="">-!llvm.module.flags = !{!6, !7}<br class="">+!llvm.module.flags = !{!7, !8}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/union-template.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/union-template.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/union-template.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/union-template.ll Mon Dec 19 20:09:43 2016<br class="">@@ -38,7 +38,7 @@ attributes #1 = { nounwind readnone }<br class=""> !7 = !{null, !8}<br class=""> !8 = !DIBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)<br class=""> !9 = !{!10}<br class="">-!10 = !DIGlobalVariable(name: "f", linkageName: "_ZN7PR156371fE", line: 6, isLocal: false, isDefinition: true, scope: !5, file: !11, type: !12)<br class="">+!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "f", linkageName: "_ZN7PR156371fE", line: 6, isLocal: false, isDefinition: true, scope: !5, file: !11, type: !12))<br class=""> !11 = !DIFile(filename: "foo.cc", directory: "/usr/local/google/home/echristo/tmp")<br class=""> !12 = !DICompositeType(tag: DW_TAG_union_type, name: "Value<float>", line: 2, size: 32, align: 32, file: !1, scope: !5, elements: !13, templateParams: !21)<br class=""> !13 = !{!14, !16}<br class=""><br class="">Modified: llvm/trunk/test/DebugInfo/X86/vector.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/vector.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/DebugInfo/X86/vector.ll (original)<br class="">+++ llvm/trunk/test/DebugInfo/X86/vector.ll Mon Dec 19 20:09:43 2016<br class="">@@ -15,7 +15,7 @@<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.3 (trunk 171825) (llvm/trunk 171822)", isOptimized: false, emissionKind: FullDebug, file: !12, enums: !1, retainedTypes: !1, globals: !3, imports: !1)<br class=""> !1 = !{}<br class=""> !3 = !{!5}<br class="">-!5 = !DIGlobalVariable(name: "a", line: 3, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 3, isLocal: false, isDefinition: true, scope: null, file: !6, type: !7))<br class=""> !6 = !DIFile(filename: "foo.c", directory: "/Users/echristo")<br class=""> !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "v4si", line: 1, file: !12, baseType: !8)<br class=""> !8 = !DICompositeType(tag: DW_TAG_array_type, size: 128, align: 128, flags: DIFlagVector, baseType: !9, elements: !10)<br class=""><br class="">Modified: llvm/trunk/test/Instrumentation/AddressSanitizer/debug-info-global-var.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/AddressSanitizer/debug-info-global-var.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Instrumentation/AddressSanitizer/debug-info-global-var.ll (original)<br class="">+++ llvm/trunk/test/Instrumentation/AddressSanitizer/debug-info-global-var.ll Mon Dec 19 20:09:43 2016<br class="">@@ -10,9 +10,10 @@ target triple = "x86_64-apple-macosx10.1<br class=""> !llvm.module.flags = !{!10, !11, !12}<br class=""> !llvm.ident = !{!13}<br class=""><br class="">-; CHECK: ![[GV]] = distinct !DIGlobalVariable(name: "version"<br class="">-; CHECK-NOT: expr:<br class="">-!0 = distinct !DIGlobalVariable(name: "version", scope: !1, file: !2, line: 2, type: !5, isLocal: false, isDefinition: true)<br class="">+; Should not have an expression:<br class="">+; CHECK: ![[GV]] = !DIGlobalVariableExpression(var: ![[GVAR:.*]])<br class="">+; CHECK: ![[GVAR]] = !DIGlobalVariable(name: "version"<br class="">+!0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "version", scope: !1, file: !2, line: 2, type: !5, isLocal: false, isDefinition: true))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 4.0.0 (trunk 281923) (llvm/trunk 281916)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "version.c", directory: "/Volumes/Fusion/Data/radar/24899262")<br class=""> !3 = !{}<br class=""><br class="">Modified: llvm/trunk/test/LTO/X86/Inputs/type-mapping-src.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/LTO/X86/Inputs/type-mapping-src.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/LTO/X86/Inputs/type-mapping-src.ll (original)<br class="">+++ llvm/trunk/test/LTO/X86/Inputs/type-mapping-src.ll Mon Dec 19 20:09:43 2016<br class="">@@ -9,7 +9,7 @@ target triple = "x86_64-pc-windows-msvc1<br class=""><br class=""> !llvm.dbg.cu = !{!1}<br class=""> !llvm.module.flags = !{!12}<br class="">-!0 = distinct !DIGlobalVariable(name: "bar", linkageName: "bar", scope: !1, file: !2, line: 2, type: !5, isLocal: false, isDefinition: true)<br class="">+!0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "bar", linkageName: "bar", scope: !1, file: !2, line: 2, type: !5, isLocal: false, isDefinition: true))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !2, producer: "", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "b", directory: "/")<br class=""> !3 = !{}<br class=""><br class="">Modified: llvm/trunk/test/LTO/X86/type-mapping-bug.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/LTO/X86/type-mapping-bug.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/LTO/X86/type-mapping-bug.ll (original)<br class="">+++ llvm/trunk/test/LTO/X86/type-mapping-bug.ll Mon Dec 19 20:09:43 2016<br class="">@@ -36,7 +36,7 @@ target triple = "x86_64-pc-windows-msvc1<br class=""> !2 = !DIFile(filename: "a", directory: "/")<br class=""> !3 = !{}<br class=""> !4 = !{!5}<br class="">-!5 = distinct !DIGlobalVariable(name: "foo", linkageName: "foo", scope: !1, file: !2, line: 5, type: !6, isLocal: false, isDefinition: true)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "foo", linkageName: "foo", scope: !1, file: !2, line: 5, type: !6, isLocal: false, isDefinition: true))<br class=""> !6 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !2, line: 5, size: 8, elements: !7, identifier: ".?AUS@@")<br class=""> !7 = !{!8}<br class=""> !8 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !6, baseType: !9)<br class=""><br class="">Modified: llvm/trunk/test/Linker/2011-08-04-Metadata.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Linker/2011-08-04-Metadata.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Linker/2011-08-04-Metadata.ll (original)<br class="">+++ llvm/trunk/test/Linker/2011-08-04-Metadata.ll Mon Dec 19 20:09:43 2016<br class="">@@ -5,10 +5,12 @@<br class=""> ; CHECK: @x = internal global i32 0, align 4, !dbg [[DI1:![0-9]+]]<br class=""> ; CHECK: @x.1 = internal global i32 0, align 4, !dbg [[DI2:![0-9]+]]<br class=""><br class="">-; CHECK: [[DI1]] = !DIGlobalVariable(name: "x",<br class="">-; CHECK-NOT: linkageName:<br class="">-; CHECK: [[DI2]] = !DIGlobalVariable(name: "x",<br class="">-; CHECK-NOT: linkageName:<br class="">+; CHECK: [[DI1]] = !DIGlobalVariableExpression(var: [[V1:.*]])<br class="">+; CHECK: [[V1]] = !DIGlobalVariable(name: "x",<br class="">+; CHECK-NOT: linkageName:<br class="">+; CHECK: [[DI2]] = !DIGlobalVariableExpression(var: [[V2:.*]])<br class="">+; CHECK: [[V2]] = !DIGlobalVariable(name: "x",<br class="">+; CHECK-NOT: linkageName:<br class=""> target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"<br class=""> target triple = "x86_64-apple-macosx10.7.0"<br class=""><br class="">@@ -28,7 +30,7 @@ entry:<br class=""> !2 = !DIFile(filename: "/tmp/one.c", directory: "/Volumes/Lalgate/Slate/D")<br class=""> !3 = !DISubroutineType(types: !4)<br class=""> !4 = !{null}<br class="">-!5 = !DIGlobalVariable(name: "x", line: 2, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !6)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", line: 2, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !6))<br class=""> !6 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !7 = !DILocation(line: 3, column: 14, scope: !8)<br class=""> !8 = distinct !DILexicalBlock(line: 3, column: 12, file: !9, scope: !1)<br class=""><br class="">Modified: llvm/trunk/test/Linker/2011-08-04-Metadata2.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Linker/2011-08-04-Metadata2.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Linker/2011-08-04-Metadata2.ll (original)<br class="">+++ llvm/trunk/test/Linker/2011-08-04-Metadata2.ll Mon Dec 19 20:09:43 2016<br class="">@@ -22,7 +22,7 @@ entry:<br class=""> !2 = !DIFile(filename: "/tmp/two.c", directory: "/Volumes/Lalgate/Slate/D")<br class=""> !3 = !DISubroutineType(types: !4)<br class=""> !4 = !{null}<br class="">-!5 = !DIGlobalVariable(name: "x", line: 1, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !6)<br class="">+!5 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", line: 1, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !6))<br class=""> !6 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !7 = !DILocation(line: 2, column: 14, scope: !8)<br class=""> !8 = distinct !DILexicalBlock(line: 2, column: 12, file: !9, scope: !1)<br class=""><br class="">Modified: llvm/trunk/test/Linker/debug-info-global-var.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Linker/debug-info-global-var.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Linker/debug-info-global-var.ll (original)<br class="">+++ llvm/trunk/test/Linker/debug-info-global-var.ll Mon Dec 19 20:09:43 2016<br class="">@@ -10,8 +10,9 @@ target triple = "x86_64-apple-macosx10.1<br class=""> !llvm.module.flags = !{!6, !7, !8}<br class=""> !llvm.ident = !{!9}<br class=""><br class="">-; CHECK: ![[G]] = distinct !DIGlobalVariable(name: "g"<br class="">-!0 = distinct !DIGlobalVariable(name: "g", scope: !1, file: !2, line: 1, type: !5, isLocal: false, isDefinition: true)<br class="">+; CHECK: ![[G]] = !DIGlobalVariableExpression(var: ![[GVAR:.*]])<br class="">+; CHECK: ![[GVAR]] = distinct !DIGlobalVariable(name: "g"<br class="">+!0 = !DIGlobalVariableExpression(var: !10)<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "debug-info-global-var.c", directory: "/")<br class=""> !3 = !{}<br class="">@@ -21,3 +22,4 @@ target triple = "x86_64-apple-macosx10.1<br class=""> !7 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !8 = !{i32 1, !"PIC Level", i32 2}<br class=""> !9 = !{!"clang version 4.0.0 (trunk 286129) (llvm/trunk 286128)"}<br class="">+!10 = distinct !DIGlobalVariable(name: "g", scope: !1, file: !2, line: 1, type: !5, isLocal: false, isDefinition: true)<br class=""><br class="">Modified: llvm/trunk/test/Linker/odr.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Linker/odr.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Linker/odr.ll (original)<br class="">+++ llvm/trunk/test/Linker/odr.ll Mon Dec 19 20:09:43 2016<br class="">@@ -14,5 +14,5 @@<br class=""> !3 = distinct !DICompositeType(tag: DW_TAG_class_type, scope: !4, file: !1, identifier: "zed")<br class=""> !4 = distinct !DISubprogram(name: "b", scope: null, isLocal: false, isDefinition: true, isOptimized: false, unit: !0)<br class=""> !5 = !{!6}<br class="">-!6 = distinct !DIGlobalVariable(name: "c", scope: null, isLocal: false, isDefinition: true)<br class="">+!6 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c", scope: null, isLocal: false, isDefinition: true))<br class=""> !7 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/Linker/only-needed-debug-metadata.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Linker/only-needed-debug-metadata.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Linker/only-needed-debug-metadata.ll (original)<br class="">+++ llvm/trunk/test/Linker/only-needed-debug-metadata.ll Mon Dec 19 20:09:43 2016<br class="">@@ -38,8 +38,8 @@ define i32 @unused() !dbg !10 {<br class=""> !11 = !DISubroutineType(types: !12)<br class=""> !12 = !{!7}<br class=""> !13 = !{!14, !15}<br class="">-!14 = !DIGlobalVariable(name: "X", scope: !0, file: !1, line: 1, type: !7, isLocal: false, isDefinition: true)<br class="">-!15 = !DIGlobalVariable(name: "U", scope: !0, file: !1, line: 2, type: !7, isLocal: false, isDefinition: true)<br class="">+!14 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "X", scope: !0, file: !1, line: 1, type: !7, isLocal: false, isDefinition: true))<br class="">+!15 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "U", scope: !0, file: !1, line: 2, type: !7, isLocal: false, isDefinition: true))<br class=""> !16 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !17 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !18 = !{!"clang version 3.8.0 (trunk 251407) (llvm/trunk 251401)"}<br class=""><br class="">Modified: llvm/trunk/test/ThinLTO/X86/Inputs/crash_debuginfo.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ThinLTO/X86/Inputs/crash_debuginfo.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/ThinLTO/X86/Inputs/crash_debuginfo.ll (original)<br class="">+++ llvm/trunk/test/ThinLTO/X86/Inputs/crash_debuginfo.ll Mon Dec 19 20:09:43 2016<br class="">@@ -17,7 +17,7 @@ define void @bar(i32 %arg) {<br class=""> !1 = !DIFile(filename: "2.cpp", directory: "some_dir")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "a_global", linkageName: "a_global", scope: null, line: 52, type: !5, isLocal: true, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a_global", linkageName: "a_global", scope: null, line: 52, type: !5, isLocal: true, isDefinition: true))<br class=""> !5 = !DISubroutineType(types: !2)<br class=""> !6 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !7 = distinct !DILocation(line: 728, column: 71, scope: !8, inlinedAt: !14)<br class=""><br class="">Modified: llvm/trunk/test/ThinLTO/X86/crash_debuginfo.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ThinLTO/X86/crash_debuginfo.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/ThinLTO/X86/crash_debuginfo.ll (original)<br class="">+++ llvm/trunk/test/ThinLTO/X86/crash_debuginfo.ll Mon Dec 19 20:09:43 2016<br class="">@@ -29,7 +29,7 @@ declare void @bar(i32)<br class=""> !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "Apple LLVM version 8.0.0 (clang-800.0.24.1)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, globals: !2)<br class=""> !1 = !DIFile(filename: "1.cpp", directory: "/another_dir")<br class=""> !2 = !{!3}<br class="">-!3 = distinct !DIGlobalVariable(name: "_", linkageName: "some_global", scope: null, file: !1, line: 20, type: !4, isLocal: true, isDefinition: true)<br class="">+!3 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "_", linkageName: "some_global", scope: null, file: !1, line: 20, type: !4, isLocal: true, isDefinition: true))<br class=""> !4 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "slice_nil", file: !1, line: 13, size: 64, align: 64, elements: !5, identifier: "_ZTSN5boost6python3api9slice_nilE")<br class=""> !5 = !{}<br class=""> !6 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/ThinLTO/X86/debuginfo-cu-import.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ThinLTO/X86/debuginfo-cu-import.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/ThinLTO/X86/debuginfo-cu-import.ll (original)<br class="">+++ llvm/trunk/test/ThinLTO/X86/debuginfo-cu-import.ll Mon Dec 19 20:09:43 2016<br class="">@@ -77,4 +77,4 @@ entry:<br class=""> !35 = !{!36}<br class=""> !36 = !DICompositeType(tag: DW_TAG_structure_type, name: "Base", line: 1, size: 32, align: 32, file: !1, elements: !30, identifier: "_ZTS4Base")<br class=""> !37 = !{!38}<br class="">-!38 = !DIGlobalVariable(name: "version", scope: !5, file: !1, line: 2, type: !36, isLocal: false, isDefinition: true)<br class="">+!38 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "version", scope: !5, file: !1, line: 2, type: !36, isLocal: false, isDefinition: true))<br class=""><br class="">Modified: llvm/trunk/test/Transforms/GCOVProfiling/return-block.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GCOVProfiling/return-block.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Transforms/GCOVProfiling/return-block.ll (original)<br class="">+++ llvm/trunk/test/Transforms/GCOVProfiling/return-block.ll Mon Dec 19 20:09:43 2016<br class="">@@ -61,7 +61,7 @@ attributes #2 = { nounwind }<br class=""> !6 = !DISubroutineType(types: !7)<br class=""> !7 = !{null}<br class=""> !8 = !{!9}<br class="">-!9 = !DIGlobalVariable(name: "A", line: 3, isLocal: false, isDefinition: true, scope: null, file: !5, type: !10)<br class="">+!9 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "A", line: 3, isLocal: false, isDefinition: true, scope: null, file: !5, type: !10))<br class=""> !10 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !11 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !12 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/Transforms/GlobalMerge/debug-info.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GlobalMerge/debug-info.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Transforms/GlobalMerge/debug-info.ll (original)<br class="">+++ llvm/trunk/test/Transforms/GlobalMerge/debug-info.ll Mon Dec 19 20:09:43 2016<br class="">@@ -14,12 +14,14 @@ define void @use1() {<br class=""> ret void<br class=""> }<br class=""><br class="">-; CHECK: [[A]] = distinct !DIGlobalVariable(name: "a", scope: null, isLocal: false, isDefinition: true)<br class="">-; CHECK: [[B]] = distinct !DIGlobalVariable(name: "b", scope: null, isLocal: false, isDefinition: true, expr: [[EXPR:![0-9]+]])<br class="">+; CHECK: [[A]] = !DIGlobalVariableExpression(var: [[AVAR:![0-9]+]])<br class="">+; CHECK: [[AVAR]] = !DIGlobalVariable(name: "a", scope: null, isLocal: false, isDefinition: true)<br class="">+; CHECK: [[B]] = !DIGlobalVariableExpression(var: [[BVAR:![0-9]+]], expr: [[EXPR:![0-9]+]])<br class="">+; CHECK: [[BVAR]] = !DIGlobalVariable(name: "b", scope: null, isLocal: false, isDefinition: true)<br class=""> ; CHECK: [[EXPR]] = !DIExpression(DW_OP_plus, 4)<br class=""><br class=""> !llvm.module.flags = !{!2, !3}<br class="">-!0 = distinct !DIGlobalVariable(name: "a")<br class="">-!1 = distinct !DIGlobalVariable(name: "b")<br class="">+!0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a"))<br class="">+!1 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b"))<br class=""> !2 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !3 = !{i32 2, !"Dwarf Version", i32 4}<br class=""><br class="">Modified: llvm/trunk/test/Transforms/GlobalOpt/2009-03-05-dbg.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/GlobalOpt/2009-03-05-dbg.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Transforms/GlobalOpt/2009-03-05-dbg.ll (original)<br class="">+++ llvm/trunk/test/Transforms/GlobalOpt/2009-03-05-dbg.ll Mon Dec 19 20:09:43 2016<br class="">@@ -55,7 +55,7 @@ return:<br class=""> declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone<br class=""><br class=""> !llvm.dbg.cu = !{!1}<br class="">-!0 = !DIGlobalVariable(name: "Stop", line: 2, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !2)<br class="">+!0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "Stop", line: 2, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !2))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", isOptimized: true, emissionKind: FullDebug, file: !20, enums: !21, retainedTypes: !21, globals: !{!0})<br class=""> !2 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !3 = !DILocalVariable(name: "i", line: 4, arg: 1, scope: !4, file: !1, type: !2)<br class=""><br class="">Modified: llvm/trunk/test/Transforms/Inline/alloca-dbgdeclare.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Inline/alloca-dbgdeclare.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Transforms/Inline/alloca-dbgdeclare.ll (original)<br class="">+++ llvm/trunk/test/Transforms/Inline/alloca-dbgdeclare.ll Mon Dec 19 20:09:43 2016<br class="">@@ -107,8 +107,8 @@ attributes #3 = { noreturn nounwind }<br class=""> !23 = !{null}<br class=""> !24 = distinct !DISubprogram(name: "fn5", linkageName: "_Z3fn5v", line: 13, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 13, file: !5, scope: !16, type: !22, variables: !2)<br class=""> !25 = !{!26, !27}<br class="">-!26 = !DIGlobalVariable(name: "a", line: 4, isLocal: false, isDefinition: true, scope: null, file: !16, type: !4)<br class="">-!27 = !DIGlobalVariable(name: "b", line: 4, isLocal: false, isDefinition: true, scope: null, file: !16, type: !4)<br class="">+!26 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 4, isLocal: false, isDefinition: true, scope: null, file: !16, type: !4))<br class="">+!27 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", line: 4, isLocal: false, isDefinition: true, scope: null, file: !16, type: !4))<br class=""> !28 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !29 = !{i32 2, !"Debug Info Version", i32 3}<br class=""> !30 = !{!"clang version 3.7.0 (trunk 227480) (llvm/trunk 227517)"}<br class=""><br class="">Modified: llvm/trunk/test/Transforms/LoopVectorize/dbg.value.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/LoopVectorize/dbg.value.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Transforms/LoopVectorize/dbg.value.ll (original)<br class="">+++ llvm/trunk/test/Transforms/LoopVectorize/dbg.value.ll Mon Dec 19 20:09:43 2016<br class="">@@ -54,12 +54,12 @@ attributes #1 = { nounwind readnone }<br class=""> !9 = !DILocalVariable(name: "i", line: 6, scope: !10, file: !4, type: !7)<br class=""> !10 = distinct !DILexicalBlock(line: 6, column: 0, file: !25, scope: !3)<br class=""> !11 = !{!12, !16, !17}<br class="">-!12 = !DIGlobalVariable(name: "A", line: 1, isLocal: false, isDefinition: true, scope: null, file: !4, type: !13)<br class="">+!12 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "A", line: 1, isLocal: false, isDefinition: true, scope: null, file: !4, type: !13))<br class=""> !13 = !DICompositeType(tag: DW_TAG_array_type, size: 32768, align: 32, baseType: !7, elements: !14)<br class=""> !14 = !{!15}<br class=""> !15 = !{i32 786465, i64 0, i64 1024}<br class="">-!16 = !DIGlobalVariable(name: "B", line: 2, isLocal: false, isDefinition: true, scope: null, file: !4, type: !13)<br class="">-!17 = !DIGlobalVariable(name: "C", line: 3, isLocal: false, isDefinition: true, scope: null, file: !4, type: !13)<br class="">+!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "B", line: 2, isLocal: false, isDefinition: true, scope: null, file: !4, type: !13))<br class="">+!17 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "C", line: 3, isLocal: false, isDefinition: true, scope: null, file: !4, type: !13))<br class=""> !18 = !DILocation(line: 6, scope: !10)<br class=""> !19 = !DILocation(line: 7, scope: !20)<br class=""> !20 = distinct !DILexicalBlock(line: 6, column: 0, file: !25, scope: !10)<br class=""><br class="">Modified: llvm/trunk/test/Transforms/SampleProfile/cov-zero-samples.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SampleProfile/cov-zero-samples.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Transforms/SampleProfile/cov-zero-samples.ll (original)<br class="">+++ llvm/trunk/test/Transforms/SampleProfile/cov-zero-samples.ll Mon Dec 19 20:09:43 2016<br class="">@@ -98,7 +98,7 @@ declare i32 @printf(i8*, ...)<br class=""> !9 = !DISubroutineType(types: !10)<br class=""> !10 = !{!7}<br class=""> !11 = !{!12}<br class="">-!12 = !DIGlobalVariable(name: "N", scope: !0, file: !1, line: 3, type: !13, isLocal: false, isDefinition: true)<br class="">+!12 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "N", scope: !0, file: !1, line: 3, type: !13, isLocal: false, isDefinition: true))<br class=""> !13 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !14)<br class=""> !14 = !DIBasicType(name: "long long int", size: 64, align: 64, encoding: DW_ATE_signed)<br class=""> !15 = !{i32 2, !"Dwarf Version", i32 4}<br class=""><br class="">Modified: llvm/trunk/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll (original)<br class="">+++ llvm/trunk/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll Mon Dec 19 20:09:43 2016<br class="">@@ -46,13 +46,13 @@ declare void @llvm.dbg.value(metadata, i<br class=""> !1 = !DIFile(filename: "csmith107.i.c", directory: "/tmp")<br class=""> !2 = !{}<br class=""> !3 = !{!4, !6, !10}<br class="">-!4 = !DIGlobalVariable(name: "a", scope: null, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", scope: null, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DIBasicType(name: "int", size: 16, align: 16, encoding: DW_ATE_signed)<br class="">-!6 = !DIGlobalVariable(name: "b", scope: null, file: !1, line: 3, type: !7, isLocal: false, isDefinition: true)<br class="">+!6 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", scope: null, file: !1, line: 3, type: !7, isLocal: false, isDefinition: true))<br class=""> !7 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !1, line: 1, baseType: !8)<br class=""> !8 = !DIDerivedType(tag: DW_TAG_typedef, name: "__u32_t", file: !1, baseType: !9)<br class=""> !9 = !DIBasicType(name: "unsigned long", size: 32, align: 16, encoding: DW_ATE_unsigned)<br class="">-!10 = !DIGlobalVariable(name: "c", scope: null, file: !1, line: 4, type: !11, isLocal: false, isDefinition: true)<br class="">+!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c", scope: null, file: !1, line: 4, type: !11, isLocal: false, isDefinition: true))<br class=""> !11 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !5, size: 16, align: 16)<br class=""> !12 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !13 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/Transforms/StripSymbols/2010-06-30-StripDebug.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/StripSymbols/2010-06-30-StripDebug.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Transforms/StripSymbols/2010-06-30-StripDebug.ll (original)<br class="">+++ llvm/trunk/test/Transforms/StripSymbols/2010-06-30-StripDebug.ll Mon Dec 19 20:09:43 2016<br class="">@@ -23,7 +23,7 @@ declare void @llvm.dbg.value(metadata, i<br class=""> !5 = !DILocalVariable(name: "y", line: 3, scope: !6, file: !1, type: !7)<br class=""> !6 = distinct !DILexicalBlock(line: 2, column: 0, file: !12, scope: !0)<br class=""> !7 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class="">-!8 = !DIGlobalVariable(name: "x", line: 1, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !7)<br class="">+!8 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", line: 1, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !7))<br class=""> !9 = !{i32 0}<br class=""> !10 = !DILocation(line: 3, scope: !6)<br class=""> !11 = !DILocation(line: 4, scope: !6)<br class=""><br class="">Modified: llvm/trunk/test/Transforms/StripSymbols/2010-08-25-crash.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/StripSymbols/2010-08-25-crash.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Transforms/StripSymbols/2010-08-25-crash.ll (original)<br class="">+++ llvm/trunk/test/Transforms/StripSymbols/2010-08-25-crash.ll Mon Dec 19 20:09:43 2016<br class="">@@ -13,7 +13,7 @@ entry:<br class=""> !3 = !DISubroutineType(types: !4)<br class=""> !4 = !{!5}<br class=""> !5 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class="">-!6 = !DIGlobalVariable(name: "i", linkageName: "i", line: 2, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !7)<br class="">+!6 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", linkageName: "i", line: 2, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !7))<br class=""> !7 = !DIDerivedType(tag: DW_TAG_const_type, file: !10, scope: !1, baseType: !5)<br class=""> !8 = !DILocation(line: 3, column: 13, scope: !9)<br class=""> !9 = distinct !DILexicalBlock(line: 3, column: 11, file: !10, scope: !0)<br class=""><br class="">Modified: llvm/trunk/test/Transforms/StripSymbols/strip-dead-debug-info.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/StripSymbols/strip-dead-debug-info.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Transforms/StripSymbols/strip-dead-debug-info.ll (original)<br class="">+++ llvm/trunk/test/Transforms/StripSymbols/strip-dead-debug-info.ll Mon Dec 19 20:09:43 2016<br class="">@@ -46,8 +46,8 @@ attributes #2 = { nounwind readonly ssp<br class=""> !13 = !DILocalVariable(name: "bb", line: 5, scope: !14, file: !5, type: !9)<br class=""> !14 = distinct !DILexicalBlock(line: 5, column: 0, file: !1, scope: !3)<br class=""> !15 = !DILocalVariable(name: "i", line: 7, arg: 1, scope: !10, file: !5, type: !9)<br class="">-!16 = !DIGlobalVariable(name: "abcd", line: 2, isLocal: true, isDefinition: true, scope: !5, file: !5, type: !9)<br class="">-!17 = !DIGlobalVariable(name: "xyz", line: 3, isLocal: false, isDefinition: true, scope: !5, file: !5, type: !9)<br class="">+!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "abcd", line: 2, isLocal: true, isDefinition: true, scope: !5, file: !5, type: !9))<br class="">+!17 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xyz", line: 3, isLocal: false, isDefinition: true, scope: !5, file: !5, type: !9))<br class=""> !18 = !DILocation(line: 6, scope: !19)<br class=""> !19 = distinct !DILexicalBlock(line: 6, column: 0, file: !1, scope: !6)<br class=""> !20 = !DILocation(line: 7, scope: !10)<br class=""><br class="">Modified: llvm/trunk/test/Transforms/Util/strip-nonlinetable-debuginfo-containingtypes.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Util/strip-nonlinetable-debuginfo-containingtypes.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/Transforms/Util/strip-nonlinetable-debuginfo-containingtypes.ll (original)<br class="">+++ llvm/trunk/test/Transforms/Util/strip-nonlinetable-debuginfo-containingtypes.ll Mon Dec 19 20:09:43 2016<br class="">@@ -51,7 +51,7 @@ attributes #2 = { nounwind }<br class=""><br class=""> ; CHECK-NEG-NOT: !DI{{Basic|Composite|Derived}}Type<br class=""><br class="">-!0 = distinct !DIGlobalVariable(name: "b", scope: !1, file: !2, line: 5, type: !5, isLocal: false, isDefinition: true)<br class="">+!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", scope: !1, file: !2, line: 5, type: !5, isLocal: false, isDefinition: true))<br class=""> !1 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !2, producer: "clang version 4.0.0 (trunk 282583) (llvm/trunk 282611)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !3, globals: !4)<br class=""> !2 = !DIFile(filename: "t.cpp", directory: "/")<br class=""> !3 = !{}<br class=""><br class="">Added: llvm/trunk/test/Verifier/diglobalvariable.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Verifier/diglobalvariable.ll?rev=290153&view=auto<br class="">==============================================================================<br class="">--- llvm/trunk/test/Verifier/diglobalvariable.ll (added)<br class="">+++ llvm/trunk/test/Verifier/diglobalvariable.ll Mon Dec 19 20:09:43 2016<br class="">@@ -0,0 +1,14 @@<br class="">+; RUN: not opt -S <%s 2>&1| FileCheck %s<br class="">+<br class="">+; CHECK: !dbg attachment of global variable must be a DIGlobalVariableExpression<br class="">+@g = common global i32 0, align 4, !dbg !0<br class="">+<br class="">+!llvm.dbg.cu = !{!1}<br class="">+!llvm.module.flags = !{!6, !7}<br class="">+<br class="">+!0 = distinct !DIGlobalVariable(name: "g", scope: !1, file: !2, line: 1, type: !5, isLocal: false, isDefinition: true)<br class="">+!1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, emissionKind: FullDebug)<br class="">+!2 = !DIFile(filename: "a.c", directory: "/")<br class="">+!5 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)<br class="">+!6 = !{i32 2, !"Dwarf Version", i32 4}<br class="">+!7 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/tools/llvm-objdump/Hexagon/source-interleave-hexagon.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objdump/Hexagon/source-interleave-hexagon.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/tools/llvm-objdump/Hexagon/source-interleave-hexagon.ll (original)<br class="">+++ llvm/trunk/test/tools/llvm-objdump/Hexagon/source-interleave-hexagon.ll Mon Dec 19 20:09:43 2016<br class="">@@ -45,7 +45,7 @@ attributes #1 = { nounwind readnone }<br class=""> !1 = !DIFile(filename: "source-interleave-hexagon.c", directory: "SRC_COMPDIR")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !6 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !7 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/test/tools/llvm-objdump/X86/source-interleave-x86_64.ll<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objdump/X86/source-interleave-x86_64.ll?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/test/tools/llvm-objdump/X86/source-interleave-x86_64.ll (original)<br class="">+++ llvm/trunk/test/tools/llvm-objdump/X86/source-interleave-x86_64.ll Mon Dec 19 20:09:43 2016<br class="">@@ -46,7 +46,7 @@ attributes #1 = { nounwind readnone }<br class=""> !1 = !DIFile(filename: "source-interleave-x86_64.c", directory: "SRC_COMPDIR")<br class=""> !2 = !{}<br class=""> !3 = !{!4}<br class="">-!4 = distinct !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true)<br class="">+!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true))<br class=""> !5 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)<br class=""> !6 = !{i32 2, !"Dwarf Version", i32 4}<br class=""> !7 = !{i32 2, !"Debug Info Version", i32 3}<br class=""><br class="">Modified: llvm/trunk/unittests/IR/MetadataTest.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/IR/MetadataTest.cpp?rev=290153&r1=290152&r2=290153&view=diff<br class="">==============================================================================<br class="">--- llvm/trunk/unittests/IR/MetadataTest.cpp (original)<br class="">+++ llvm/trunk/unittests/IR/MetadataTest.cpp Mon Dec 19 20:09:43 2016<br class="">@@ -1828,16 +1828,13 @@ TEST_F(DIGlobalVariableTest, get) {<br class=""> DIType *Type = getDerivedType();<br class=""> bool IsLocalToUnit = false;<br class=""> bool IsDefinition = true;<br class="">- auto *Expr = DIExpression::get(Context, {1, 2});<br class="">- auto *Expr2 = DIExpression::get(Context, {1, 2, 3});<br class=""> DIDerivedType *StaticDataMemberDeclaration =<br class=""> cast<DIDerivedType>(getDerivedType());<br class=""> uint32_t AlignInBits = 8;<br class=""><br class=""> auto *N = DIGlobalVariable::get(Context, Scope, Name, LinkageName, File, Line,<br class=""> Type, IsLocalToUnit, IsDefinition,<br class="">- Expr, StaticDataMemberDeclaration,<br class="">- AlignInBits);<br class="">+ StaticDataMemberDeclaration, AlignInBits);<br class=""> EXPECT_EQ(dwarf::DW_TAG_variable, N->getTag());<br class=""> EXPECT_EQ(Scope, N->getScope());<br class=""> EXPECT_EQ(Name, N->getName());<br class="">@@ -1847,68 +1844,88 @@ TEST_F(DIGlobalVariableTest, get) {<br class=""> EXPECT_EQ(Type, N->getType());<br class=""> EXPECT_EQ(IsLocalToUnit, N->isLocalToUnit());<br class=""> EXPECT_EQ(IsDefinition, N->isDefinition());<br class="">- EXPECT_EQ(Expr, N->getExpr());<br class=""> EXPECT_EQ(StaticDataMemberDeclaration, N->getStaticDataMemberDeclaration());<br class=""> EXPECT_EQ(AlignInBits, N->getAlignInBits());<br class=""> EXPECT_EQ(N, DIGlobalVariable::get(Context, Scope, Name, LinkageName, File,<br class=""> Line, Type, IsLocalToUnit, IsDefinition,<br class="">- Expr, StaticDataMemberDeclaration,<br class="">- AlignInBits));<br class="">+ StaticDataMemberDeclaration, AlignInBits));<br class=""><br class=""> EXPECT_NE(N,<br class=""> DIGlobalVariable::get(Context, getSubprogram(), Name, LinkageName,<br class=""> File, Line, Type, IsLocalToUnit, IsDefinition,<br class="">- Expr, StaticDataMemberDeclaration,<br class="">- AlignInBits));<br class="">+ StaticDataMemberDeclaration, AlignInBits));<br class=""> EXPECT_NE(N, DIGlobalVariable::get(Context, Scope, "other", LinkageName, File,<br class=""> Line, Type, IsLocalToUnit, IsDefinition,<br class="">- Expr, StaticDataMemberDeclaration,<br class="">- AlignInBits));<br class="">+ StaticDataMemberDeclaration, AlignInBits));<br class=""> EXPECT_NE(N, DIGlobalVariable::get(Context, Scope, Name, "other", File, Line,<br class="">- Type, IsLocalToUnit, IsDefinition, Expr,<br class="">- StaticDataMemberDeclaration,<br class="">- AlignInBits));<br class="">+ Type, IsLocalToUnit, IsDefinition,<br class="">+ StaticDataMemberDeclaration, AlignInBits));<br class=""> EXPECT_NE(N,<br class=""> DIGlobalVariable::get(Context, Scope, Name, LinkageName, getFile(),<br class="">- Line, Type, IsLocalToUnit, IsDefinition, Expr,<br class="">- StaticDataMemberDeclaration,<br class="">- AlignInBits));<br class="">+ Line, Type, IsLocalToUnit, IsDefinition,<br class="">+ StaticDataMemberDeclaration, AlignInBits));<br class=""> EXPECT_NE(N,<br class=""> DIGlobalVariable::get(Context, Scope, Name, LinkageName, File,<br class=""> Line + 1, Type, IsLocalToUnit, IsDefinition,<br class="">- Expr, StaticDataMemberDeclaration,<br class="">- AlignInBits));<br class="">+ StaticDataMemberDeclaration, AlignInBits));<br class=""> EXPECT_NE(N,<br class=""> DIGlobalVariable::get(Context, Scope, Name, LinkageName, File, Line,<br class=""> getDerivedType(), IsLocalToUnit, IsDefinition,<br class="">- Expr, StaticDataMemberDeclaration,<br class="">- AlignInBits));<br class="">+ StaticDataMemberDeclaration, AlignInBits));<br class=""> EXPECT_NE(N, DIGlobalVariable::get(Context, Scope, Name, LinkageName, File,<br class=""> Line, Type, !IsLocalToUnit, IsDefinition,<br class="">- Expr, StaticDataMemberDeclaration,<br class="">- AlignInBits));<br class="">+ StaticDataMemberDeclaration, AlignInBits));<br class=""> EXPECT_NE(N, DIGlobalVariable::get(Context, Scope, Name, LinkageName, File,<br class=""> Line, Type, IsLocalToUnit, !IsDefinition,<br class="">- Expr, StaticDataMemberDeclaration,<br class="">- AlignInBits));<br class="">+ StaticDataMemberDeclaration, AlignInBits));<br class=""> EXPECT_NE(N, DIGlobalVariable::get(Context, Scope, Name, LinkageName, File,<br class=""> Line, Type, IsLocalToUnit, IsDefinition,<br class="">- Expr2, StaticDataMemberDeclaration,<br class="">+ cast<DIDerivedType>(getDerivedType()),<br class=""> AlignInBits));<br class="">- EXPECT_NE(N,<br class="">- DIGlobalVariable::get(Context, Scope, Name, LinkageName, File, Line,<br class="">- Type, IsLocalToUnit, IsDefinition, Expr,<br class="">- cast<DIDerivedType>(getDerivedType()),<br class="">- AlignInBits));<br class=""> EXPECT_NE(N, DIGlobalVariable::get(Context, Scope, Name, LinkageName, File,<br class=""> Line, Type, IsLocalToUnit, IsDefinition,<br class="">- Expr, StaticDataMemberDeclaration,<br class="">+ StaticDataMemberDeclaration,<br class=""> (AlignInBits << 1)));<br class=""><br class=""> TempDIGlobalVariable Temp = N->clone();<br class=""> EXPECT_EQ(N, MDNode::replaceWithUniqued(std::move(Temp)));<br class=""> }<br class=""><br class="">+typedef MetadataTest DIGlobalVariableExpressionTest;<br class="">+<br class="">+TEST_F(DIGlobalVariableExpressionTest, get) {<br class="">+ DIScope *Scope = getSubprogram();<br class="">+ StringRef Name = "name";<br class="">+ StringRef LinkageName = "linkage";<br class="">+ DIFile *File = getFile();<br class="">+ unsigned Line = 5;<br class="">+ DIType *Type = getDerivedType();<br class="">+ bool IsLocalToUnit = false;<br class="">+ bool IsDefinition = true;<br class="">+ auto *Expr = DIExpression::get(Context, {1, 2});<br class="">+ auto *Expr2 = DIExpression::get(Context, {1, 2, 3});<br class="">+ DIDerivedType *StaticDataMemberDeclaration =<br class="">+ cast<DIDerivedType>(getDerivedType());<br class="">+ uint32_t AlignInBits = 8;<br class="">+<br class="">+ auto *Var = DIGlobalVariable::get(Context, Scope, Name, LinkageName, File,<br class="">+ Line, Type, IsLocalToUnit, IsDefinition,<br class="">+ StaticDataMemberDeclaration, AlignInBits);<br class="">+ auto *Var2 = DIGlobalVariable::get(Context, Scope, "other", LinkageName, File,<br class="">+ Line, Type, IsLocalToUnit, IsDefinition,<br class="">+ StaticDataMemberDeclaration, AlignInBits);<br class="">+ auto *N = DIGlobalVariableExpression::get(Context, Var, Expr);<br class="">+<br class="">+ EXPECT_EQ(Var, N->getVariable());<br class="">+ EXPECT_EQ(Expr, N->getExpression());<br class="">+ EXPECT_EQ(N, DIGlobalVariableExpression::get(Context, Var, Expr));<br class="">+ EXPECT_NE(N, DIGlobalVariableExpression::get(Context, Var2, Expr));<br class="">+ EXPECT_NE(N, DIGlobalVariableExpression::get(Context, Var, Expr2));<br class="">+<br class="">+ TempDIGlobalVariableExpression Temp = N->clone();<br class="">+ EXPECT_EQ(N, MDNode::replaceWithUniqued(std::move(Temp)));<br class="">+}<br class="">+<br class=""> typedef MetadataTest DILocalVariableTest;<br class=""><br class=""> TEST_F(DILocalVariableTest, get) {<br class=""><br class=""><br class="">_______________________________________________<br class="">llvm-commits mailing list<br class="">llvm-commits@lists.llvm.org<br class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits<br class=""></div></div></blockquote></div><br class=""></div></body></html>