[llvm] r290292 - Renumber testcase metadata nodes after r290153.

Adrian Prantl via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 21 16:45:23 PST 2016


Author: adrian
Date: Wed Dec 21 18:45:21 2016
New Revision: 290292

URL: http://llvm.org/viewvc/llvm-project?rev=290292&view=rev
Log:
Renumber testcase metadata nodes after r290153.

This patch renumbers the metadata nodes in debug info testcases after
https://reviews.llvm.org/D26769. This is a separate patch because it
causes so much churn. This was implemented with a python script that
pipes the testcases through llvm-as - | llvm-dis - and then goes
through the original and new output side-by side to insert all
comments at a close-enough location.

Differential Revision: https://reviews.llvm.org/D27765

Modified:
    llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll
    llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll
    llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll
    llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll
    llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll
    llvm/trunk/test/CodeGen/BPF/dwarfdump.ll
    llvm/trunk/test/CodeGen/PowerPC/pr17168.ll
    llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll
    llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll
    llvm/trunk/test/CodeGen/X86/fp128-g.ll
    llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll
    llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll
    llvm/trunk/test/CodeGen/X86/null-streamer.ll
    llvm/trunk/test/DebugInfo/AArch64/big-endian.ll
    llvm/trunk/test/DebugInfo/AArch64/bitfields.ll
    llvm/trunk/test/DebugInfo/AArch64/frameindices.ll
    llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll
    llvm/trunk/test/DebugInfo/ARM/bitfield.ll
    llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll
    llvm/trunk/test/DebugInfo/ARM/tls.ll
    llvm/trunk/test/DebugInfo/COFF/anonymous-struct.ll
    llvm/trunk/test/DebugInfo/COFF/big-type.ll
    llvm/trunk/test/DebugInfo/COFF/bitfields.ll
    llvm/trunk/test/DebugInfo/COFF/enum.ll
    llvm/trunk/test/DebugInfo/COFF/global-dllimport.ll
    llvm/trunk/test/DebugInfo/COFF/globals-discarded.ll
    llvm/trunk/test/DebugInfo/COFF/globals.ll
    llvm/trunk/test/DebugInfo/COFF/inheritance.ll
    llvm/trunk/test/DebugInfo/COFF/inlining-files.ll
    llvm/trunk/test/DebugInfo/COFF/inlining-header.ll
    llvm/trunk/test/DebugInfo/COFF/inlining-levels.ll
    llvm/trunk/test/DebugInfo/COFF/int8-char-type.ll
    llvm/trunk/test/DebugInfo/COFF/long-type-name.ll
    llvm/trunk/test/DebugInfo/COFF/register-variables.ll
    llvm/trunk/test/DebugInfo/COFF/scopes.ll
    llvm/trunk/test/DebugInfo/COFF/types-array-advanced.ll
    llvm/trunk/test/DebugInfo/COFF/types-nested-class.ll
    llvm/trunk/test/DebugInfo/COFF/types-ptr-to-member.ll
    llvm/trunk/test/DebugInfo/COFF/udts.ll
    llvm/trunk/test/DebugInfo/COFF/virtual-method-kinds.ll
    llvm/trunk/test/DebugInfo/COFF/vtable-optzn-array.ll
    llvm/trunk/test/DebugInfo/Generic/2009-11-05-DeadGlobalVariable.ll
    llvm/trunk/test/DebugInfo/Generic/2009-11-06-NamelessGlobalVariable.ll
    llvm/trunk/test/DebugInfo/Generic/2010-06-29-InlinedFnLocalVar.ll
    llvm/trunk/test/DebugInfo/Generic/accel-table-hash-collisions.ll
    llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll
    llvm/trunk/test/DebugInfo/Generic/cross-cu-linkonce.ll
    llvm/trunk/test/DebugInfo/Generic/dbg-at-specficiation.ll
    llvm/trunk/test/DebugInfo/Generic/debuginfofinder-forward-declaration.ll
    llvm/trunk/test/DebugInfo/Generic/dwarf-public-names.ll
    llvm/trunk/test/DebugInfo/Generic/enum.ll
    llvm/trunk/test/DebugInfo/Generic/global.ll
    llvm/trunk/test/DebugInfo/Generic/gvn.ll
    llvm/trunk/test/DebugInfo/Generic/member-pointers.ll
    llvm/trunk/test/DebugInfo/Generic/recursive_inlining.ll
    llvm/trunk/test/DebugInfo/Generic/template-recursive-void.ll
    llvm/trunk/test/DebugInfo/Generic/tu-member-pointer.ll
    llvm/trunk/test/DebugInfo/Generic/typedef.ll
    llvm/trunk/test/DebugInfo/Mips/InlinedFnLocalVar.ll
    llvm/trunk/test/DebugInfo/PowerPC/tls-fission.ll
    llvm/trunk/test/DebugInfo/PowerPC/tls.ll
    llvm/trunk/test/DebugInfo/WebAssembly/dbg-declare.ll
    llvm/trunk/test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll
    llvm/trunk/test/DebugInfo/X86/DIModuleContext.ll
    llvm/trunk/test/DebugInfo/X86/DW_AT_calling-convention.ll
    llvm/trunk/test/DebugInfo/X86/DW_AT_specification.ll
    llvm/trunk/test/DebugInfo/X86/DW_TAG_friend.ll
    llvm/trunk/test/DebugInfo/X86/InlinedFnLocalVar.ll
    llvm/trunk/test/DebugInfo/X86/PR26148.ll
    llvm/trunk/test/DebugInfo/X86/align_c11.ll
    llvm/trunk/test/DebugInfo/X86/align_cpp11.ll
    llvm/trunk/test/DebugInfo/X86/align_objc.ll
    llvm/trunk/test/DebugInfo/X86/arange-and-stub.ll
    llvm/trunk/test/DebugInfo/X86/arange.ll
    llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-4.ll
    llvm/trunk/test/DebugInfo/X86/atomic-c11-dwarf-5.ll
    llvm/trunk/test/DebugInfo/X86/bitfields-dwarf4.ll
    llvm/trunk/test/DebugInfo/X86/bitfields.ll
    llvm/trunk/test/DebugInfo/X86/c-type-units.ll
    llvm/trunk/test/DebugInfo/X86/concrete_out_of_line.ll
    llvm/trunk/test/DebugInfo/X86/cu-ranges-odr.ll
    llvm/trunk/test/DebugInfo/X86/data_member_location.ll
    llvm/trunk/test/DebugInfo/X86/dbg-subrange.ll
    llvm/trunk/test/DebugInfo/X86/dbg-value-inlined-parameter.ll
    llvm/trunk/test/DebugInfo/X86/dbg-value-regmask-clobber.ll
    llvm/trunk/test/DebugInfo/X86/debug-info-access.ll
    llvm/trunk/test/DebugInfo/X86/debug-info-packed-struct.ll
    llvm/trunk/test/DebugInfo/X86/debug-info-static-member.ll
    llvm/trunk/test/DebugInfo/X86/debug-loc-frame.ll
    llvm/trunk/test/DebugInfo/X86/debugger-tune.ll
    llvm/trunk/test/DebugInfo/X86/decl-derived-member.ll
    llvm/trunk/test/DebugInfo/X86/dllimport.ll
    llvm/trunk/test/DebugInfo/X86/dwarf-aranges-no-dwarf-labels.ll
    llvm/trunk/test/DebugInfo/X86/dwarf-aranges.ll
    llvm/trunk/test/DebugInfo/X86/dwarf-linkage-names.ll
    llvm/trunk/test/DebugInfo/X86/dwarf-public-names.ll
    llvm/trunk/test/DebugInfo/X86/empty-array.ll
    llvm/trunk/test/DebugInfo/X86/enum-class.ll
    llvm/trunk/test/DebugInfo/X86/enum-fwd-decl.ll
    llvm/trunk/test/DebugInfo/X86/externaltyperef.ll
    llvm/trunk/test/DebugInfo/X86/fission-cu.ll
    llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll
    llvm/trunk/test/DebugInfo/X86/gnu-public-names.ll
    llvm/trunk/test/DebugInfo/X86/inline-member-function.ll
    llvm/trunk/test/DebugInfo/X86/inline-namespace.ll
    llvm/trunk/test/DebugInfo/X86/inlined-indirect-value.ll
    llvm/trunk/test/DebugInfo/X86/isel-cse-line.ll
    llvm/trunk/test/DebugInfo/X86/linkage-name.ll
    llvm/trunk/test/DebugInfo/X86/live-debug-values.ll
    llvm/trunk/test/DebugInfo/X86/memberfnptr.ll
    llvm/trunk/test/DebugInfo/X86/misched-dbg-value.ll
    llvm/trunk/test/DebugInfo/X86/multiple-aranges.ll
    llvm/trunk/test/DebugInfo/X86/nondefault-subrange-array.ll
    llvm/trunk/test/DebugInfo/X86/objc-fwd-decl.ll
    llvm/trunk/test/DebugInfo/X86/pointer-type-size.ll
    llvm/trunk/test/DebugInfo/X86/ref_addr_relocation.ll
    llvm/trunk/test/DebugInfo/X86/static_member_array.ll
    llvm/trunk/test/DebugInfo/X86/stringpool.ll
    llvm/trunk/test/DebugInfo/X86/struct-loc.ll
    llvm/trunk/test/DebugInfo/X86/template.ll
    llvm/trunk/test/DebugInfo/X86/tls.ll
    llvm/trunk/test/DebugInfo/X86/type_units_with_addresses.ll
    llvm/trunk/test/DebugInfo/X86/union-template.ll
    llvm/trunk/test/DebugInfo/X86/vector.ll
    llvm/trunk/test/Instrumentation/AddressSanitizer/debug-info-global-var.ll
    llvm/trunk/test/LTO/X86/Inputs/type-mapping-src.ll
    llvm/trunk/test/LTO/X86/type-mapping-bug.ll
    llvm/trunk/test/Linker/2011-08-04-Metadata.ll
    llvm/trunk/test/Linker/2011-08-04-Metadata2.ll
    llvm/trunk/test/Linker/odr.ll
    llvm/trunk/test/Linker/only-needed-debug-metadata.ll
    llvm/trunk/test/ThinLTO/X86/Inputs/crash_debuginfo.ll
    llvm/trunk/test/ThinLTO/X86/crash_debuginfo.ll
    llvm/trunk/test/ThinLTO/X86/debuginfo-cu-import.ll
    llvm/trunk/test/Transforms/GlobalMerge/debug-info.ll
    llvm/trunk/test/Transforms/GlobalOpt/2009-03-05-dbg.ll
    llvm/trunk/test/Transforms/Inline/alloca-dbgdeclare.ll
    llvm/trunk/test/Transforms/LoopVectorize/dbg.value.ll
    llvm/trunk/test/Transforms/SampleProfile/cov-zero-samples.ll
    llvm/trunk/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll
    llvm/trunk/test/Transforms/StripSymbols/2010-06-30-StripDebug.ll
    llvm/trunk/test/Transforms/StripSymbols/2010-08-25-crash.ll
    llvm/trunk/test/Transforms/StripSymbols/strip-dead-debug-info.ll
    llvm/trunk/test/Transforms/Util/strip-nonlinetable-debuginfo-containingtypes.ll

Modified: llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll Wed Dec 21 18:45:21 2016
@@ -2,45 +2,49 @@
 
 ; rdar://9146594
 
-define void @drt_vsprintf() nounwind ssp {
+source_filename = "test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll"
+
+; Function Attrs: nounwind ssp
+define void @drt_vsprintf() #0 {
 entry:
   %do_tab_convert = alloca i32, align 4
-  br i1 undef, label %if.then24, label %if.else295, !dbg !13
+  br i1 undef, label %if.then24, label %if.else295, !dbg !11
 
 if.then24:                                        ; preds = %entry
   unreachable
 
 if.else295:                                       ; preds = %entry
-  call void @llvm.dbg.declare(metadata i32* %do_tab_convert, metadata !16, metadata !DIExpression()), !dbg !18
-  store i32 0, i32* %do_tab_convert, align 4, !dbg !19
+  call void @llvm.dbg.declare(metadata i32* %do_tab_convert, metadata !14, metadata !16), !dbg !17
+  store i32 0, i32* %do_tab_convert, align 4, !dbg !18
   unreachable
 }
 
-declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
+; Function Attrs: nounwind readnone
+declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
+
+attributes #0 = { nounwind ssp }
+attributes #1 = { nounwind readnone }
+
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!9, !10}
 
-!llvm.dbg.cu = !{!3}
-!llvm.module.flags = !{!22, !23}
+!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.0 (http://llvm.org/git/clang.git git:/git/puzzlebox/clang.git/ c4d1aea01c4444eb81bdbf391f1be309127c3cf1)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, globals: !2)
+!1 = !DIFile(filename: "print.i", directory: "/Volumes/Ebi/echeng/radars/r9146594")
+!2 = !{!3}
+!3 = !DIGlobalVariableExpression(var: !4)
+!4 = !DIGlobalVariable(name: "vsplive", scope: !5, file: !1, line: 617, type: !8, isLocal: true, isDefinition: true)
+!5 = distinct !DISubprogram(name: "drt_vsprintf", scope: !1, file: !1, line: 616, type: !6, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0)
+!6 = !DISubroutineType(types: !7)
+!7 = !{!8}
+!8 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!9 = !{i32 2, !"Debug Info Version", i32 3}
+!10 = !{i32 2, !"Dwarf Version", i32 2}
+!11 = !DILocation(line: 653, column: 5, scope: !12)
+!12 = distinct !DILexicalBlock(scope: !13, file: !1, line: 652, column: 35)
+!13 = distinct !DILexicalBlock(scope: !5, file: !1, line: 616, column: 1)
+!14 = !DILocalVariable(name: "do_tab_convert", scope: !15, file: !1, line: 853, type: !8)
+!15 = distinct !DILexicalBlock(scope: !12, file: !1, line: 850, column: 12)
+!16 = !DIExpression()
+!17 = !DILocation(line: 853, column: 11, scope: !15)
+!18 = !DILocation(line: 853, column: 29, scope: !15)
 
-!0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "vsplive", line: 617, isLocal: true, isDefinition: true, scope: !1, file: !2, type: !6))
-!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)
-!2 = !DIFile(filename: "print.i", directory: "/Volumes/Ebi/echeng/radars/r9146594")
-!3 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.0 (http://llvm.org/git/clang.git git:/git/puzzlebox/clang.git/ c4d1aea01c4444eb81bdbf391f1be309127c3cf1)", isOptimized: true, emissionKind: FullDebug, file: !20, globals: !{!0})
-!4 = !DISubroutineType(types: !5)
-!5 = !{!6}
-!6 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
-!7 = distinct !DISubprogram(name: "putc_mem", line: 30, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !3, file: !20, scope: !2, type: !8)
-!8 = !DISubroutineType(types: !9)
-!9 = !{null}
-!10 = distinct !DISubprogram(name: "print_double", line: 203, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !3, file: !20, scope: !2, type: !4)
-!11 = distinct !DISubprogram(name: "print_number", line: 75, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !3, file: !20, scope: !2, type: !4)
-!12 = distinct !DISubprogram(name: "get_flags", line: 508, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !3, file: !20, scope: !2, type: !8)
-!13 = !DILocation(line: 653, column: 5, scope: !14)
-!14 = distinct !DILexicalBlock(line: 652, column: 35, file: !20, scope: !15)
-!15 = distinct !DILexicalBlock(line: 616, column: 1, file: !20, scope: !1)
-!16 = !DILocalVariable(name: "do_tab_convert", line: 853, scope: !17, file: !2, type: !6)
-!17 = distinct !DILexicalBlock(line: 850, column: 12, file: !20, scope: !14)
-!18 = !DILocation(line: 853, column: 11, scope: !17)
-!19 = !DILocation(line: 853, column: 29, scope: !17)
-!20 = !DIFile(filename: "print.i", directory: "/Volumes/Ebi/echeng/radars/r9146594")
-!22 = !{i32 2, !"Debug Info Version", i32 3}
-!23 = !{i32 2, !"Dwarf Version", i32 2}

Modified: llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll Wed Dec 21 18:45:21 2016
@@ -1,78 +1,88 @@
 ; RUN: llc < %s
 
+source_filename = "test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll"
 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:32-n32"
 target triple = "thumbv7-apple-darwin3.0.0-iphoneos"
 
- at length = common global i32 0, align 4, !dbg !14            ; <i32*> [#uses=1]
+ at length = common global i32 0, align 4, !dbg !0
 
-define void @x0(i8* nocapture %buf, i32 %nbytes) nounwind optsize {
+; Function Attrs: nounwind optsize
+define void @x0(i8* nocapture %buf, i32 %nbytes) #0 {
 entry:
-  tail call void @llvm.dbg.value(metadata i8* %buf, i64 0, metadata !0, metadata !DIExpression()), !dbg !15
-  tail call void @llvm.dbg.value(metadata i32 %nbytes, i64 0, metadata !8, metadata !DIExpression()), !dbg !16
-  %tmp = load i32, i32* @length, !dbg !17              ; <i32> [#uses=3]
-  %cmp = icmp eq i32 %tmp, -1, !dbg !17           ; <i1> [#uses=1]
-  %cmp.not = xor i1 %cmp, true                    ; <i1> [#uses=1]
-  %cmp3 = icmp ult i32 %tmp, %nbytes, !dbg !17    ; <i1> [#uses=1]
-  %or.cond = and i1 %cmp.not, %cmp3               ; <i1> [#uses=1]
-  tail call void @llvm.dbg.value(metadata i32 %tmp, i64 0, metadata !8, metadata !DIExpression()), !dbg !17
-  %nbytes.addr.0 = select i1 %or.cond, i32 %tmp, i32 %nbytes ; <i32> [#uses=1]
-  tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !10, metadata !DIExpression()), !dbg !19
-  br label %while.cond, !dbg !20
+  tail call void @llvm.dbg.value(metadata i8* %buf, i64 0, metadata !8, metadata !14), !dbg !15
+  tail call void @llvm.dbg.value(metadata i32 %nbytes, i64 0, metadata !16, metadata !14), !dbg !18
+  %tmp = load i32, i32* @length, !dbg !19
+  %cmp = icmp eq i32 %tmp, -1, !dbg !19
+  %cmp.not = xor i1 %cmp, true
+  %cmp3 = icmp ult i32 %tmp, %nbytes, !dbg !19
+  %or.cond = and i1 %cmp.not, %cmp3
+  tail call void @llvm.dbg.value(metadata i32 %tmp, i64 0, metadata !16, metadata !14), !dbg !19
+  %nbytes.addr.0 = select i1 %or.cond, i32 %tmp, i32 %nbytes
+  tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !21, metadata !14), !dbg !22
+  br label %while.cond, !dbg !23
 
 while.cond:                                       ; preds = %while.body, %entry
-  %0 = phi i32 [ 0, %entry ], [ %inc, %while.body ] ; <i32> [#uses=3]
-  %buf.addr.0 = getelementptr i8, i8* %buf, i32 %0    ; <i8*> [#uses=1]
-  %cmp7 = icmp ult i32 %0, %nbytes.addr.0, !dbg !20 ; <i1> [#uses=1]
-  br i1 %cmp7, label %land.rhs, label %while.end, !dbg !20
+
+  %0 = phi i32 [ 0, %entry ], [ %inc, %while.body ]
+  %buf.addr.0 = getelementptr i8, i8* %buf, i32 %0
+  %cmp7 = icmp ult i32 %0, %nbytes.addr.0, !dbg !23
+  br i1 %cmp7, label %land.rhs, label %while.end, !dbg !23
 
 land.rhs:                                         ; preds = %while.cond
-  %call = tail call i32 @x1() nounwind optsize, !dbg !20 ; <i32> [#uses=2]
-  %cmp9 = icmp eq i32 %call, -1, !dbg !20         ; <i1> [#uses=1]
-  br i1 %cmp9, label %while.end, label %while.body, !dbg !20
+  %call = tail call i32 @x1() #0, !dbg !23
+  %cmp9 = icmp eq i32 %call, -1, !dbg !23
+  br i1 %cmp9, label %while.end, label %while.body, !dbg !23
 
 while.body:                                       ; preds = %land.rhs
-  %conv = trunc i32 %call to i8, !dbg !21         ; <i8> [#uses=1]
-  store i8 %conv, i8* %buf.addr.0, !dbg !21
-  %inc = add i32 %0, 1, !dbg !23                  ; <i32> [#uses=1]
-  br label %while.cond, !dbg !24
+  %conv = trunc i32 %call to i8, !dbg !24
+  store i8 %conv, i8* %buf.addr.0, !dbg !24
+  %inc = add i32 %0, 1, !dbg !26
+  br label %while.cond, !dbg !27
 
 while.end:                                        ; preds = %land.rhs, %while.cond
-  ret void, !dbg !25
+  ret void, !dbg !28
 }
 
-declare i32 @x1() optsize
+; Function Attrs: optsize
+declare i32 @x1() #1
+
+; Function Attrs: nounwind readnone
+declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
 
-declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
+attributes #0 = { nounwind optsize }
+attributes #1 = { optsize }
+attributes #2 = { nounwind readnone }
 
-!llvm.dbg.cu = !{!3}
-!llvm.module.flags = !{!27, !28}
+!llvm.dbg.cu = !{!4}
+!llvm.module.flags = !{!6, !7}
 
-!0 = !DILocalVariable(name: "buf", line: 4, arg: 1, scope: !1, file: !2, type: !6)
-!1 = distinct !DISubprogram(name: "x0", linkageName: "x0", line: 5, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, unit: !3, file: !26, scope: null, type: !4)
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "length", linkageName: "length", scope: !2, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)
 !2 = !DIFile(filename: "t.c", directory: "/private/tmp")
-!3 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang 2.0", isOptimized: true, file: !26, globals: !{!14})
-!4 = !DISubroutineType(types: !5)
-!5 = !{null}
-!6 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, file: !26, scope: !2, baseType: !7)
-!7 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
-!8 = !DILocalVariable(name: "nbytes", line: 4, arg: 2, scope: !1, file: !2, type: !9)
-!9 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned long", size: 32, align: 32, encoding: DW_ATE_unsigned)
-!10 = !DILocalVariable(name: "nread", line: 6, scope: !11, file: !2, type: !9)
-!11 = distinct !DILexicalBlock(line: 5, column: 1, file: !26, scope: !1)
-!12 = !DILocalVariable(name: "c", line: 7, scope: !11, file: !2, type: !13)
-!13 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
-!14 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "length", linkageName: "length", line: 1, isLocal: false, isDefinition: true, scope: !2, file: !2, type: !13))
-!15 = !DILocation(line: 4, column: 24, scope: !1)
-!16 = !DILocation(line: 4, column: 43, scope: !1)
-!17 = !DILocation(line: 9, column: 2, scope: !11)
-!18 = !{i32 0}
-!19 = !DILocation(line: 10, column: 2, scope: !11)
-!20 = !DILocation(line: 11, column: 2, scope: !11)
-!21 = !DILocation(line: 12, column: 3, scope: !22)
-!22 = distinct !DILexicalBlock(line: 11, column: 45, file: !26, scope: !11)
-!23 = !DILocation(line: 13, column: 3, scope: !22)
-!24 = !DILocation(line: 14, column: 2, scope: !22)
-!25 = !DILocation(line: 15, column: 1, scope: !11)
-!26 = !DIFile(filename: "t.c", directory: "/private/tmp")
-!27 = !{i32 2, !"Dwarf Version", i32 2}
-!28 = !{i32 2, !"Debug Info Version", i32 3}
+!3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!4 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang 2.0", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, globals: !5)
+!5 = !{!0}
+!6 = !{i32 2, !"Dwarf Version", i32 2}
+!7 = !{i32 2, !"Debug Info Version", i32 3}
+!8 = !DILocalVariable(name: "buf", arg: 1, scope: !9, file: !2, line: 4, type: !12)
+!9 = distinct !DISubprogram(name: "x0", linkageName: "x0", scope: null, file: !2, line: 5, type: !10, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, unit: !4)
+!10 = !DISubroutineType(types: !11)
+!11 = !{null}
+!12 = !DIDerivedType(tag: DW_TAG_pointer_type, scope: !2, file: !2, baseType: !13, size: 32, align: 32)
+!13 = !DIBasicType(name: "unsigned char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
+!14 = !DIExpression()
+!15 = !DILocation(line: 4, column: 24, scope: !9)
+!16 = !DILocalVariable(name: "nbytes", arg: 2, scope: !9, file: !2, line: 4, type: !17)
+!17 = !DIBasicType(name: "unsigned long", size: 32, align: 32, encoding: DW_ATE_unsigned)
+!18 = !DILocation(line: 4, column: 43, scope: !9)
+!19 = !DILocation(line: 9, column: 2, scope: !20)
+!20 = distinct !DILexicalBlock(scope: !9, file: !2, line: 5, column: 1)
+!21 = !DILocalVariable(name: "nread", scope: !20, file: !2, line: 6, type: !17)
+!22 = !DILocation(line: 10, column: 2, scope: !20)
+!23 = !DILocation(line: 11, column: 2, scope: !20)
+!24 = !DILocation(line: 12, column: 3, scope: !25)
+!25 = distinct !DILexicalBlock(scope: !20, file: !2, line: 11, column: 45)
+!26 = !DILocation(line: 13, column: 3, scope: !25)
+!27 = !DILocation(line: 14, column: 2, scope: !25)
+!28 = !DILocation(line: 15, column: 1, scope: !20)
+

Modified: llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll Wed Dec 21 18:45:21 2016
@@ -1,14 +1,14 @@
 ; RUN: llc -arm-global-merge -global-merge-group-by-use=false -filetype=obj < %s | llvm-dwarfdump -debug-dump=info - | FileCheck %s
 
+source_filename = "test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll"
 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32"
 target triple = "thumbv7-apple-darwin10"
 
- at x1 = internal global i8 1, align 1, !dbg !13
- at x2 = internal global i8 1, align 1, !dbg !14
- at x3 = internal global i8 1, align 1, !dbg !15
- at x4 = internal global i8 1, align 1, !dbg !16
- at x5 = global i8 1, align 1, !dbg !17
-
+ at x1 = internal global i8 1, align 1, !dbg !0
+ at x2 = internal global i8 1, align 1, !dbg !4
+ at x3 = internal global i8 1, align 1, !dbg !6
+ at x4 = internal global i8 1, align 1, !dbg !8
+ at x5 = global i8 1, align 1, !dbg !10
 ; Check debug info output for merged global.
 ; DW_AT_location
 ; 0x03 DW_OP_addr
@@ -28,102 +28,120 @@ target triple = "thumbv7-apple-darwin10"
 ; CHECK-NOT: {{DW_TAG|NULL}}
 ; CHECK:    DW_AT_location [DW_FORM_exprloc]        (<0x7> 03 [[ADDR]] 23 01  )
 
-define zeroext i8 @get1(i8 zeroext %a) nounwind optsize !dbg !0 {
+; Function Attrs: nounwind optsize
+define zeroext i8 @get1(i8 zeroext %a) #0 !dbg !16 {
 entry:
-  tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !10, metadata !DIExpression()), !dbg !30
-  %0 = load i8, i8* @x1, align 4, !dbg !30
-  tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !11, metadata !DIExpression()), !dbg !30
-  store i8 %a, i8* @x1, align 4, !dbg !30
-  ret i8 %0, !dbg !31
+  tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !20, metadata !23), !dbg !24
+  %0 = load i8, i8* @x1, align 4, !dbg !24
+  tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !21, metadata !23), !dbg !24
+  store i8 %a, i8* @x1, align 4, !dbg !24
+  ret i8 %0, !dbg !25
 }
 
-declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
+; Function Attrs: nounwind readnone
+declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
 
-define zeroext i8 @get2(i8 zeroext %a) nounwind optsize !dbg !6 {
+; Function Attrs: nounwind optsize
+define zeroext i8 @get2(i8 zeroext %a) #0 !dbg !26 {
 entry:
-  tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !18, metadata !DIExpression()), !dbg !32
-  %0 = load i8, i8* @x2, align 4, !dbg !32
-  tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !19, metadata !DIExpression()), !dbg !32
-  store i8 %a, i8* @x2, align 4, !dbg !32
-  ret i8 %0, !dbg !33
+  tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !28, metadata !23), !dbg !31
+  %0 = load i8, i8* @x2, align 4, !dbg !31
+  tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !29, metadata !23), !dbg !31
+  store i8 %a, i8* @x2, align 4, !dbg !31
+  ret i8 %0, !dbg !32
 }
 
-define zeroext i8 @get3(i8 zeroext %a) nounwind optsize !dbg !7 {
+; Function Attrs: nounwind optsize
+
+define zeroext i8 @get3(i8 zeroext %a) #0 !dbg !33 {
 entry:
-  tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !21, metadata !DIExpression()), !dbg !34
-  %0 = load i8, i8* @x3, align 4, !dbg !34
-  tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !22, metadata !DIExpression()), !dbg !34
-  store i8 %a, i8* @x3, align 4, !dbg !34
-  ret i8 %0, !dbg !35
+  tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !35, metadata !23), !dbg !38
+  %0 = load i8, i8* @x3, align 4, !dbg !38
+  tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !36, metadata !23), !dbg !38
+  store i8 %a, i8* @x3, align 4, !dbg !38
+  ret i8 %0, !dbg !39
 }
 
-define zeroext i8 @get4(i8 zeroext %a) nounwind optsize !dbg !8 {
+; Function Attrs: nounwind optsize
+
+define zeroext i8 @get4(i8 zeroext %a) #0 !dbg !40 {
 entry:
-  tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !24, metadata !DIExpression()), !dbg !36
-  %0 = load i8, i8* @x4, align 4, !dbg !36
-  tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !25, metadata !DIExpression()), !dbg !36
-  store i8 %a, i8* @x4, align 4, !dbg !36
-  ret i8 %0, !dbg !37
+  tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !42, metadata !23), !dbg !45
+  %0 = load i8, i8* @x4, align 4, !dbg !45
+  tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !43, metadata !23), !dbg !45
+  store i8 %a, i8* @x4, align 4, !dbg !45
+  ret i8 %0, !dbg !46
 }
 
-define zeroext i8 @get5(i8 zeroext %a) nounwind optsize !dbg !9 {
+; Function Attrs: nounwind optsize
+
+define zeroext i8 @get5(i8 zeroext %a) #0 !dbg !47 {
 entry:
-  tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !27, metadata !DIExpression()), !dbg !38
-  %0 = load i8, i8* @x5, align 4, !dbg !38
-  tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !28, metadata !DIExpression()), !dbg !38
-  store i8 %a, i8* @x5, align 4, !dbg !38
-  ret i8 %0, !dbg !39
+  tail call void @llvm.dbg.value(metadata i8 %a, i64 0, metadata !49, metadata !23), !dbg !52
+  %0 = load i8, i8* @x5, align 4, !dbg !52
+  tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !50, metadata !23), !dbg !52
+  store i8 %a, i8* @x5, align 4, !dbg !52
+  ret i8 %0, !dbg !53
 }
 
-!llvm.dbg.cu = !{!2}
-!llvm.module.flags = !{!49}
+attributes #0 = { nounwind optsize }
+attributes #1 = { nounwind readnone }
+
+!llvm.dbg.cu = !{!12}
+!llvm.module.flags = !{!15}
+
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "x1", scope: !2, file: !2, line: 3, type: !3, isLocal: true, isDefinition: true)
+!2 = !DIFile(filename: "foo.c", directory: "/tmp/")
+!3 = !DIBasicType(name: "_Bool", size: 8, align: 8, encoding: DW_ATE_boolean)
+!4 = !DIGlobalVariableExpression(var: !5)
+!5 = !DIGlobalVariable(name: "x2", scope: !2, file: !2, line: 6, type: !3, isLocal: true, isDefinition: true)
+!6 = !DIGlobalVariableExpression(var: !7)
+!7 = !DIGlobalVariable(name: "x3", scope: !2, file: !2, line: 9, type: !3, isLocal: true, isDefinition: true)
+!8 = !DIGlobalVariableExpression(var: !9)
+!9 = !DIGlobalVariable(name: "x4", scope: !2, file: !2, line: 12, type: !3, isLocal: true, isDefinition: true)
+!10 = !DIGlobalVariableExpression(var: !11)
+!11 = !DIGlobalVariable(name: "x5", scope: !2, file: !2, line: 15, type: !3, isLocal: false, isDefinition: true)
+!12 = distinct !DICompileUnit(language: DW_LANG_C89, file: !2, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2369.8)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !13, retainedTypes: !13, globals: !14, imports: !13)
+!13 = !{}
+!14 = !{!0, !4, !6, !8, !10}
+!15 = !{i32 1, !"Debug Info Version", i32 3}
+!16 = distinct !DISubprogram(name: "get1", linkageName: "get1", scope: !2, file: !2, line: 4, type: !17, isLocal: false, isDefinition: true, scopeLine: 4, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !12, variables: !19)
+!17 = !DISubroutineType(types: !18)
+!18 = !{!3, !3}
+!19 = !{!20, !21}
+!20 = !DILocalVariable(name: "a", arg: 1, scope: !16, file: !2, line: 4, type: !3)
+!21 = !DILocalVariable(name: "b", scope: !22, file: !2, line: 4, type: !3)
+!22 = distinct !DILexicalBlock(scope: !16, file: !2, line: 4)
+!23 = !DIExpression()
+!24 = !DILocation(line: 4, scope: !16)
+!25 = !DILocation(line: 4, scope: !22)
+!26 = distinct !DISubprogram(name: "get2", linkageName: "get2", scope: !2, file: !2, line: 7, type: !17, isLocal: false, isDefinition: true, scopeLine: 7, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !12, variables: !27)
+!27 = !{!28, !29}
+!28 = !DILocalVariable(name: "a", arg: 1, scope: !26, file: !2, line: 7, type: !3)
+!29 = !DILocalVariable(name: "b", scope: !30, file: !2, line: 7, type: !3)
+!30 = distinct !DILexicalBlock(scope: !26, file: !2, line: 7)
+!31 = !DILocation(line: 7, scope: !26)
+!32 = !DILocation(line: 7, scope: !30)
+!33 = distinct !DISubprogram(name: "get3", linkageName: "get3", scope: !2, file: !2, line: 10, type: !17, isLocal: false, isDefinition: true, scopeLine: 10, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !12, variables: !34)
+!34 = !{!35, !36}
+!35 = !DILocalVariable(name: "a", arg: 1, scope: !33, file: !2, line: 10, type: !3)
+!36 = !DILocalVariable(name: "b", scope: !37, file: !2, line: 10, type: !3)
+!37 = distinct !DILexicalBlock(scope: !33, file: !2, line: 10)
+!38 = !DILocation(line: 10, scope: !33)
+!39 = !DILocation(line: 10, scope: !37)
+!40 = distinct !DISubprogram(name: "get4", linkageName: "get4", scope: !2, file: !2, line: 13, type: !17, isLocal: false, isDefinition: true, scopeLine: 13, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !12, variables: !41)
+!41 = !{!42, !43}
+!42 = !DILocalVariable(name: "a", arg: 1, scope: !40, file: !2, line: 13, type: !3)
+!43 = !DILocalVariable(name: "b", scope: !44, file: !2, line: 13, type: !3)
+!44 = distinct !DILexicalBlock(scope: !40, file: !2, line: 13)
+!45 = !DILocation(line: 13, scope: !40)
+!46 = !DILocation(line: 13, scope: !44)
+!47 = distinct !DISubprogram(name: "get5", linkageName: "get5", scope: !2, file: !2, line: 16, type: !17, isLocal: false, isDefinition: true, scopeLine: 16, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !12, variables: !48)
+!48 = !{!49, !50}
+!49 = !DILocalVariable(name: "a", arg: 1, scope: !47, file: !2, line: 16, type: !3)
+!50 = !DILocalVariable(name: "b", scope: !51, file: !2, line: 16, type: !3)
+!51 = distinct !DILexicalBlock(scope: !47, file: !2, line: 16)
+!52 = !DILocation(line: 16, scope: !47)
+!53 = !DILocation(line: 16, scope: !51)
 
-!0 = distinct !DISubprogram(name: "get1", linkageName: "get1", line: 4, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, scopeLine: 4, file: !47, scope: !1, type: !3, variables: !42)
-!1 = !DIFile(filename: "foo.c", directory: "/tmp/")
-!2 = distinct !DICompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2369.8)", isOptimized: true, emissionKind: FullDebug, file: !47, enums: !48, retainedTypes: !48, globals: !41, imports:  !48)
-!3 = !DISubroutineType(types: !4)
-!4 = !{!5, !5}
-!5 = !DIBasicType(tag: DW_TAG_base_type, name: "_Bool", size: 8, align: 8, encoding: DW_ATE_boolean)
-!6 = distinct !DISubprogram(name: "get2", linkageName: "get2", line: 7, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, scopeLine: 7, file: !47, scope: !1, type: !3, variables: !43)
-!7 = distinct !DISubprogram(name: "get3", linkageName: "get3", line: 10, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, scopeLine: 10, file: !47, scope: !1, type: !3, variables: !44)
-!8 = distinct !DISubprogram(name: "get4", linkageName: "get4", line: 13, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, scopeLine: 13, file: !47, scope: !1, type: !3, variables: !45)
-!9 = distinct !DISubprogram(name: "get5", linkageName: "get5", line: 16, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, scopeLine: 16, file: !47, scope: !1, type: !3, variables: !46)
-!10 = !DILocalVariable(name: "a", line: 4, arg: 1, scope: !0, file: !1, type: !5)
-!11 = !DILocalVariable(name: "b", line: 4, scope: !12, file: !1, type: !5)
-!12 = distinct !DILexicalBlock(line: 4, column: 0, file: !47, scope: !0)
-!13 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x1", line: 3, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5))
-!14 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x2", line: 6, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5))
-!15 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x3", line: 9, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5))
-!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x4", line: 12, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5))
-!17 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x5", line: 15, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5))
-!18 = !DILocalVariable(name: "a", line: 7, arg: 1, scope: !6, file: !1, type: !5)
-!19 = !DILocalVariable(name: "b", line: 7, scope: !20, file: !1, type: !5)
-!20 = distinct !DILexicalBlock(line: 7, column: 0, file: !47, scope: !6)
-!21 = !DILocalVariable(name: "a", line: 10, arg: 1, scope: !7, file: !1, type: !5)
-!22 = !DILocalVariable(name: "b", line: 10, scope: !23, file: !1, type: !5)
-!23 = distinct !DILexicalBlock(line: 10, column: 0, file: !47, scope: !7)
-!24 = !DILocalVariable(name: "a", line: 13, arg: 1, scope: !8, file: !1, type: !5)
-!25 = !DILocalVariable(name: "b", line: 13, scope: !26, file: !1, type: !5)
-!26 = distinct !DILexicalBlock(line: 13, column: 0, file: !47, scope: !8)
-!27 = !DILocalVariable(name: "a", line: 16, arg: 1, scope: !9, file: !1, type: !5)
-!28 = !DILocalVariable(name: "b", line: 16, scope: !29, file: !1, type: !5)
-!29 = distinct !DILexicalBlock(line: 16, column: 0, file: !47, scope: !9)
-!30 = !DILocation(line: 4, scope: !0)
-!31 = !DILocation(line: 4, scope: !12)
-!32 = !DILocation(line: 7, scope: !6)
-!33 = !DILocation(line: 7, scope: !20)
-!34 = !DILocation(line: 10, scope: !7)
-!35 = !DILocation(line: 10, scope: !23)
-!36 = !DILocation(line: 13, scope: !8)
-!37 = !DILocation(line: 13, scope: !26)
-!38 = !DILocation(line: 16, scope: !9)
-!39 = !DILocation(line: 16, scope: !29)
-!41 = !{!13, !14, !15, !16, !17}
-!42 = !{!10, !11}
-!43 = !{!18, !19}
-!44 = !{!21, !22}
-!45 = !{!24, !25}
-!46 = !{!27, !28}
-!47 = !DIFile(filename: "foo.c", directory: "/tmp/")
-!48 = !{}
-!49 = !{i32 1, !"Debug Info Version", i32 3}

Modified: llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll Wed Dec 21 18:45:21 2016
@@ -19,103 +19,121 @@
 ; CHECK-NOT: {{DW_TAG|NULL}}
 ; CHECK:    DW_AT_location [DW_FORM_exprloc]        (<0x7> 03 [[ADDR]] 23 04  )
 
+source_filename = "test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll"
 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32"
 target triple = "thumbv7-apple-macosx10.7.0"
 
- at x1 = internal unnamed_addr global i32 1, align 4, !dbg !25
- at x2 = internal unnamed_addr global i32 2, align 4, !dbg !26
+ at x1 = internal unnamed_addr global i32 1, align 4, !dbg !0
+ at x2 = internal unnamed_addr global i32 2, align 4, !dbg !6
 @x3 = internal unnamed_addr global i32 3, align 4
 @x4 = internal unnamed_addr global i32 4, align 4
 @x5 = global i32 0, align 4
 
-define i32 @get1(i32 %a) nounwind optsize ssp !dbg !1 {
-  tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !10, metadata !DIExpression()), !dbg !30
-  %1 = load i32, i32* @x1, align 4, !dbg !31
-  tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !11, metadata !DIExpression()), !dbg !31
-  store i32 %a, i32* @x1, align 4, !dbg !31
-  ret i32 %1, !dbg !31
+; Function Attrs: nounwind optsize ssp
+define i32 @get1(i32 %a) #0 !dbg !10 {
+  tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !14, metadata !17), !dbg !18
+  %1 = load i32, i32* @x1, align 4, !dbg !19
+  tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !15, metadata !17), !dbg !19
+  store i32 %a, i32* @x1, align 4, !dbg !19
+  ret i32 %1, !dbg !19
 }
 
-define i32 @get2(i32 %a) nounwind optsize ssp !dbg !6 {
-  tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !13, metadata !DIExpression()), !dbg !32
-  %1 = load i32, i32* @x2, align 4, !dbg !33
-  tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !14, metadata !DIExpression()), !dbg !33
-  store i32 %a, i32* @x2, align 4, !dbg !33
-  ret i32 %1, !dbg !33
+; Function Attrs: nounwind optsize ssp
+
+define i32 @get2(i32 %a) #0 !dbg !20 {
+  tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !22, metadata !17), !dbg !25
+  %1 = load i32, i32* @x2, align 4, !dbg !26
+  tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !23, metadata !17), !dbg !26
+  store i32 %a, i32* @x2, align 4, !dbg !26
+  ret i32 %1, !dbg !26
 }
 
-define i32 @get3(i32 %a) nounwind optsize ssp !dbg !7 {
-  tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !16, metadata !DIExpression()), !dbg !34
-  %1 = load i32, i32* @x3, align 4, !dbg !35
-  tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !17, metadata !DIExpression()), !dbg !35
-  store i32 %a, i32* @x3, align 4, !dbg !35
-  ret i32 %1, !dbg !35
+; Function Attrs: nounwind optsize ssp
+
+define i32 @get3(i32 %a) #0 !dbg !27 {
+  tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !29, metadata !17), !dbg !32
+  %1 = load i32, i32* @x3, align 4, !dbg !33
+  tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !30, metadata !17), !dbg !33
+  store i32 %a, i32* @x3, align 4, !dbg !33
+  ret i32 %1, !dbg !33
 }
 
-define i32 @get4(i32 %a) nounwind optsize ssp !dbg !8 {
-  tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !19, metadata !DIExpression()), !dbg !36
-  %1 = load i32, i32* @x4, align 4, !dbg !37
-  tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !20, metadata !DIExpression()), !dbg !37
-  store i32 %a, i32* @x4, align 4, !dbg !37
-  ret i32 %1, !dbg !37
+; Function Attrs: nounwind optsize ssp
+
+define i32 @get4(i32 %a) #0 !dbg !34 {
+  tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !36, metadata !17), !dbg !39
+  %1 = load i32, i32* @x4, align 4, !dbg !40
+  tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !37, metadata !17), !dbg !40
+  store i32 %a, i32* @x4, align 4, !dbg !40
+  ret i32 %1, !dbg !40
 }
 
-define i32 @get5(i32 %a) nounwind optsize ssp !dbg !9 {
-  tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !27, metadata !DIExpression()), !dbg !38
-  %1 = load i32, i32* @x5, align 4, !dbg !39
-  tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !28, metadata !DIExpression()), !dbg !39
-  store i32 %a, i32* @x5, align 4, !dbg !39
-  ret i32 %1, !dbg !39
+; Function Attrs: nounwind optsize ssp
+
+define i32 @get5(i32 %a) #0 !dbg !41 {
+  tail call void @llvm.dbg.value(metadata i32 %a, i64 0, metadata !43, metadata !17), !dbg !46
+  %1 = load i32, i32* @x5, align 4, !dbg !47
+  tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !44, metadata !17), !dbg !47
+  store i32 %a, i32* @x5, align 4, !dbg !47
+  ret i32 %1, !dbg !47
 }
 
-declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
+; Function Attrs: nounwind readnone
+
+declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
+
+attributes #0 = { nounwind optsize ssp }
+attributes #1 = { nounwind readnone }
 
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!49}
+!llvm.dbg.cu = !{!2}
+!llvm.module.flags = !{!9}
+
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "x1", scope: !2, file: !3, line: 4, type: !8, isLocal: true, isDefinition: true)
+!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, retainedTypes: !4, globals: !5, imports: !4)
+!3 = !DIFile(filename: "ss3.c", directory: "/private/tmp")
+!4 = !{}
+!5 = !{!0, !6}
+!6 = !DIGlobalVariableExpression(var: !7)
+!7 = !DIGlobalVariable(name: "x2", scope: !2, file: !3, line: 7, type: !8, isLocal: true, isDefinition: true)
+!8 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!9 = !{i32 1, !"Debug Info Version", i32 3}
+!10 = distinct !DISubprogram(name: "get1", scope: !3, file: !3, line: 5, type: !11, isLocal: false, isDefinition: true, scopeLine: 5, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !13)
+!11 = !DISubroutineType(types: !12)
+!12 = !{!8}
+!13 = !{!14, !15}
+!14 = !DILocalVariable(name: "a", arg: 1, scope: !10, file: !3, line: 5, type: !8)
+!15 = !DILocalVariable(name: "b", scope: !16, file: !3, line: 5, type: !8)
+!16 = distinct !DILexicalBlock(scope: !10, file: !3, line: 5, column: 19)
+!17 = !DIExpression()
+!18 = !DILocation(line: 5, column: 16, scope: !10)
+!19 = !DILocation(line: 5, column: 32, scope: !16)
+!20 = distinct !DISubprogram(name: "get2", scope: !3, file: !3, line: 8, type: !11, isLocal: false, isDefinition: true, scopeLine: 8, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !21)
+!21 = !{!22, !23}
+!22 = !DILocalVariable(name: "a", arg: 1, scope: !20, file: !3, line: 8, type: !8)
+!23 = !DILocalVariable(name: "b", scope: !24, file: !3, line: 8, type: !8)
+!24 = distinct !DILexicalBlock(scope: !20, file: !3, line: 8, column: 17)
+!25 = !DILocation(line: 8, column: 14, scope: !20)
+!26 = !DILocation(line: 8, column: 29, scope: !24)
+!27 = distinct !DISubprogram(name: "get3", scope: !3, file: !3, line: 11, type: !11, isLocal: false, isDefinition: true, scopeLine: 11, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !28)
+!28 = !{!29, !30}
+!29 = !DILocalVariable(name: "a", arg: 1, scope: !27, file: !3, line: 11, type: !8)
+!30 = !DILocalVariable(name: "b", scope: !31, file: !3, line: 11, type: !8)
+!31 = distinct !DILexicalBlock(scope: !27, file: !3, line: 11, column: 19)
+!32 = !DILocation(line: 11, column: 16, scope: !27)
+!33 = !DILocation(line: 11, column: 32, scope: !31)
+!34 = distinct !DISubprogram(name: "get4", scope: !3, file: !3, line: 14, type: !11, isLocal: false, isDefinition: true, scopeLine: 14, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !35)
+!35 = !{!36, !37}
+!36 = !DILocalVariable(name: "a", arg: 1, scope: !34, file: !3, line: 14, type: !8)
+!37 = !DILocalVariable(name: "b", scope: !38, file: !3, line: 14, type: !8)
+!38 = distinct !DILexicalBlock(scope: !34, file: !3, line: 14, column: 19)
+!39 = !DILocation(line: 14, column: 16, scope: !34)
+!40 = !DILocation(line: 14, column: 32, scope: !38)
+!41 = distinct !DISubprogram(name: "get5", scope: !3, file: !3, line: 17, type: !11, isLocal: false, isDefinition: true, scopeLine: 17, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !42)
+!42 = !{!43, !44}
+!43 = !DILocalVariable(name: "a", arg: 1, scope: !41, file: !3, line: 17, type: !8)
+!44 = !DILocalVariable(name: "b", scope: !45, file: !3, line: 17, type: !8)
+!45 = distinct !DILexicalBlock(scope: !41, file: !3, line: 17, column: 19)
+!46 = !DILocation(line: 17, column: 16, scope: !41)
+!47 = !DILocation(line: 17, column: 32, scope: !45)
 
-!0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang", isOptimized: true, emissionKind: FullDebug, file: !47, enums: !48, retainedTypes: !48, globals: !41, imports:  !48)
-!1 = distinct !DISubprogram(name: "get1", line: 5, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 5, file: !47, scope: !2, type: !3, variables: !42)
-!2 = !DIFile(filename: "ss3.c", directory: "/private/tmp")
-!3 = !DISubroutineType(types: !4)
-!4 = !{!5}
-!5 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
-!6 = distinct !DISubprogram(name: "get2", line: 8, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 8, file: !47, scope: !2, type: !3, variables: !43)
-!7 = distinct !DISubprogram(name: "get3", line: 11, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 11, file: !47, scope: !2, type: !3, variables: !44)
-!8 = distinct !DISubprogram(name: "get4", line: 14, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 14, file: !47, scope: !2, type: !3, variables: !45)
-!9 = distinct !DISubprogram(name: "get5", line: 17, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 17, file: !47, scope: !2, type: !3, variables: !46)
-!10 = !DILocalVariable(name: "a", line: 5, arg: 1, scope: !1, file: !2, type: !5)
-!11 = !DILocalVariable(name: "b", line: 5, scope: !12, file: !2, type: !5)
-!12 = distinct !DILexicalBlock(line: 5, column: 19, file: !47, scope: !1)
-!13 = !DILocalVariable(name: "a", line: 8, arg: 1, scope: !6, file: !2, type: !5)
-!14 = !DILocalVariable(name: "b", line: 8, scope: !15, file: !2, type: !5)
-!15 = distinct !DILexicalBlock(line: 8, column: 17, file: !47, scope: !6)
-!16 = !DILocalVariable(name: "a", line: 11, arg: 1, scope: !7, file: !2, type: !5)
-!17 = !DILocalVariable(name: "b", line: 11, scope: !18, file: !2, type: !5)
-!18 = distinct !DILexicalBlock(line: 11, column: 19, file: !47, scope: !7)
-!19 = !DILocalVariable(name: "a", line: 14, arg: 1, scope: !8, file: !2, type: !5)
-!20 = !DILocalVariable(name: "b", line: 14, scope: !21, file: !2, type: !5)
-!21 = distinct !DILexicalBlock(line: 14, column: 19, file: !47, scope: !8)
-!25 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x1", line: 4, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5))
-!26 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x2", line: 7, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5))
-!27 = !DILocalVariable(name: "a", line: 17, arg: 1, scope: !9, file: !2, type: !5)
-!28 = !DILocalVariable(name: "b", line: 17, scope: !29, file: !2, type: !5)
-!29 = distinct !DILexicalBlock(line: 17, column: 19, file: !47, scope: !9)
-!30 = !DILocation(line: 5, column: 16, scope: !1)
-!31 = !DILocation(line: 5, column: 32, scope: !12)
-!32 = !DILocation(line: 8, column: 14, scope: !6)
-!33 = !DILocation(line: 8, column: 29, scope: !15)
-!34 = !DILocation(line: 11, column: 16, scope: !7)
-!35 = !DILocation(line: 11, column: 32, scope: !18)
-!36 = !DILocation(line: 14, column: 16, scope: !8)
-!37 = !DILocation(line: 14, column: 32, scope: !21)
-!38 = !DILocation(line: 17, column: 16, scope: !9)
-!39 = !DILocation(line: 17, column: 32, scope: !29)
-!41 = !{!25, !26}
-!42 = !{!10, !11}
-!43 = !{!13, !14}
-!44 = !{!16, !17}
-!45 = !{!19, !20}
-!46 = !{!27, !28}
-!47 = !DIFile(filename: "ss3.c", directory: "/private/tmp")
-!48 = !{}
-!49 = !{i32 1, !"Debug Info Version", i32 3}

Modified: llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/coalesce-dbgvalue.ll Wed Dec 21 18:45:21 2016
@@ -6,18 +6,19 @@
 ; instruction which must be updated during
 ; ConnectedVNInfoEqClasses::Distribute().
 
+source_filename = "test/CodeGen/ARM/coalesce-dbgvalue.ll"
 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32"
 target triple = "thumbv7-apple-ios3.0.0"
 
- at c = common global i32 0, align 4, !dbg !19
- at b = common global i32 0, align 4, !dbg !18
- at a = common global i64 0, align 8, !dbg !16
- at d = common global i32 0, align 4, !dbg !20
+ at c = common global i32 0, align 4, !dbg !0
+ at b = common global i32 0, align 4, !dbg !4
+ at a = common global i64 0, align 8, !dbg !6
+ at d = common global i32 0, align 4, !dbg !9
 
 ; Function Attrs: nounwind ssp
-define i32 @pr16110() #0 !dbg !4 {
+define i32 @pr16110() #0 !dbg !15 {
 for.cond1.preheader:
-  store i32 0, i32* @c, align 4, !dbg !21
+  store i32 0, i32* @c, align 4, !dbg !24
   br label %for.cond1.outer, !dbg !26
 
 for.cond1:                                        ; preds = %for.end9, %for.cond1.outer
@@ -27,11 +28,11 @@ for.cond1:
 
 for.body2:                                        ; preds = %for.cond1
   store i32 %storemerge11, i32* @b, align 4, !dbg !26
-  tail call void @llvm.dbg.value(metadata i32* null, i64 0, metadata !11, metadata !DIExpression()), !dbg !28
+  tail call void @llvm.dbg.value(metadata i32* null, i64 0, metadata !20, metadata !27), !dbg !28
   %0 = load i64, i64* @a, align 8, !dbg !29
   %xor = xor i64 %0, %e.1.ph, !dbg !29
   %conv3 = trunc i64 %xor to i32, !dbg !29
-  tail call void @llvm.dbg.value(metadata i32 %conv3, i64 0, metadata !10, metadata !DIExpression()), !dbg !29
+  tail call void @llvm.dbg.value(metadata i32 %conv3, i64 0, metadata !19, metadata !27), !dbg !29
   %tobool4 = icmp eq i32 %conv3, 0, !dbg !29
   br i1 %tobool4, label %land.end, label %land.rhs, !dbg !29
 
@@ -52,16 +53,16 @@ land.end:
 for.cond1.outer:                                  ; preds = %land.end, %for.cond1.preheader
   %storemerge11.ph = phi i32 [ %inc8, %land.end ], [ 0, %for.cond1.preheader ]
   %e.1.ph = phi i64 [ %phitmp, %land.end ], [ 0, %for.cond1.preheader ]
-  %3 = load i32, i32* @d, align 4, !dbg !31
-  %tobool10 = icmp eq i32 %3, 0, !dbg !31
+  %3 = load i32, i32* @d, align 4, !dbg !30
+  %tobool10 = icmp eq i32 %3, 0, !dbg !30
   br label %for.cond1
 
 for.end9:                                         ; preds = %for.cond1
-  br i1 %tobool10, label %if.end, label %for.cond1, !dbg !31
+  br i1 %tobool10, label %if.end, label %for.cond1, !dbg !30
 
 if.end:                                           ; preds = %for.end9
   store i32 %storemerge11, i32* @b, align 4, !dbg !26
-  ret i32 0, !dbg !32
+  ret i32 0, !dbg !31
 }
 
 declare i32 @fn2(...) #1
@@ -76,35 +77,39 @@ attributes #1 = { "less-precise-fpmad"="
 attributes #2 = { nounwind readnone }
 attributes #3 = { nounwind }
 
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!33}
+!llvm.dbg.cu = !{!11}
+!llvm.module.flags = !{!14}
+
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "c", scope: null, file: !2, line: 3, type: !3, isLocal: false, isDefinition: true)
+!2 = !DIFile(filename: "pr16110.c", directory: "/d/b")
+!3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!4 = !DIGlobalVariableExpression(var: !5)
+!5 = !DIGlobalVariable(name: "b", scope: null, file: !2, line: 2, type: !3, isLocal: false, isDefinition: true)
+!6 = !DIGlobalVariableExpression(var: !7)
+!7 = !DIGlobalVariable(name: "a", scope: null, file: !2, line: 1, type: !8, isLocal: false, isDefinition: true)
+!8 = !DIBasicType(name: "long long int", size: 64, align: 32, encoding: DW_ATE_signed)
+!9 = !DIGlobalVariableExpression(var: !10)
+!10 = !DIGlobalVariable(name: "d", scope: null, file: !2, line: 4, type: !3, isLocal: false, isDefinition: true)
+!11 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 3.4 (trunk 182024) (llvm/trunk 182023)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !12, retainedTypes: !12, globals: !13, imports: !12)
+!12 = !{}
+!13 = !{!6, !4, !0, !9}
+!14 = !{i32 1, !"Debug Info Version", i32 3}
+!15 = distinct !DISubprogram(name: "pr16110", scope: !2, file: !2, line: 7, type: !16, isLocal: false, isDefinition: true, scopeLine: 7, virtualIndex: 6, isOptimized: true, unit: !11, variables: !18)
+!16 = !DISubroutineType(types: !17)
+!17 = !{!3}
+!18 = !{!19, !20}
+!19 = !DILocalVariable(name: "e", scope: !15, file: !2, line: 8, type: !3)
+!20 = !DILocalVariable(name: "f", scope: !21, file: !2, line: 13, type: !23)
+!21 = distinct !DILexicalBlock(scope: !22, file: !2, line: 12)
+!22 = distinct !DILexicalBlock(scope: !15, file: !2, line: 12)
+!23 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !3, size: 32, align: 32)
+!24 = !DILocation(line: 10, scope: !25)
+!25 = distinct !DILexicalBlock(scope: !15, file: !2, line: 10)
+!26 = !DILocation(line: 12, scope: !22)
+!27 = !DIExpression()
+!28 = !DILocation(line: 13, scope: !21)
+!29 = !DILocation(line: 14, scope: !21)
+!30 = !DILocation(line: 16, scope: !15)
+!31 = !DILocation(line: 18, scope: !15)
 
-!0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.4 (trunk 182024) (llvm/trunk 182023)", isOptimized: true, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !15, imports: !2)
-!1 = !DIFile(filename: "pr16110.c", directory: "/d/b")
-!2 = !{}
-!4 = distinct !DISubprogram(name: "pr16110", line: 7, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, unit: !0, scopeLine: 7, file: !1, scope: !5, type: !6, variables: !9)
-!5 = !DIFile(filename: "pr16110.c", directory: "/d/b")
-!6 = !DISubroutineType(types: !7)
-!7 = !{!8}
-!8 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
-!9 = !{!10, !11}
-!10 = !DILocalVariable(name: "e", line: 8, scope: !4, file: !5, type: !8)
-!11 = !DILocalVariable(name: "f", line: 13, scope: !12, file: !5, type: !14)
-!12 = distinct !DILexicalBlock(line: 12, column: 0, file: !1, scope: !13)
-!13 = distinct !DILexicalBlock(line: 12, column: 0, file: !1, scope: !4)
-!14 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, baseType: !8)
-!15 = !{!16, !18, !19, !20}
-!16 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !17))
-!17 = !DIBasicType(tag: DW_TAG_base_type, name: "long long int", size: 64, align: 32, encoding: DW_ATE_signed)
-!18 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8))
-!19 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c", line: 3, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8))
-!20 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "d", line: 4, isLocal: false, isDefinition: true, scope: null, file: !5, type: !8))
-!21 = !DILocation(line: 10, scope: !22)
-!22 = distinct !DILexicalBlock(line: 10, column: 0, file: !1, scope: !4)
-!26 = !DILocation(line: 12, scope: !13)
-!27 = !{i32* null}
-!28 = !DILocation(line: 13, scope: !12)
-!29 = !DILocation(line: 14, scope: !12)
-!31 = !DILocation(line: 16, scope: !4)
-!32 = !DILocation(line: 18, scope: !4)
-!33 = !{i32 1, !"Debug Info Version", i32 3}

Modified: llvm/trunk/test/CodeGen/BPF/dwarfdump.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/BPF/dwarfdump.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/BPF/dwarfdump.ll (original)
+++ llvm/trunk/test/CodeGen/BPF/dwarfdump.ll Wed Dec 21 18:45:21 2016
@@ -7,52 +7,56 @@ target triple = "bpf"
 
 @testprog.myvar_c = internal unnamed_addr global i32 0, align 4, !dbg !0
 
-define i32 @testprog(i32, i32) local_unnamed_addr #0 !dbg !1 {
-  tail call void @llvm.dbg.value(metadata i32 %0, i64 0, metadata !10, metadata !15), !dbg !16
-  tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !11, metadata !15), !dbg !17
-  %3 = load i32, i32* @testprog.myvar_c, align 4, !dbg !18, !tbaa !19
-  %4 = add i32 %1, %0, !dbg !23
-  %5 = add i32 %4, %3, !dbg !24
-  store i32 %5, i32* @testprog.myvar_c, align 4, !dbg !25, !tbaa !19
-  ret i32 %5, !dbg !26
+; Function Attrs: nounwind
+define i32 @testprog(i32, i32) local_unnamed_addr #0 !dbg !2 {
+  tail call void @llvm.dbg.value(metadata i32 %0, i64 0, metadata !11, metadata !16), !dbg !17
+  tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !12, metadata !16), !dbg !18
+  %3 = load i32, i32* @testprog.myvar_c, align 4, !dbg !19, !tbaa !20
+  %4 = add i32 %1, %0, !dbg !24
+  %5 = add i32 %4, %3, !dbg !25
+  store i32 %5, i32* @testprog.myvar_c, align 4, !dbg !26, !tbaa !20
+  ret i32 %5, !dbg !27
 }
 
+; Function Attrs: nounwind readnone
 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
 
 attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
 attributes #1 = { nounwind readnone }
 
-!llvm.dbg.cu = !{!6}
-!llvm.module.flags = !{!12, !13}
-!llvm.ident = !{!14}
-
-!0 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "myvar_c", scope: !1, file: !2, line: 3, type: !5, isLocal: true, isDefinition: true))
-!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)
-!2 = !DIFile(filename: "testprog.c", directory: "/w/llvm/bld")
-!3 = !DISubroutineType(types: !4)
-!4 = !{!5, !5, !5}
-!5 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
-!6 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 4.0.0 (trunk 287518) (llvm/trunk 287520)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !7, globals: !8)
-!7 = !{}
-!8 = !{!0}
-!9 = !{!10, !11}
-!10 = !DILocalVariable(name: "myvar_a", arg: 1, scope: !1, file: !2, line: 1, type: !5)
-!11 = !DILocalVariable(name: "myvar_b", arg: 2, scope: !1, file: !2, line: 1, type: !5)
-!12 = !{i32 2, !"Dwarf Version", i32 4}
-!13 = !{i32 2, !"Debug Info Version", i32 3}
-!14 = !{!"clang version 4.0.0 (trunk 287518) (llvm/trunk 287520)"}
-!15 = !DIExpression()
-!16 = !DILocation(line: 1, column: 18, scope: !1)
-!17 = !DILocation(line: 1, column: 31, scope: !1)
-!18 = !DILocation(line: 5, column: 19, scope: !1)
-!19 = !{!20, !20, i64 0}
-!20 = !{!"int", !21, i64 0}
-!21 = !{!"omnipotent char", !22, i64 0}
-!22 = !{!"Simple C/C++ TBAA"}
-!23 = !DILocation(line: 5, column: 27, scope: !1)
-!24 = !DILocation(line: 7, column: 27, scope: !1)
-!25 = !DILocation(line: 7, column: 17, scope: !1)
-!26 = !DILocation(line: 9, column: 9, scope: !1)
+!llvm.dbg.cu = !{!7}
+!llvm.module.flags = !{!13, !14}
+!llvm.ident = !{!15}
+
+!0 = distinct !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "myvar_c", scope: !2, file: !3, line: 3, type: !6, isLocal: true, isDefinition: true)
+!2 = distinct !DISubprogram(name: "testprog", scope: !3, file: !3, line: 1, type: !4, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagPrototyped, isOptimized: true, unit: !7, variables: !10)
+!3 = !DIFile(filename: "testprog.c", directory: "/w/llvm/bld")
+!4 = !DISubroutineType(types: !5)
+!5 = !{!6, !6, !6}
+!6 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
+!7 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 4.0.0 (trunk 287518) (llvm/trunk 287520)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !8, globals: !9)
+!8 = !{}
+!9 = !{!0}
+!10 = !{!11, !12}
+!11 = !DILocalVariable(name: "myvar_a", arg: 1, scope: !2, file: !3, line: 1, type: !6)
+!12 = !DILocalVariable(name: "myvar_b", arg: 2, scope: !2, file: !3, line: 1, type: !6)
+!13 = !{i32 2, !"Dwarf Version", i32 4}
+!14 = !{i32 2, !"Debug Info Version", i32 3}
+!15 = !{!"clang version 4.0.0 (trunk 287518) (llvm/trunk 287520)"}
+!16 = !DIExpression()
+!17 = !DILocation(line: 1, column: 18, scope: !2)
+!18 = !DILocation(line: 1, column: 31, scope: !2)
+!19 = !DILocation(line: 5, column: 19, scope: !2)
+!20 = !{!21, !21, i64 0}
+!21 = !{!"int", !22, i64 0}
+!22 = !{!"omnipotent char", !23, i64 0}
+!23 = !{!"Simple C/C++ TBAA"}
+!24 = !DILocation(line: 5, column: 27, scope: !2)
+!25 = !DILocation(line: 7, column: 27, scope: !2)
+!26 = !DILocation(line: 7, column: 17, scope: !2)
+!27 = !DILocation(line: 9, column: 9, scope: !2)
+
 ; CHECK: file_names[  1]    0 0x00000000 0x00000000 testprog.c
 ; CHECK: 0x0000000000000000      2
 ; CHECK: 0x0000000000000020      7

Modified: llvm/trunk/test/CodeGen/PowerPC/pr17168.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/pr17168.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PowerPC/pr17168.ll (original)
+++ llvm/trunk/test/CodeGen/PowerPC/pr17168.ll Wed Dec 21 18:45:21 2016
@@ -3,46 +3,49 @@
 ; This test formerly failed due to a DBG_VALUE being placed prior to a PHI
 ; when fast-isel is partially successful before punting to DAG-isel.
 
+source_filename = "test/CodeGen/PowerPC/pr17168.ll"
 target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64"
 target triple = "powerpc64-unknown-linux-gnu"
 
- at grid_points = external global [3 x i32], align 4, !dbg !299
+ at grid_points = external global [3 x i32], align 4, !dbg !0
 
 ; Function Attrs: nounwind
-define fastcc void @compute_rhs() #0 !dbg !114 {
+define fastcc void @compute_rhs() #0 !dbg !263 {
 entry:
-  br i1 undef, label %for.cond871.preheader.for.inc960_crit_edge, label %for.end1042, !dbg !439
+  br i1 undef, label %for.cond871.preheader.for.inc960_crit_edge, label %for.end1042, !dbg !281
 
 for.cond871.preheader.for.inc960_crit_edge:       ; preds = %for.cond871.preheader.for.inc960_crit_edge, %entry
-  br i1 false, label %for.cond871.preheader.for.inc960_crit_edge, label %for.cond964.preheader, !dbg !439
+  br i1 false, label %for.cond871.preheader.for.inc960_crit_edge, label %for.cond964.preheader, !dbg !281
 
 for.cond964.preheader:                            ; preds = %for.cond871.preheader.for.inc960_crit_edge
-  br i1 undef, label %for.cond968.preheader, label %for.end1042, !dbg !441
+  br i1 undef, label %for.cond968.preheader, label %for.end1042, !dbg !283
 
 for.cond968.preheader:                            ; preds = %for.cond968.preheader, %for.cond964.preheader
-  br i1 false, label %for.cond968.preheader, label %for.end1042, !dbg !441
+  br i1 false, label %for.cond968.preheader, label %for.end1042, !dbg !283
 
 for.end1042:                                      ; preds = %for.cond968.preheader, %for.cond964.preheader, %entry
+
   %0 = phi i32 [ undef, %for.cond964.preheader ], [ undef, %for.cond968.preheader ], [ undef, %entry ]
-  %1 = load i32, i32* getelementptr inbounds ([3 x i32], [3 x i32]* @grid_points, i64 0, i64 0), align 4, !dbg !443, !tbaa !444
-  tail call void @llvm.dbg.value(metadata i32 1, i64 0, metadata !119, metadata !DIExpression()), !dbg !448
-  %sub10454270 = add nsw i32 %0, -1, !dbg !448
-  %cmp10464271 = icmp sgt i32 %sub10454270, 1, !dbg !448
-  %sub11134263 = add nsw i32 %1, -1, !dbg !450
-  %cmp11144264 = icmp sgt i32 %sub11134263, 1, !dbg !450
-  br i1 %cmp11144264, label %for.cond1116.preheader, label %for.cond1816.preheader.for.inc1898_crit_edge, !dbg !450
+  %1 = load i32, i32* getelementptr inbounds ([3 x i32], [3 x i32]* @grid_points, i64 0, i64 0), align 4, !dbg !285, !tbaa !286
+  tail call void @llvm.dbg.value(metadata i32 1, i64 0, metadata !268, metadata !290), !dbg !291
+  %sub10454270 = add nsw i32 %0, -1, !dbg !291
+  %cmp10464271 = icmp sgt i32 %sub10454270, 1, !dbg !291
+  %sub11134263 = add nsw i32 %1, -1, !dbg !293
+  %cmp11144264 = icmp sgt i32 %sub11134263, 1, !dbg !293
+  br i1 %cmp11144264, label %for.cond1116.preheader, label %for.cond1816.preheader.for.inc1898_crit_edge, !dbg !293
 
 for.cond1116.preheader:                           ; preds = %for.inc1658, %for.end1042
-  br i1 %cmp10464271, label %for.body1123, label %for.inc1658, !dbg !452
+  br i1 %cmp10464271, label %for.body1123, label %for.inc1658, !dbg !295
 
 for.body1123:                                     ; preds = %for.body1123, %for.cond1116.preheader
-  br label %for.body1123, !dbg !455
+
+  br label %for.body1123, !dbg !298
 
 for.inc1658:                                      ; preds = %for.cond1116.preheader
-  br i1 undef, label %for.cond1116.preheader, label %for.cond1816.preheader.for.inc1898_crit_edge, !dbg !450
+  br i1 undef, label %for.cond1116.preheader, label %for.cond1816.preheader.for.inc1898_crit_edge, !dbg !293
 
 for.cond1816.preheader.for.inc1898_crit_edge:     ; preds = %for.cond1816.preheader.for.inc1898_crit_edge, %for.inc1658, %for.end1042
-  br label %for.cond1816.preheader.for.inc1898_crit_edge, !dbg !458
+  br label %for.cond1816.preheader.for.inc1898_crit_edge, !dbg !301
 }
 
 ; Function Attrs: nounwind readnone
@@ -51,470 +54,314 @@ declare void @llvm.dbg.value(metadata, i
 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
 attributes #1 = { nounwind readnone }
 
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!438, !464}
+!llvm.dbg.cu = !{!7}
+!llvm.module.flags = !{!261, !262}
+
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "grid_points", scope: null, file: !2, line: 28, type: !3, isLocal: true, isDefinition: true)
+!2 = !DIFile(filename: "./header.h", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
+!3 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 96, align: 32, elements: !5)
+!4 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!5 = !{!6}
+!6 = !DISubrange(count: 3)
+!7 = distinct !DICompileUnit(language: DW_LANG_C99, file: !8, producer: "clang version 3.4 (trunk 190311)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !9, retainedTypes: !9, globals: !10, imports: !9)
+!8 = !DIFile(filename: "bt.c", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
+!9 = !{}
+!10 = !{!0, !11, !14, !20, !22, !24, !26, !28, !30, !32, !34, !36, !38, !40, !42, !44, !46, !48, !50, !52, !54, !56, !58, !60, !62, !64, !66, !68, !70, !72, !74, !76, !78, !80, !82, !84, !86, !88, !93, !97, !99, !101, !103, !105, !107, !109, !114, !116, !118, !120, !122, !124, !126, !128, !130, !132, !134, !136, !138, !140, !142, !144, !146, !148, !150, !152, !154, !156, !158, !160, !162, !164, !166, !168, !170, !172, !174, !176, !178, !180, !182, !184, !186, !188, !190, !192, !194, !196, !198, !200, !202, !204, !206, !208, !210, !212, !214, !216, !218, !220, !222, !224, !226, !228, !230, !232, !236, !241, !243, !247, !249, !253, !255, !257, !259}
+!11 = !DIGlobalVariableExpression(var: !12)
+!12 = !DIGlobalVariable(name: "dt", scope: null, file: !2, line: 35, type: !13, isLocal: true, isDefinition: true)
+!13 = !DIBasicType(name: "double", size: 64, align: 64, encoding: DW_ATE_float)
+!14 = !DIGlobalVariableExpression(var: !15)
+!15 = !DIGlobalVariable(name: "rhs", scope: null, file: !2, line: 68, type: !16, isLocal: true, isDefinition: true)
+!16 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 1385839040, align: 64, elements: !17)
+!17 = !{!18, !18, !18, !19}
+!18 = !DISubrange(count: 163)
+!19 = !DISubrange(count: 5)
+!20 = !DIGlobalVariableExpression(var: !21)
+!21 = !DIGlobalVariable(name: "zzcon5", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)
+!22 = !DIGlobalVariableExpression(var: !23)
+!23 = !DIGlobalVariable(name: "zzcon4", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)
+!24 = !DIGlobalVariableExpression(var: !25)
+!25 = !DIGlobalVariable(name: "zzcon3", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)
+!26 = !DIGlobalVariableExpression(var: !27)
+!27 = !DIGlobalVariable(name: "dz5tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)
+!28 = !DIGlobalVariableExpression(var: !29)
+!29 = !DIGlobalVariable(name: "dz4tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)
+!30 = !DIGlobalVariableExpression(var: !31)
+!31 = !DIGlobalVariable(name: "dz3tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)
+!32 = !DIGlobalVariableExpression(var: !33)
+!33 = !DIGlobalVariable(name: "zzcon2", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)
+!34 = !DIGlobalVariableExpression(var: !35)
+!35 = !DIGlobalVariable(name: "dz2tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)
+!36 = !DIGlobalVariableExpression(var: !37)
+!37 = !DIGlobalVariable(name: "tz2", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
+!38 = !DIGlobalVariableExpression(var: !39)
+!39 = !DIGlobalVariable(name: "dz1tz1", scope: null, file: !2, line: 43, type: !13, isLocal: true, isDefinition: true)
+!40 = !DIGlobalVariableExpression(var: !41)
+!41 = !DIGlobalVariable(name: "yycon5", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)
+!42 = !DIGlobalVariableExpression(var: !43)
+!43 = !DIGlobalVariable(name: "yycon4", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)
+!44 = !DIGlobalVariableExpression(var: !45)
+!45 = !DIGlobalVariable(name: "yycon3", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)
+!46 = !DIGlobalVariableExpression(var: !47)
+!47 = !DIGlobalVariable(name: "dy5ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)
+!48 = !DIGlobalVariableExpression(var: !49)
+!49 = !DIGlobalVariable(name: "dy4ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)
+!50 = !DIGlobalVariableExpression(var: !51)
+!51 = !DIGlobalVariable(name: "dy3ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)
+!52 = !DIGlobalVariableExpression(var: !53)
+!53 = !DIGlobalVariable(name: "yycon2", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)
+!54 = !DIGlobalVariableExpression(var: !55)
+!55 = !DIGlobalVariable(name: "dy2ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)
+!56 = !DIGlobalVariableExpression(var: !57)
+!57 = !DIGlobalVariable(name: "ty2", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
+!58 = !DIGlobalVariableExpression(var: !59)
+!59 = !DIGlobalVariable(name: "dy1ty1", scope: null, file: !2, line: 41, type: !13, isLocal: true, isDefinition: true)
+!60 = !DIGlobalVariableExpression(var: !61)
+!61 = !DIGlobalVariable(name: "dssp", scope: null, file: !2, line: 35, type: !13, isLocal: true, isDefinition: true)
+!62 = !DIGlobalVariableExpression(var: !63)
+!63 = !DIGlobalVariable(name: "c1", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
+!64 = !DIGlobalVariableExpression(var: !65)
+!65 = !DIGlobalVariable(name: "xxcon5", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)
+!66 = !DIGlobalVariableExpression(var: !67)
+!67 = !DIGlobalVariable(name: "xxcon4", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)
+!68 = !DIGlobalVariableExpression(var: !69)
+!69 = !DIGlobalVariable(name: "xxcon3", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)
+!70 = !DIGlobalVariableExpression(var: !71)
+!71 = !DIGlobalVariable(name: "dx5tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)
+!72 = !DIGlobalVariableExpression(var: !73)
+!73 = !DIGlobalVariable(name: "dx4tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)
+!74 = !DIGlobalVariableExpression(var: !75)
+!75 = !DIGlobalVariable(name: "dx3tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)
+!76 = !DIGlobalVariableExpression(var: !77)
+!77 = !DIGlobalVariable(name: "c2", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
+!78 = !DIGlobalVariableExpression(var: !79)
+!79 = !DIGlobalVariable(name: "con43", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)
+!80 = !DIGlobalVariableExpression(var: !81)
+!81 = !DIGlobalVariable(name: "xxcon2", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)
+!82 = !DIGlobalVariableExpression(var: !83)
+!83 = !DIGlobalVariable(name: "dx2tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)
+!84 = !DIGlobalVariableExpression(var: !85)
+!85 = !DIGlobalVariable(name: "tx2", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
+!86 = !DIGlobalVariableExpression(var: !87)
+!87 = !DIGlobalVariable(name: "dx1tx1", scope: null, file: !2, line: 39, type: !13, isLocal: true, isDefinition: true)
+!88 = !DIGlobalVariableExpression(var: !89)
+!89 = !DIGlobalVariable(name: "forcing", scope: null, file: !2, line: 66, type: !90, isLocal: true, isDefinition: true)
+!90 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 1663006848, align: 64, elements: !91)
+!91 = !{!18, !18, !18, !92}
+!92 = !DISubrange(count: 6)
+!93 = !DIGlobalVariableExpression(var: !94)
+!94 = !DIGlobalVariable(name: "qs", scope: null, file: !2, line: 63, type: !95, isLocal: true, isDefinition: true)
+!95 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 277167808, align: 64, elements: !96)
+!96 = !{!18, !18, !18}
+!97 = !DIGlobalVariableExpression(var: !98)
+!98 = !DIGlobalVariable(name: "square", scope: null, file: !2, line: 65, type: !95, isLocal: true, isDefinition: true)
+!99 = !DIGlobalVariableExpression(var: !100)
+!100 = !DIGlobalVariable(name: "ws", scope: null, file: !2, line: 62, type: !95, isLocal: true, isDefinition: true)
+!101 = !DIGlobalVariableExpression(var: !102)
+!102 = !DIGlobalVariable(name: "vs", scope: null, file: !2, line: 61, type: !95, isLocal: true, isDefinition: true)
+!103 = !DIGlobalVariableExpression(var: !104)
+!104 = !DIGlobalVariable(name: "us", scope: null, file: !2, line: 60, type: !95, isLocal: true, isDefinition: true)
+!105 = !DIGlobalVariableExpression(var: !106)
+!106 = !DIGlobalVariable(name: "rho_i", scope: null, file: !2, line: 64, type: !95, isLocal: true, isDefinition: true)
+!107 = !DIGlobalVariableExpression(var: !108)
+!108 = !DIGlobalVariable(name: "u", scope: null, file: !2, line: 67, type: !16, isLocal: true, isDefinition: true)
+!109 = !DIGlobalVariableExpression(var: !110)
+!110 = !DIGlobalVariable(name: "ce", scope: null, file: !2, line: 36, type: !111, isLocal: true, isDefinition: true)
+!111 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 4160, align: 64, elements: !112)
+!112 = !{!19, !113}
+!113 = !DISubrange(count: 13)
+!114 = !DIGlobalVariableExpression(var: !115)
+!115 = !DIGlobalVariable(name: "dnzm1", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
+!116 = !DIGlobalVariableExpression(var: !117)
+!117 = !DIGlobalVariable(name: "dnym1", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
+!118 = !DIGlobalVariableExpression(var: !119)
+!119 = !DIGlobalVariable(name: "dnxm1", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
+!120 = !DIGlobalVariableExpression(var: !121)
+!121 = !DIGlobalVariable(name: "zzcon1", scope: null, file: !2, line: 42, type: !13, isLocal: true, isDefinition: true)
+!122 = !DIGlobalVariableExpression(var: !123)
+!123 = !DIGlobalVariable(name: "yycon1", scope: null, file: !2, line: 40, type: !13, isLocal: true, isDefinition: true)
+!124 = !DIGlobalVariableExpression(var: !125)
+!125 = !DIGlobalVariable(name: "xxcon1", scope: null, file: !2, line: 38, type: !13, isLocal: true, isDefinition: true)
+!126 = !DIGlobalVariableExpression(var: !127)
+!127 = !DIGlobalVariable(name: "con16", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)
+!128 = !DIGlobalVariableExpression(var: !129)
+!129 = !DIGlobalVariable(name: "c2iv", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)
+!130 = !DIGlobalVariableExpression(var: !131)
+!131 = !DIGlobalVariable(name: "c3c4tz3", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)
+!132 = !DIGlobalVariableExpression(var: !133)
+!133 = !DIGlobalVariable(name: "c3c4ty3", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)
+!134 = !DIGlobalVariableExpression(var: !135)
+!135 = !DIGlobalVariable(name: "c3c4tx3", scope: null, file: !2, line: 48, type: !13, isLocal: true, isDefinition: true)
+!136 = !DIGlobalVariableExpression(var: !137)
+!137 = !DIGlobalVariable(name: "comz6", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
+!138 = !DIGlobalVariableExpression(var: !139)
+!139 = !DIGlobalVariable(name: "comz5", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
+!140 = !DIGlobalVariableExpression(var: !141)
+!141 = !DIGlobalVariable(name: "comz4", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
+!142 = !DIGlobalVariableExpression(var: !143)
+!143 = !DIGlobalVariable(name: "comz1", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
+!144 = !DIGlobalVariableExpression(var: !145)
+!145 = !DIGlobalVariable(name: "dtdssp", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
+!146 = !DIGlobalVariableExpression(var: !147)
+!147 = !DIGlobalVariable(name: "c2dttz1", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
+!148 = !DIGlobalVariableExpression(var: !149)
+!149 = !DIGlobalVariable(name: "c2dtty1", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
+!150 = !DIGlobalVariableExpression(var: !151)
+!151 = !DIGlobalVariable(name: "c2dttx1", scope: null, file: !2, line: 47, type: !13, isLocal: true, isDefinition: true)
+!152 = !DIGlobalVariableExpression(var: !153)
+!153 = !DIGlobalVariable(name: "dttz2", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)
+!154 = !DIGlobalVariableExpression(var: !155)
+!155 = !DIGlobalVariable(name: "dttz1", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)
+!156 = !DIGlobalVariableExpression(var: !157)
+!157 = !DIGlobalVariable(name: "dtty2", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)
+!158 = !DIGlobalVariableExpression(var: !159)
+!159 = !DIGlobalVariable(name: "dtty1", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)
+!160 = !DIGlobalVariableExpression(var: !161)
+!161 = !DIGlobalVariable(name: "dttx2", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)
+!162 = !DIGlobalVariableExpression(var: !163)
+!163 = !DIGlobalVariable(name: "dttx1", scope: null, file: !2, line: 46, type: !13, isLocal: true, isDefinition: true)
+!164 = !DIGlobalVariableExpression(var: !165)
+!165 = !DIGlobalVariable(name: "c5dssp", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
+!166 = !DIGlobalVariableExpression(var: !167)
+!167 = !DIGlobalVariable(name: "c4dssp", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
+!168 = !DIGlobalVariableExpression(var: !169)
+!169 = !DIGlobalVariable(name: "dzmax", scope: null, file: !2, line: 37, type: !13, isLocal: true, isDefinition: true)
+!170 = !DIGlobalVariableExpression(var: !171)
+!171 = !DIGlobalVariable(name: "dymax", scope: null, file: !2, line: 37, type: !13, isLocal: true, isDefinition: true)
+!172 = !DIGlobalVariableExpression(var: !173)
+!173 = !DIGlobalVariable(name: "dxmax", scope: null, file: !2, line: 37, type: !13, isLocal: true, isDefinition: true)
+!174 = !DIGlobalVariableExpression(var: !175)
+!175 = !DIGlobalVariable(name: "dz5", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)
+!176 = !DIGlobalVariableExpression(var: !177)
+!177 = !DIGlobalVariable(name: "dz4", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)
+!178 = !DIGlobalVariableExpression(var: !179)
+!179 = !DIGlobalVariable(name: "dz3", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)
+!180 = !DIGlobalVariableExpression(var: !181)
+!181 = !DIGlobalVariable(name: "dz2", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)
+!182 = !DIGlobalVariableExpression(var: !183)
+!183 = !DIGlobalVariable(name: "dz1", scope: null, file: !2, line: 34, type: !13, isLocal: true, isDefinition: true)
+!184 = !DIGlobalVariableExpression(var: !185)
+!185 = !DIGlobalVariable(name: "dy5", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)
+!186 = !DIGlobalVariableExpression(var: !187)
+!187 = !DIGlobalVariable(name: "dy4", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)
+!188 = !DIGlobalVariableExpression(var: !189)
+!189 = !DIGlobalVariable(name: "dy3", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)
+!190 = !DIGlobalVariableExpression(var: !191)
+!191 = !DIGlobalVariable(name: "dy2", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)
+!192 = !DIGlobalVariableExpression(var: !193)
+!193 = !DIGlobalVariable(name: "dy1", scope: null, file: !2, line: 33, type: !13, isLocal: true, isDefinition: true)
+!194 = !DIGlobalVariableExpression(var: !195)
+!195 = !DIGlobalVariable(name: "dx5", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)
+!196 = !DIGlobalVariableExpression(var: !197)
+!197 = !DIGlobalVariable(name: "dx4", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)
+!198 = !DIGlobalVariableExpression(var: !199)
+!199 = !DIGlobalVariable(name: "dx3", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)
+!200 = !DIGlobalVariableExpression(var: !201)
+!201 = !DIGlobalVariable(name: "dx2", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)
+!202 = !DIGlobalVariableExpression(var: !203)
+!203 = !DIGlobalVariable(name: "dx1", scope: null, file: !2, line: 32, type: !13, isLocal: true, isDefinition: true)
+!204 = !DIGlobalVariableExpression(var: !205)
+!205 = !DIGlobalVariable(name: "tz3", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
+!206 = !DIGlobalVariableExpression(var: !207)
+!207 = !DIGlobalVariable(name: "tz1", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
+!208 = !DIGlobalVariableExpression(var: !209)
+!209 = !DIGlobalVariable(name: "ty3", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
+!210 = !DIGlobalVariableExpression(var: !211)
+!211 = !DIGlobalVariable(name: "ty1", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
+!212 = !DIGlobalVariableExpression(var: !213)
+!213 = !DIGlobalVariable(name: "tx3", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
+!214 = !DIGlobalVariableExpression(var: !215)
+!215 = !DIGlobalVariable(name: "tx1", scope: null, file: !2, line: 31, type: !13, isLocal: true, isDefinition: true)
+!216 = !DIGlobalVariableExpression(var: !217)
+!217 = !DIGlobalVariable(name: "conz1", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
+!218 = !DIGlobalVariableExpression(var: !219)
+!219 = !DIGlobalVariable(name: "c1345", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
+!220 = !DIGlobalVariableExpression(var: !221)
+!221 = !DIGlobalVariable(name: "c3c4", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
+!222 = !DIGlobalVariableExpression(var: !223)
+!223 = !DIGlobalVariable(name: "c1c5", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
+!224 = !DIGlobalVariableExpression(var: !225)
+!225 = !DIGlobalVariable(name: "c1c2", scope: null, file: !2, line: 44, type: !13, isLocal: true, isDefinition: true)
+!226 = !DIGlobalVariableExpression(var: !227)
+!227 = !DIGlobalVariable(name: "c5", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
+!228 = !DIGlobalVariableExpression(var: !229)
+!229 = !DIGlobalVariable(name: "c4", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
+!230 = !DIGlobalVariableExpression(var: !231)
+!231 = !DIGlobalVariable(name: "c3", scope: null, file: !2, line: 45, type: !13, isLocal: true, isDefinition: true)
+!232 = !DIGlobalVariableExpression(var: !233)
+!233 = !DIGlobalVariable(name: "lhs", scope: null, file: !2, line: 69, type: !234, isLocal: true, isDefinition: true)
+!234 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 20787585600, align: 64, elements: !235)
+!235 = !{!18, !18, !18, !6, !19, !19}
+!236 = !DIGlobalVariableExpression(var: !237)
+!237 = !DIGlobalVariable(name: "q", scope: null, file: !2, line: 73, type: !238, isLocal: true, isDefinition: true)
+!238 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 10368, align: 64, elements: !239)
+!239 = !{!240}
+!240 = !DISubrange(count: 162)
+!241 = !DIGlobalVariableExpression(var: !242)
+!242 = !DIGlobalVariable(name: "cuf", scope: null, file: !2, line: 72, type: !238, isLocal: true, isDefinition: true)
+!243 = !DIGlobalVariableExpression(var: !244)
+!244 = !DIGlobalVariable(name: "buf", scope: null, file: !2, line: 75, type: !245, isLocal: true, isDefinition: true)
+!245 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 51840, align: 64, elements: !246)
+!246 = !{!240, !19}
+!247 = !DIGlobalVariableExpression(var: !248)
+!248 = !DIGlobalVariable(name: "ue", scope: null, file: !2, line: 74, type: !245, isLocal: true, isDefinition: true)
+!249 = !DIGlobalVariableExpression(var: !250)
+!250 = !DIGlobalVariable(name: "njac", scope: null, file: !2, line: 86, type: !251, isLocal: true, isDefinition: true)
+!251 = !DICompositeType(tag: DW_TAG_array_type, baseType: !13, size: 6886684800, align: 64, elements: !252)
+!252 = !{!18, !18, !240, !19, !19}
+!253 = !DIGlobalVariableExpression(var: !254)
+!254 = !DIGlobalVariable(name: "fjac", scope: null, file: !2, line: 84, type: !251, isLocal: true, isDefinition: true)
+!255 = !DIGlobalVariableExpression(var: !256)
+!256 = !DIGlobalVariable(name: "tmp3", scope: null, file: !2, line: 88, type: !13, isLocal: true, isDefinition: true)
+!257 = !DIGlobalVariableExpression(var: !258)
+!258 = !DIGlobalVariable(name: "tmp2", scope: null, file: !2, line: 88, type: !13, isLocal: true, isDefinition: true)
+!259 = !DIGlobalVariableExpression(var: !260)
+!260 = !DIGlobalVariable(name: "tmp1", scope: null, file: !2, line: 88, type: !13, isLocal: true, isDefinition: true)
+!261 = !{i32 2, !"Dwarf Version", i32 4}
+!262 = !{i32 1, !"Debug Info Version", i32 3}
+!263 = distinct !DISubprogram(name: "compute_rhs", scope: !8, file: !8, line: 1767, type: !264, isLocal: true, isDefinition: true, scopeLine: 1767, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !7, variables: !266)
+!264 = !DISubroutineType(types: !265)
+!265 = !{null}
+!266 = !{!267, !268, !269, !270, !271, !272, !273, !274, !275, !276, !277, !278, !279, !280}
+!267 = !DILocalVariable(name: "i", scope: !263, file: !8, line: 1769, type: !4)
+!268 = !DILocalVariable(name: "j", scope: !263, file: !8, line: 1769, type: !4)
+!269 = !DILocalVariable(name: "k", scope: !263, file: !8, line: 1769, type: !4)
+!270 = !DILocalVariable(name: "m", scope: !263, file: !8, line: 1769, type: !4)
+!271 = !DILocalVariable(name: "rho_inv", scope: !263, file: !8, line: 1770, type: !13)
+!272 = !DILocalVariable(name: "uijk", scope: !263, file: !8, line: 1770, type: !13)
+!273 = !DILocalVariable(name: "up1", scope: !263, file: !8, line: 1770, type: !13)
+!274 = !DILocalVariable(name: "um1", scope: !263, file: !8, line: 1770, type: !13)
+!275 = !DILocalVariable(name: "vijk", scope: !263, file: !8, line: 1770, type: !13)
+!276 = !DILocalVariable(name: "vp1", scope: !263, file: !8, line: 1770, type: !13)
+!277 = !DILocalVariable(name: "vm1", scope: !263, file: !8, line: 1770, type: !13)
+!278 = !DILocalVariable(name: "wijk", scope: !263, file: !8, line: 1770, type: !13)
+!279 = !DILocalVariable(name: "wp1", scope: !263, file: !8, line: 1770, type: !13)
+!280 = !DILocalVariable(name: "wm1", scope: !263, file: !8, line: 1770, type: !13)
+!281 = !DILocation(line: 1898, scope: !282)
+!282 = distinct !DILexicalBlock(scope: !263, file: !8, line: 1898)
+!283 = !DILocation(line: 1913, scope: !284)
+!284 = distinct !DILexicalBlock(scope: !263, file: !8, line: 1913)
+!285 = !DILocation(line: 1923, scope: !263)
+!286 = !{!287, !287, i64 0}
+!287 = !{!"int", !288}
+!288 = !{!"omnipotent char", !289}
+!289 = !{!"Simple C/C++ TBAA"}
+!290 = !DIExpression()
+!291 = !DILocation(line: 1925, scope: !292)
+!292 = distinct !DILexicalBlock(scope: !263, file: !8, line: 1925)
+!293 = !DILocation(line: 1939, scope: !294)
+!294 = distinct !DILexicalBlock(scope: !263, file: !8, line: 1939)
+!295 = !DILocation(line: 1940, scope: !296)
+!296 = distinct !DILexicalBlock(scope: !297, file: !8, line: 1940)
+!297 = distinct !DILexicalBlock(scope: !294, file: !8, line: 1939)
+!298 = !DILocation(line: 1941, scope: !299)
+!299 = distinct !DILexicalBlock(scope: !300, file: !8, line: 1941)
+!300 = distinct !DILexicalBlock(scope: !296, file: !8, line: 1940)
+!301 = !DILocation(line: 2020, scope: !302)
+!302 = distinct !DILexicalBlock(scope: !303, file: !8, line: 2020)
+!303 = distinct !DILexicalBlock(scope: !304, file: !8, line: 2019)
+!304 = distinct !DILexicalBlock(scope: !305, file: !8, line: 2019)
+!305 = distinct !DILexicalBlock(scope: !306, file: !8, line: 2018)
+!306 = distinct !DILexicalBlock(scope: !263, file: !8, line: 2018)
 
-!0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.4 (trunk 190311)", isOptimized: true, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !298, imports: !2)
-!1 = !DIFile(filename: "bt.c", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
-!2 = !{}
-!4 = distinct !DISubprogram(name: "main", line: 74, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 74, file: !1, scope: !5, type: !6, variables: !12)
-!5 = !DIFile(filename: "bt.c", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
-!6 = !DISubroutineType(types: !7)
-!7 = !{!8, !8, !9}
-!8 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
-!9 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !10)
-!10 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !11)
-!11 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
-!12 = !{!13, !14, !15, !16, !17, !18, !19, !21, !22, !23, !25, !26}
-!13 = !DILocalVariable(name: "argc", line: 74, arg: 1, scope: !4, file: !5, type: !8)
-!14 = !DILocalVariable(name: "argv", line: 74, arg: 2, scope: !4, file: !5, type: !9)
-!15 = !DILocalVariable(name: "niter", line: 76, scope: !4, file: !5, type: !8)
-!16 = !DILocalVariable(name: "step", line: 76, scope: !4, file: !5, type: !8)
-!17 = !DILocalVariable(name: "n3", line: 76, scope: !4, file: !5, type: !8)
-!18 = !DILocalVariable(name: "nthreads", line: 77, scope: !4, file: !5, type: !8)
-!19 = !DILocalVariable(name: "navg", line: 78, scope: !4, file: !5, type: !20)
-!20 = !DIBasicType(tag: DW_TAG_base_type, name: "double", size: 64, align: 64, encoding: DW_ATE_float)
-!21 = !DILocalVariable(name: "mflops", line: 78, scope: !4, file: !5, type: !20)
-!22 = !DILocalVariable(name: "tmax", line: 80, scope: !4, file: !5, type: !20)
-!23 = !DILocalVariable(name: "verified", line: 81, scope: !4, file: !5, type: !24)
-!24 = !DIDerivedType(tag: DW_TAG_typedef, name: "boolean", line: 12, file: !1, baseType: !8)
-!25 = !DILocalVariable(name: "class", line: 82, scope: !4, file: !5, type: !11)
-!26 = !DILocalVariable(name: "fp", line: 83, scope: !4, file: !5, type: !27)
-!27 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !28)
-!28 = !DIDerivedType(tag: DW_TAG_typedef, name: "FILE", line: 49, file: !1, baseType: !29)
-!29 = !DICompositeType(tag: DW_TAG_structure_type, name: "_IO_FILE", line: 271, size: 1728, align: 64, file: !30, elements: !31)
-!30 = !DIFile(filename: "/usr/include/libio.h", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
-!31 = !{!32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !52, !53, !54, !55, !58, !60, !62, !66, !68, !70, !71, !72, !73, !74, !77, !78}
-!32 = !DIDerivedType(tag: DW_TAG_member, name: "_flags", line: 272, size: 32, align: 32, file: !30, scope: !29, baseType: !8)
-!33 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_read_ptr", line: 277, size: 64, align: 64, offset: 64, file: !30, scope: !29, baseType: !10)
-!34 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_read_end", line: 278, size: 64, align: 64, offset: 128, file: !30, scope: !29, baseType: !10)
-!35 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_read_base", line: 279, size: 64, align: 64, offset: 192, file: !30, scope: !29, baseType: !10)
-!36 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_write_base", line: 280, size: 64, align: 64, offset: 256, file: !30, scope: !29, baseType: !10)
-!37 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_write_ptr", line: 281, size: 64, align: 64, offset: 320, file: !30, scope: !29, baseType: !10)
-!38 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_write_end", line: 282, size: 64, align: 64, offset: 384, file: !30, scope: !29, baseType: !10)
-!39 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_buf_base", line: 283, size: 64, align: 64, offset: 448, file: !30, scope: !29, baseType: !10)
-!40 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_buf_end", line: 284, size: 64, align: 64, offset: 512, file: !30, scope: !29, baseType: !10)
-!41 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_save_base", line: 286, size: 64, align: 64, offset: 576, file: !30, scope: !29, baseType: !10)
-!42 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_backup_base", line: 287, size: 64, align: 64, offset: 640, file: !30, scope: !29, baseType: !10)
-!43 = !DIDerivedType(tag: DW_TAG_member, name: "_IO_save_end", line: 288, size: 64, align: 64, offset: 704, file: !30, scope: !29, baseType: !10)
-!44 = !DIDerivedType(tag: DW_TAG_member, name: "_markers", line: 290, size: 64, align: 64, offset: 768, file: !30, scope: !29, baseType: !45)
-!45 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !46)
-!46 = !DICompositeType(tag: DW_TAG_structure_type, name: "_IO_marker", line: 186, size: 192, align: 64, file: !30, elements: !47)
-!47 = !{!48, !49, !51}
-!48 = !DIDerivedType(tag: DW_TAG_member, name: "_next", line: 187, size: 64, align: 64, file: !30, scope: !46, baseType: !45)
-!49 = !DIDerivedType(tag: DW_TAG_member, name: "_sbuf", line: 188, size: 64, align: 64, offset: 64, file: !30, scope: !46, baseType: !50)
-!50 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !29)
-!51 = !DIDerivedType(tag: DW_TAG_member, name: "_pos", line: 192, size: 32, align: 32, offset: 128, file: !30, scope: !46, baseType: !8)
-!52 = !DIDerivedType(tag: DW_TAG_member, name: "_chain", line: 292, size: 64, align: 64, offset: 832, file: !30, scope: !29, baseType: !50)
-!53 = !DIDerivedType(tag: DW_TAG_member, name: "_fileno", line: 294, size: 32, align: 32, offset: 896, file: !30, scope: !29, baseType: !8)
-!54 = !DIDerivedType(tag: DW_TAG_member, name: "_flags2", line: 298, size: 32, align: 32, offset: 928, file: !30, scope: !29, baseType: !8)
-!55 = !DIDerivedType(tag: DW_TAG_member, name: "_old_offset", line: 300, size: 64, align: 64, offset: 960, file: !30, scope: !29, baseType: !56)
-!56 = !DIDerivedType(tag: DW_TAG_typedef, name: "__off_t", line: 141, file: !30, baseType: !57)
-!57 = !DIBasicType(tag: DW_TAG_base_type, name: "long int", size: 64, align: 64, encoding: DW_ATE_signed)
-!58 = !DIDerivedType(tag: DW_TAG_member, name: "_cur_column", line: 304, size: 16, align: 16, offset: 1024, file: !30, scope: !29, baseType: !59)
-!59 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned short", size: 16, align: 16, encoding: DW_ATE_unsigned)
-!60 = !DIDerivedType(tag: DW_TAG_member, name: "_vtable_offset", line: 305, size: 8, align: 8, offset: 1040, file: !30, scope: !29, baseType: !61)
-!61 = !DIBasicType(tag: DW_TAG_base_type, name: "signed char", size: 8, align: 8, encoding: DW_ATE_signed_char)
-!62 = !DIDerivedType(tag: DW_TAG_member, name: "_shortbuf", line: 306, size: 8, align: 8, offset: 1048, file: !30, scope: !29, baseType: !63)
-!63 = !DICompositeType(tag: DW_TAG_array_type, size: 8, align: 8, baseType: !11, elements: !64)
-!64 = !{!65}
-!65 = !DISubrange(count: 1)
-!66 = !DIDerivedType(tag: DW_TAG_member, name: "_lock", line: 310, size: 64, align: 64, offset: 1088, file: !30, scope: !29, baseType: !67)
-!67 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: null)
-!68 = !DIDerivedType(tag: DW_TAG_member, name: "_offset", line: 319, size: 64, align: 64, offset: 1152, file: !30, scope: !29, baseType: !69)
-!69 = !DIDerivedType(tag: DW_TAG_typedef, name: "__off64_t", line: 142, file: !30, baseType: !57)
-!70 = !DIDerivedType(tag: DW_TAG_member, name: "__pad1", line: 328, size: 64, align: 64, offset: 1216, file: !30, scope: !29, baseType: !67)
-!71 = !DIDerivedType(tag: DW_TAG_member, name: "__pad2", line: 329, size: 64, align: 64, offset: 1280, file: !30, scope: !29, baseType: !67)
-!72 = !DIDerivedType(tag: DW_TAG_member, name: "__pad3", line: 330, size: 64, align: 64, offset: 1344, file: !30, scope: !29, baseType: !67)
-!73 = !DIDerivedType(tag: DW_TAG_member, name: "__pad4", line: 331, size: 64, align: 64, offset: 1408, file: !30, scope: !29, baseType: !67)
-!74 = !DIDerivedType(tag: DW_TAG_member, name: "__pad5", line: 332, size: 64, align: 64, offset: 1472, file: !30, scope: !29, baseType: !75)
-!75 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", line: 42, file: !30, baseType: !76)
-!76 = !DIBasicType(tag: DW_TAG_base_type, name: "long unsigned int", size: 64, align: 64, encoding: DW_ATE_unsigned)
-!77 = !DIDerivedType(tag: DW_TAG_member, name: "_mode", line: 334, size: 32, align: 32, offset: 1536, file: !30, scope: !29, baseType: !8)
-!78 = !DIDerivedType(tag: DW_TAG_member, name: "_unused2", line: 336, size: 160, align: 8, offset: 1568, file: !30, scope: !29, baseType: !79)
-!79 = !DICompositeType(tag: DW_TAG_array_type, size: 160, align: 8, baseType: !11, elements: !80)
-!80 = !{!81}
-!81 = !DISubrange(count: 20)
-!82 = distinct !DISubprogram(name: "verify", line: 2388, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2388, file: !1, scope: !5, type: !83, variables: !86)
-!83 = !DISubroutineType(types: !84)
-!84 = !{null, !8, !10, !85}
-!85 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !24)
-!86 = !{!87, !88, !89, !90, !94, !95, !96, !97, !98, !99, !100, !101}
-!87 = !DILocalVariable(name: "no_time_steps", line: 2388, arg: 1, scope: !82, file: !5, type: !8)
-!88 = !DILocalVariable(name: "class", line: 2388, arg: 2, scope: !82, file: !5, type: !10)
-!89 = !DILocalVariable(name: "verified", line: 2388, arg: 3, scope: !82, file: !5, type: !85)
-!90 = !DILocalVariable(name: "xcrref", line: 2397, scope: !82, file: !5, type: !91)
-!91 = !DICompositeType(tag: DW_TAG_array_type, size: 320, align: 64, baseType: !20, elements: !92)
-!92 = !{!93}
-!93 = !DISubrange(count: 5)
-!94 = !DILocalVariable(name: "xceref", line: 2397, scope: !82, file: !5, type: !91)
-!95 = !DILocalVariable(name: "xcrdif", line: 2397, scope: !82, file: !5, type: !91)
-!96 = !DILocalVariable(name: "xcedif", line: 2397, scope: !82, file: !5, type: !91)
-!97 = !DILocalVariable(name: "epsilon", line: 2398, scope: !82, file: !5, type: !20)
-!98 = !DILocalVariable(name: "xce", line: 2398, scope: !82, file: !5, type: !91)
-!99 = !DILocalVariable(name: "xcr", line: 2398, scope: !82, file: !5, type: !91)
-!100 = !DILocalVariable(name: "dtref", line: 2398, scope: !82, file: !5, type: !20)
-!101 = !DILocalVariable(name: "m", line: 2399, scope: !82, file: !5, type: !8)
-!102 = distinct !DISubprogram(name: "rhs_norm", line: 266, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 266, file: !1, scope: !5, type: !103, variables: !106)
-!103 = !DISubroutineType(types: !104)
-!104 = !{null, !105}
-!105 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !20)
-!106 = !{!107, !108, !109, !110, !111, !112, !113}
-!107 = !DILocalVariable(name: "rms", line: 266, arg: 1, scope: !102, file: !5, type: !105)
-!108 = !DILocalVariable(name: "i", line: 271, scope: !102, file: !5, type: !8)
-!109 = !DILocalVariable(name: "j", line: 271, scope: !102, file: !5, type: !8)
-!110 = !DILocalVariable(name: "k", line: 271, scope: !102, file: !5, type: !8)
-!111 = !DILocalVariable(name: "d", line: 271, scope: !102, file: !5, type: !8)
-!112 = !DILocalVariable(name: "m", line: 271, scope: !102, file: !5, type: !8)
-!113 = !DILocalVariable(name: "add", line: 272, scope: !102, file: !5, type: !20)
-!114 = distinct !DISubprogram(name: "compute_rhs", line: 1767, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 1767, file: !1, scope: !5, type: !115, variables: !117)
-!115 = !DISubroutineType(types: !116)
-!116 = !{null}
-!117 = !{!118, !119, !120, !121, !122, !123, !124, !125, !126, !127, !128, !129, !130, !131}
-!118 = !DILocalVariable(name: "i", line: 1769, scope: !114, file: !5, type: !8)
-!119 = !DILocalVariable(name: "j", line: 1769, scope: !114, file: !5, type: !8)
-!120 = !DILocalVariable(name: "k", line: 1769, scope: !114, file: !5, type: !8)
-!121 = !DILocalVariable(name: "m", line: 1769, scope: !114, file: !5, type: !8)
-!122 = !DILocalVariable(name: "rho_inv", line: 1770, scope: !114, file: !5, type: !20)
-!123 = !DILocalVariable(name: "uijk", line: 1770, scope: !114, file: !5, type: !20)
-!124 = !DILocalVariable(name: "up1", line: 1770, scope: !114, file: !5, type: !20)
-!125 = !DILocalVariable(name: "um1", line: 1770, scope: !114, file: !5, type: !20)
-!126 = !DILocalVariable(name: "vijk", line: 1770, scope: !114, file: !5, type: !20)
-!127 = !DILocalVariable(name: "vp1", line: 1770, scope: !114, file: !5, type: !20)
-!128 = !DILocalVariable(name: "vm1", line: 1770, scope: !114, file: !5, type: !20)
-!129 = !DILocalVariable(name: "wijk", line: 1770, scope: !114, file: !5, type: !20)
-!130 = !DILocalVariable(name: "wp1", line: 1770, scope: !114, file: !5, type: !20)
-!131 = !DILocalVariable(name: "wm1", line: 1770, scope: !114, file: !5, type: !20)
-!132 = distinct !DISubprogram(name: "error_norm", line: 225, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 225, file: !1, scope: !5, type: !103, variables: !133)
-!133 = !{!134, !135, !136, !137, !138, !139, !140, !141, !142, !143, !144}
-!134 = !DILocalVariable(name: "rms", line: 225, arg: 1, scope: !132, file: !5, type: !105)
-!135 = !DILocalVariable(name: "i", line: 232, scope: !132, file: !5, type: !8)
-!136 = !DILocalVariable(name: "j", line: 232, scope: !132, file: !5, type: !8)
-!137 = !DILocalVariable(name: "k", line: 232, scope: !132, file: !5, type: !8)
-!138 = !DILocalVariable(name: "m", line: 232, scope: !132, file: !5, type: !8)
-!139 = !DILocalVariable(name: "d", line: 232, scope: !132, file: !5, type: !8)
-!140 = !DILocalVariable(name: "xi", line: 233, scope: !132, file: !5, type: !20)
-!141 = !DILocalVariable(name: "eta", line: 233, scope: !132, file: !5, type: !20)
-!142 = !DILocalVariable(name: "zeta", line: 233, scope: !132, file: !5, type: !20)
-!143 = !DILocalVariable(name: "u_exact", line: 233, scope: !132, file: !5, type: !91)
-!144 = !DILocalVariable(name: "add", line: 233, scope: !132, file: !5, type: !20)
-!145 = distinct !DISubprogram(name: "exact_solution", line: 643, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 644, file: !1, scope: !5, type: !146, variables: !148)
-!146 = !DISubroutineType(types: !147)
-!147 = !{null, !20, !20, !20, !105}
-!148 = !{!149, !150, !151, !152, !153}
-!149 = !DILocalVariable(name: "xi", line: 643, arg: 1, scope: !145, file: !5, type: !20)
-!150 = !DILocalVariable(name: "eta", line: 643, arg: 2, scope: !145, file: !5, type: !20)
-!151 = !DILocalVariable(name: "zeta", line: 643, arg: 3, scope: !145, file: !5, type: !20)
-!152 = !DILocalVariable(name: "dtemp", line: 644, arg: 4, scope: !145, file: !5, type: !105)
-!153 = !DILocalVariable(name: "m", line: 653, scope: !145, file: !5, type: !8)
-!154 = distinct !DISubprogram(name: "set_constants", line: 2191, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2191, file: !1, scope: !5, type: !115, variables: !2)
-!155 = distinct !DISubprogram(name: "lhsinit", line: 855, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 855, file: !1, scope: !5, type: !115, variables: !156)
-!156 = !{!157, !158, !159, !160, !161}
-!157 = !DILocalVariable(name: "i", line: 857, scope: !155, file: !5, type: !8)
-!158 = !DILocalVariable(name: "j", line: 857, scope: !155, file: !5, type: !8)
-!159 = !DILocalVariable(name: "k", line: 857, scope: !155, file: !5, type: !8)
-!160 = !DILocalVariable(name: "m", line: 857, scope: !155, file: !5, type: !8)
-!161 = !DILocalVariable(name: "n", line: 857, scope: !155, file: !5, type: !8)
-!162 = distinct !DISubprogram(name: "initialize", line: 669, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 669, file: !1, scope: !5, type: !115, variables: !163)
-!163 = !{!164, !165, !166, !167, !168, !169, !170, !171, !172, !173, !174, !179, !180, !181, !182}
-!164 = !DILocalVariable(name: "i", line: 679, scope: !162, file: !5, type: !8)
-!165 = !DILocalVariable(name: "j", line: 679, scope: !162, file: !5, type: !8)
-!166 = !DILocalVariable(name: "k", line: 679, scope: !162, file: !5, type: !8)
-!167 = !DILocalVariable(name: "m", line: 679, scope: !162, file: !5, type: !8)
-!168 = !DILocalVariable(name: "ix", line: 679, scope: !162, file: !5, type: !8)
-!169 = !DILocalVariable(name: "iy", line: 679, scope: !162, file: !5, type: !8)
-!170 = !DILocalVariable(name: "iz", line: 679, scope: !162, file: !5, type: !8)
-!171 = !DILocalVariable(name: "xi", line: 680, scope: !162, file: !5, type: !20)
-!172 = !DILocalVariable(name: "eta", line: 680, scope: !162, file: !5, type: !20)
-!173 = !DILocalVariable(name: "zeta", line: 680, scope: !162, file: !5, type: !20)
-!174 = !DILocalVariable(name: "Pface", line: 680, scope: !162, file: !5, type: !175)
-!175 = !DICompositeType(tag: DW_TAG_array_type, size: 1920, align: 64, baseType: !20, elements: !176)
-!176 = !{!177, !178, !93}
-!177 = !DISubrange(count: 2)
-!178 = !DISubrange(count: 3)
-!179 = !DILocalVariable(name: "Pxi", line: 680, scope: !162, file: !5, type: !20)
-!180 = !DILocalVariable(name: "Peta", line: 680, scope: !162, file: !5, type: !20)
-!181 = !DILocalVariable(name: "Pzeta", line: 680, scope: !162, file: !5, type: !20)
-!182 = !DILocalVariable(name: "temp", line: 680, scope: !162, file: !5, type: !91)
-!183 = distinct !DISubprogram(name: "exact_rhs", line: 301, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 301, file: !1, scope: !5, type: !115, variables: !184)
-!184 = !{!185, !186, !187, !188, !189, !190, !191, !192, !193, !194, !195, !196, !197, !198, !199}
-!185 = !DILocalVariable(name: "dtemp", line: 310, scope: !183, file: !5, type: !91)
-!186 = !DILocalVariable(name: "xi", line: 310, scope: !183, file: !5, type: !20)
-!187 = !DILocalVariable(name: "eta", line: 310, scope: !183, file: !5, type: !20)
-!188 = !DILocalVariable(name: "zeta", line: 310, scope: !183, file: !5, type: !20)
-!189 = !DILocalVariable(name: "dtpp", line: 310, scope: !183, file: !5, type: !20)
-!190 = !DILocalVariable(name: "m", line: 311, scope: !183, file: !5, type: !8)
-!191 = !DILocalVariable(name: "i", line: 311, scope: !183, file: !5, type: !8)
-!192 = !DILocalVariable(name: "j", line: 311, scope: !183, file: !5, type: !8)
-!193 = !DILocalVariable(name: "k", line: 311, scope: !183, file: !5, type: !8)
-!194 = !DILocalVariable(name: "ip1", line: 311, scope: !183, file: !5, type: !8)
-!195 = !DILocalVariable(name: "im1", line: 311, scope: !183, file: !5, type: !8)
-!196 = !DILocalVariable(name: "jp1", line: 311, scope: !183, file: !5, type: !8)
-!197 = !DILocalVariable(name: "jm1", line: 311, scope: !183, file: !5, type: !8)
-!198 = !DILocalVariable(name: "km1", line: 311, scope: !183, file: !5, type: !8)
-!199 = !DILocalVariable(name: "kp1", line: 311, scope: !183, file: !5, type: !8)
-!200 = distinct !DISubprogram(name: "adi", line: 210, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 210, file: !1, scope: !5, type: !115, variables: !2)
-!201 = distinct !DISubprogram(name: "add", line: 187, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 187, file: !1, scope: !5, type: !115, variables: !202)
-!202 = !{!203, !204, !205, !206}
-!203 = !DILocalVariable(name: "i", line: 193, scope: !201, file: !5, type: !8)
-!204 = !DILocalVariable(name: "j", line: 193, scope: !201, file: !5, type: !8)
-!205 = !DILocalVariable(name: "k", line: 193, scope: !201, file: !5, type: !8)
-!206 = !DILocalVariable(name: "m", line: 193, scope: !201, file: !5, type: !8)
-!207 = distinct !DISubprogram(name: "z_solve", line: 3457, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3457, file: !1, scope: !5, type: !115, variables: !2)
-!208 = distinct !DISubprogram(name: "z_backsubstitute", line: 3480, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3480, file: !1, scope: !5, type: !115, variables: !209)
-!209 = !{!210, !211, !212, !213, !214}
-!210 = !DILocalVariable(name: "i", line: 3492, scope: !208, file: !5, type: !8)
-!211 = !DILocalVariable(name: "j", line: 3492, scope: !208, file: !5, type: !8)
-!212 = !DILocalVariable(name: "k", line: 3492, scope: !208, file: !5, type: !8)
-!213 = !DILocalVariable(name: "m", line: 3492, scope: !208, file: !5, type: !8)
-!214 = !DILocalVariable(name: "n", line: 3492, scope: !208, file: !5, type: !8)
-!215 = distinct !DISubprogram(name: "z_solve_cell", line: 3512, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3512, file: !1, scope: !5, type: !115, variables: !216)
-!216 = !{!217, !218, !219, !220}
-!217 = !DILocalVariable(name: "i", line: 3527, scope: !215, file: !5, type: !8)
-!218 = !DILocalVariable(name: "j", line: 3527, scope: !215, file: !5, type: !8)
-!219 = !DILocalVariable(name: "k", line: 3527, scope: !215, file: !5, type: !8)
-!220 = !DILocalVariable(name: "ksize", line: 3527, scope: !215, file: !5, type: !8)
-!221 = distinct !DISubprogram(name: "binvrhs", line: 3154, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3154, file: !1, scope: !5, type: !222, variables: !225)
-!222 = !DISubroutineType(types: !223)
-!223 = !{null, !224, !105}
-!224 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !91)
-!225 = !{!226, !227, !228, !229}
-!226 = !DILocalVariable(name: "lhs", line: 3154, arg: 1, scope: !221, file: !5, type: !224)
-!227 = !DILocalVariable(name: "r", line: 3154, arg: 2, scope: !221, file: !5, type: !105)
-!228 = !DILocalVariable(name: "pivot", line: 3159, scope: !221, file: !5, type: !20)
-!229 = !DILocalVariable(name: "coeff", line: 3159, scope: !221, file: !5, type: !20)
-!230 = distinct !DISubprogram(name: "matmul_sub", line: 2841, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2842, file: !1, scope: !5, type: !231, variables: !233)
-!231 = !DISubroutineType(types: !232)
-!232 = !{null, !224, !224, !224}
-!233 = !{!234, !235, !236, !237}
-!234 = !DILocalVariable(name: "ablock", line: 2841, arg: 1, scope: !230, file: !5, type: !224)
-!235 = !DILocalVariable(name: "bblock", line: 2841, arg: 2, scope: !230, file: !5, type: !224)
-!236 = !DILocalVariable(name: "cblock", line: 2842, arg: 3, scope: !230, file: !5, type: !224)
-!237 = !DILocalVariable(name: "j", line: 2851, scope: !230, file: !5, type: !8)
-!238 = distinct !DISubprogram(name: "matvec_sub", line: 2814, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2814, file: !1, scope: !5, type: !239, variables: !241)
-!239 = !DISubroutineType(types: !240)
-!240 = !{null, !224, !105, !105}
-!241 = !{!242, !243, !244, !245}
-!242 = !DILocalVariable(name: "ablock", line: 2814, arg: 1, scope: !238, file: !5, type: !224)
-!243 = !DILocalVariable(name: "avec", line: 2814, arg: 2, scope: !238, file: !5, type: !105)
-!244 = !DILocalVariable(name: "bvec", line: 2814, arg: 3, scope: !238, file: !5, type: !105)
-!245 = !DILocalVariable(name: "i", line: 2823, scope: !238, file: !5, type: !8)
-!246 = distinct !DISubprogram(name: "binvcrhs", line: 2885, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2885, file: !1, scope: !5, type: !247, variables: !249)
-!247 = !DISubroutineType(types: !248)
-!248 = !{null, !224, !224, !105}
-!249 = !{!250, !251, !252, !253, !254}
-!250 = !DILocalVariable(name: "lhs", line: 2885, arg: 1, scope: !246, file: !5, type: !224)
-!251 = !DILocalVariable(name: "c", line: 2885, arg: 2, scope: !246, file: !5, type: !224)
-!252 = !DILocalVariable(name: "r", line: 2885, arg: 3, scope: !246, file: !5, type: !105)
-!253 = !DILocalVariable(name: "pivot", line: 2890, scope: !246, file: !5, type: !20)
-!254 = !DILocalVariable(name: "coeff", line: 2890, scope: !246, file: !5, type: !20)
-!255 = distinct !DISubprogram(name: "lhsz", line: 1475, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 1475, file: !1, scope: !5, type: !115, variables: !256)
-!256 = !{!257, !258, !259}
-!257 = !DILocalVariable(name: "i", line: 1484, scope: !255, file: !5, type: !8)
-!258 = !DILocalVariable(name: "j", line: 1484, scope: !255, file: !5, type: !8)
-!259 = !DILocalVariable(name: "k", line: 1484, scope: !255, file: !5, type: !8)
-!260 = distinct !DISubprogram(name: "y_solve", line: 3299, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3299, file: !1, scope: !5, type: !115, variables: !2)
-!261 = distinct !DISubprogram(name: "y_backsubstitute", line: 3323, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3323, file: !1, scope: !5, type: !115, variables: !262)
-!262 = !{!263, !264, !265, !266, !267}
-!263 = !DILocalVariable(name: "i", line: 3335, scope: !261, file: !5, type: !8)
-!264 = !DILocalVariable(name: "j", line: 3335, scope: !261, file: !5, type: !8)
-!265 = !DILocalVariable(name: "k", line: 3335, scope: !261, file: !5, type: !8)
-!266 = !DILocalVariable(name: "m", line: 3335, scope: !261, file: !5, type: !8)
-!267 = !DILocalVariable(name: "n", line: 3335, scope: !261, file: !5, type: !8)
-!268 = distinct !DISubprogram(name: "y_solve_cell", line: 3355, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 3355, file: !1, scope: !5, type: !115, variables: !269)
-!269 = !{!270, !271, !272, !273}
-!270 = !DILocalVariable(name: "i", line: 3370, scope: !268, file: !5, type: !8)
-!271 = !DILocalVariable(name: "j", line: 3370, scope: !268, file: !5, type: !8)
-!272 = !DILocalVariable(name: "k", line: 3370, scope: !268, file: !5, type: !8)
-!273 = !DILocalVariable(name: "jsize", line: 3370, scope: !268, file: !5, type: !8)
-!274 = distinct !DISubprogram(name: "lhsy", line: 1181, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 1181, file: !1, scope: !5, type: !115, variables: !275)
-!275 = !{!276, !277, !278}
-!276 = !DILocalVariable(name: "i", line: 1190, scope: !274, file: !5, type: !8)
-!277 = !DILocalVariable(name: "j", line: 1190, scope: !274, file: !5, type: !8)
-!278 = !DILocalVariable(name: "k", line: 1190, scope: !274, file: !5, type: !8)
-!279 = distinct !DISubprogram(name: "x_solve", line: 2658, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2658, file: !1, scope: !5, type: !115, variables: !2)
-!280 = distinct !DISubprogram(name: "x_backsubstitute", line: 2684, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2684, file: !1, scope: !5, type: !115, variables: !281)
-!281 = !{!282, !283, !284, !285, !286}
-!282 = !DILocalVariable(name: "i", line: 2696, scope: !280, file: !5, type: !8)
-!283 = !DILocalVariable(name: "j", line: 2696, scope: !280, file: !5, type: !8)
-!284 = !DILocalVariable(name: "k", line: 2696, scope: !280, file: !5, type: !8)
-!285 = !DILocalVariable(name: "m", line: 2696, scope: !280, file: !5, type: !8)
-!286 = !DILocalVariable(name: "n", line: 2696, scope: !280, file: !5, type: !8)
-!287 = distinct !DISubprogram(name: "x_solve_cell", line: 2716, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2716, file: !1, scope: !5, type: !115, variables: !288)
-!288 = !{!289, !290, !291, !292}
-!289 = !DILocalVariable(name: "i", line: 2728, scope: !287, file: !5, type: !8)
-!290 = !DILocalVariable(name: "j", line: 2728, scope: !287, file: !5, type: !8)
-!291 = !DILocalVariable(name: "k", line: 2728, scope: !287, file: !5, type: !8)
-!292 = !DILocalVariable(name: "isize", line: 2728, scope: !287, file: !5, type: !8)
-!293 = distinct !DISubprogram(name: "lhsx", line: 898, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 898, file: !1, scope: !5, type: !115, variables: !294)
-!294 = !{!295, !296, !297}
-!295 = !DILocalVariable(name: "i", line: 907, scope: !293, file: !5, type: !8)
-!296 = !DILocalVariable(name: "j", line: 907, scope: !293, file: !5, type: !8)
-!297 = !DILocalVariable(name: "k", line: 907, scope: !293, file: !5, type: !8)
-!298 = !{!299, !304, !305, !309, !310, !311, !312, !313, !314, !315, !316, !317, !318, !319, !320, !321, !322, !323, !324, !325, !326, !327, !328, !329, !330, !331, !332, !333, !334, !335, !336, !337, !338, !339, !340, !341, !342, !343, !347, !350, !351, !352, !353, !354, !355, !356, !360, !361, !362, !363, !364, !365, !366, !367, !368, !369, !370, !371, !372, !373, !374, !375, !376, !377, !378, !379, !380, !381, !382, !383, !384, !385, !386, !387, !388, !389, !390, !391, !392, !393, !394, !395, !396, !397, !398, !399, !400, !401, !402, !403, !404, !405, !406, !407, !408, !409, !410, !411, !412, !413, !414, !415, !416, !417, !418, !419, !422, !426, !427, !430, !431, !434, !435, !436, !437}
-!299 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "grid_points", line: 28, isLocal: true, isDefinition: true, scope: null, file: !300, type: !302))
-!300 = !DIFile(filename: "./header.h", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
-!301 = !{!"./header.h", !"/home/hfinkel/src/NPB2.3-omp-C/BT"}
-!302 = !DICompositeType(tag: DW_TAG_array_type, size: 96, align: 32, baseType: !8, elements: !303)
-!303 = !{!178}
-!304 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dt", line: 35, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!305 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "rhs", line: 68, isLocal: true, isDefinition: true, scope: null, file: !300, type: !306))
-!306 = !DICompositeType(tag: DW_TAG_array_type, size: 1385839040, align: 64, baseType: !20, elements: !307)
-!307 = !{!308, !308, !308, !93}
-!308 = !DISubrange(count: 163)
-!309 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon5", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!310 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon4", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!311 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon3", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!312 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz5tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!313 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz4tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!314 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz3tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!315 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon2", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!316 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz2tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!317 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tz2", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!318 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz1tz1", line: 43, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!319 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon5", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!320 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon4", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!321 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon3", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!322 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy5ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!323 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy4ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!324 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy3ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!325 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon2", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!326 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy2ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!327 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ty2", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!328 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy1ty1", line: 41, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!329 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dssp", line: 35, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!330 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c1", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!331 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon5", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!332 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon4", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!333 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon3", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!334 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx5tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!335 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx4tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!336 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx3tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!337 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!338 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "con43", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!339 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon2", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!340 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx2tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!341 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tx2", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!342 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx1tx1", line: 39, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!343 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "forcing", line: 66, isLocal: true, isDefinition: true, scope: null, file: !300, type: !344))
-!344 = !DICompositeType(tag: DW_TAG_array_type, size: 1663006848, align: 64, baseType: !20, elements: !345)
-!345 = !{!308, !308, !308, !346}
-!346 = !DISubrange(count: 6)
-!347 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "qs", line: 63, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))
-!348 = !DICompositeType(tag: DW_TAG_array_type, size: 277167808, align: 64, baseType: !20, elements: !349)
-!349 = !{!308, !308, !308}
-!350 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "square", line: 65, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))
-!351 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ws", line: 62, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))
-!352 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "vs", line: 61, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))
-!353 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "us", line: 60, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))
-!354 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "rho_i", line: 64, isLocal: true, isDefinition: true, scope: null, file: !300, type: !348))
-!355 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "u", line: 67, isLocal: true, isDefinition: true, scope: null, file: !300, type: !306))
-!356 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ce", line: 36, isLocal: true, isDefinition: true, scope: null, file: !300, type: !357))
-!357 = !DICompositeType(tag: DW_TAG_array_type, size: 4160, align: 64, baseType: !20, elements: !358)
-!358 = !{!93, !359}
-!359 = !DISubrange(count: 13)
-!360 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dnzm1", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!361 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dnym1", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!362 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dnxm1", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!363 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "zzcon1", line: 42, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!364 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "yycon1", line: 40, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!365 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "xxcon1", line: 38, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!366 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "con16", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!367 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2iv", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!368 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3c4tz3", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!369 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3c4ty3", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!370 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3c4tx3", line: 48, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!371 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comz6", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!372 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comz5", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!373 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comz4", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!374 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "comz1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!375 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dtdssp", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!376 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2dttz1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!377 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2dtty1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!378 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c2dttx1", line: 47, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!379 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dttz2", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!380 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dttz1", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!381 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dtty2", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!382 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dtty1", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!383 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dttx2", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!384 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dttx1", line: 46, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!385 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c5dssp", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!386 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c4dssp", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!387 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dzmax", line: 37, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!388 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dymax", line: 37, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!389 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dxmax", line: 37, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!390 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz5", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!391 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz4", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!392 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz3", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!393 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz2", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!394 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dz1", line: 34, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!395 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy5", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!396 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy4", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!397 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy3", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!398 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy2", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!399 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dy1", line: 33, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!400 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx5", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!401 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx4", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!402 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx3", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!403 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx2", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!404 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "dx1", line: 32, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!405 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tz3", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!406 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tz1", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!407 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ty3", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!408 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ty1", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!409 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tx3", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!410 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tx1", line: 31, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!411 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "conz1", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!412 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c1345", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!413 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3c4", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!414 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c1c5", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!415 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c1c2", line: 44, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!416 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c5", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!417 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c4", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!418 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "c3", line: 45, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!419 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "lhs", line: 69, isLocal: true, isDefinition: true, scope: null, file: !300, type: !420))
-!420 = !DICompositeType(tag: DW_TAG_array_type, size: 20787585600, align: 64, baseType: !20, elements: !421)
-!421 = !{!308, !308, !308, !178, !93, !93}
-!422 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "q", line: 73, isLocal: true, isDefinition: true, scope: null, file: !300, type: !423))
-!423 = !DICompositeType(tag: DW_TAG_array_type, size: 10368, align: 64, baseType: !20, elements: !424)
-!424 = !{!425}
-!425 = !DISubrange(count: 162)
-!426 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "cuf", line: 72, isLocal: true, isDefinition: true, scope: null, file: !300, type: !423))
-!427 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "buf", line: 75, isLocal: true, isDefinition: true, scope: null, file: !300, type: !428))
-!428 = !DICompositeType(tag: DW_TAG_array_type, size: 51840, align: 64, baseType: !20, elements: !429)
-!429 = !{!425, !93}
-!430 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ue", line: 74, isLocal: true, isDefinition: true, scope: null, file: !300, type: !428))
-!431 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "njac", line: 86, isLocal: true, isDefinition: true, scope: null, file: !300, type: !432))
-!432 = !DICompositeType(tag: DW_TAG_array_type, size: 6886684800, align: 64, baseType: !20, elements: !433)
-!433 = !{!308, !308, !425, !93, !93}
-!434 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "fjac", line: 84, isLocal: true, isDefinition: true, scope: null, file: !300, type: !432))
-!435 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tmp3", line: 88, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!436 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tmp2", line: 88, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!437 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "tmp1", line: 88, isLocal: true, isDefinition: true, scope: null, file: !300, type: !20))
-!438 = !{i32 2, !"Dwarf Version", i32 4}
-!439 = !DILocation(line: 1898, scope: !440)
-!440 = distinct !DILexicalBlock(line: 1898, column: 0, file: !1, scope: !114)
-!441 = !DILocation(line: 1913, scope: !442)
-!442 = distinct !DILexicalBlock(line: 1913, column: 0, file: !1, scope: !114)
-!443 = !DILocation(line: 1923, scope: !114)
-!444 = !{!"int", !445}
-!445 = !{!"omnipotent char", !446}
-!446 = !{!"Simple C/C++ TBAA"}
-!447 = !{i32 1}
-!448 = !DILocation(line: 1925, scope: !449)
-!449 = distinct !DILexicalBlock(line: 1925, column: 0, file: !1, scope: !114)
-!450 = !DILocation(line: 1939, scope: !451)
-!451 = distinct !DILexicalBlock(line: 1939, column: 0, file: !1, scope: !114)
-!452 = !DILocation(line: 1940, scope: !453)
-!453 = distinct !DILexicalBlock(line: 1940, column: 0, file: !1, scope: !454)
-!454 = distinct !DILexicalBlock(line: 1939, column: 0, file: !1, scope: !451)
-!455 = !DILocation(line: 1941, scope: !456)
-!456 = distinct !DILexicalBlock(line: 1941, column: 0, file: !1, scope: !457)
-!457 = distinct !DILexicalBlock(line: 1940, column: 0, file: !1, scope: !453)
-!458 = !DILocation(line: 2020, scope: !459)
-!459 = distinct !DILexicalBlock(line: 2020, column: 0, file: !1, scope: !460)
-!460 = distinct !DILexicalBlock(line: 2019, column: 0, file: !1, scope: !461)
-!461 = distinct !DILexicalBlock(line: 2019, column: 0, file: !1, scope: !462)
-!462 = distinct !DILexicalBlock(line: 2018, column: 0, file: !1, scope: !463)
-!463 = distinct !DILexicalBlock(line: 2018, column: 0, file: !1, scope: !114)
-!464 = !{i32 1, !"Debug Info Version", i32 3}

Modified: llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/dbgvalue.ll Wed Dec 21 18:45:21 2016
@@ -4,67 +4,69 @@
 ; CHECK: #DEBUG_VALUE: usage:self <- %vreg4
 ; CHECK: BB#1
 ; CHECK: DW_TAG_variable
+source_filename = "test/CodeGen/WebAssembly/dbgvalue.ll"
 target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
 target triple = "wasm32-unknown-unknown"
 
-%0 = type opaque
-
 @key = external local_unnamed_addr global [15 x i8], align 1
 @.str = external unnamed_addr constant [33 x i8], align 1
 
-; Function Attrs: nounwind
-define internal i32 @0(i8*) local_unnamed_addr !dbg !14 !type !22 {
-  tail call void @llvm.dbg.value(metadata i8* %0, i64 0, metadata !21, metadata !23), !dbg !24
-  %2 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str, i32 0, i32 0), i8* %0), !dbg !25
-  br i1 1, label %a, label %b
-a:
+define internal i32 @0(i8*) local_unnamed_addr !dbg !15 !type !23 {
+  tail call void @llvm.dbg.value(metadata i8* %0, i64 0, metadata !22, metadata !24), !dbg !25
+  %2 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str, i32 0, i32 0), i8* %0), !dbg !26
+  br i1 true, label %a, label %b
+
+a:                                                ; preds = %1
   %3 = add i32 %2, %2
   br label %c
 
-b:
+b:                                                ; preds = %1
   %4 = sub i32 %2, %2
   br label %c
 
-c:
+c:                                                ; preds = %b, %a
   %5 = phi i32 [ %3, %a ], [ %4, %b ]
   %6 = add i32 ptrtoint (i32 (i8*)* @0 to i32), %5
-  ret i32 %6, !dbg !26
+  ret i32 %6, !dbg !27
 }
 
-; Function Attrs: nounwind
 declare i32 @printf(i8* nocapture readonly, ...) local_unnamed_addr
 
 ; Function Attrs: nounwind readnone
-declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
+declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
+
+attributes #0 = { nounwind readnone }
 
 !llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!11, !12}
-!llvm.ident = !{!13}
+!llvm.module.flags = !{!12, !13}
+!llvm.ident = !{!14}
 
 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.9.0 (trunk 273884) (llvm/trunk 273897)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, globals: !3)
 !1 = !DIFile(filename: "crash.c", directory: "wasm/tests")
 !2 = !{}
 !3 = !{!4}
-!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "key", scope: !0, file: !1, line: 7, type: !5, isLocal: false, isDefinition: true))
-!5 = !DICompositeType(tag: DW_TAG_array_type, baseType: !6, size: 120, align: 8, elements: !9)
-!6 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !7, line: 185, baseType: !8)
-!7 = !DIFile(filename: "wasm/emscripten/system/include/libc/bits/alltypes.h", directory: "wasm/tests")
-!8 = !DIBasicType(name: "unsigned char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
-!9 = !{!10}
-!10 = !DISubrange(count: 15)
-!11 = !{i32 2, !"Dwarf Version", i32 4}
-!12 = !{i32 2, !"Debug Info Version", i32 3}
-!13 = !{!"clang version 3.9.0 (trunk 273884) (llvm/trunk 273897)"}
-!14 = distinct !DISubprogram(name: "usage", scope: !1, file: !1, line: 15, type: !15, isLocal: false, isDefinition: true, scopeLine: 15, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !20)
-!15 = !DISubroutineType(types: !16)
-!16 = !{!17, !18}
-!17 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
-!18 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !19, size: 32, align: 32)
-!19 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
-!20 = !{!21}
-!21 = !DILocalVariable(name: "self", arg: 1, scope: !14, file: !1, line: 15, type: !18)
-!22 = !{i64 0, !"_ZTSFiPcE"}
-!23 = !DIExpression()
-!24 = !DILocation(line: 15, column: 17, scope: !14)
-!25 = !DILocation(line: 16, column: 3, scope: !14)
-!26 = !DILocation(line: 17, column: 3, scope: !14)
+!4 = !DIGlobalVariableExpression(var: !5)
+!5 = !DIGlobalVariable(name: "key", scope: !0, file: !1, line: 7, type: !6, isLocal: false, isDefinition: true)
+!6 = !DICompositeType(tag: DW_TAG_array_type, baseType: !7, size: 120, align: 8, elements: !10)
+!7 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint8_t", file: !8, line: 185, baseType: !9)
+!8 = !DIFile(filename: "wasm/emscripten/system/include/libc/bits/alltypes.h", directory: "wasm/tests")
+!9 = !DIBasicType(name: "unsigned char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
+!10 = !{!11}
+!11 = !DISubrange(count: 15)
+!12 = !{i32 2, !"Dwarf Version", i32 4}
+!13 = !{i32 2, !"Debug Info Version", i32 3}
+!14 = !{!"clang version 3.9.0 (trunk 273884) (llvm/trunk 273897)"}
+!15 = distinct !DISubprogram(name: "usage", scope: !1, file: !1, line: 15, type: !16, isLocal: false, isDefinition: true, scopeLine: 15, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !21)
+!16 = !DISubroutineType(types: !17)
+!17 = !{!18, !19}
+!18 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!19 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !20, size: 32, align: 32)
+!20 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
+!21 = !{!22}
+!22 = !DILocalVariable(name: "self", arg: 1, scope: !15, file: !1, line: 15, type: !19)
+!23 = !{i64 0, !"_ZTSFiPcE"}
+!24 = !DIExpression()
+!25 = !DILocation(line: 15, column: 17, scope: !15)
+!26 = !DILocation(line: 16, column: 3, scope: !15)
+!27 = !DILocation(line: 17, column: 3, scope: !15)
+

Modified: llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll (original)
+++ llvm/trunk/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll Wed Dec 21 18:45:21 2016
@@ -1,66 +1,60 @@
 ; RUN: llc -O2 < %s | FileCheck %s
 ; RUN: llc -O2 -regalloc=basic < %s | FileCheck %s
+source_filename = "test/CodeGen/X86/2010-05-26-DotDebugLoc.ll"
 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"
 target triple = "x86_64-apple-darwin10"
 
 %struct.a = type { i32, %struct.a* }
 
- at llvm.used = appending global [1 x i8*] [i8* bitcast (i8* (%struct.a*)* @bar to i8*)], section "llvm.metadata" ; <[1 x i8*]*> [#uses=0]
+ at llvm.used = appending global [1 x i8*] [i8* bitcast (i8* (%struct.a*)* @bar to i8*)], section "llvm.metadata"
 
-define i8* @bar(%struct.a* %myvar) nounwind optsize noinline ssp !dbg !9 {
+; Function Attrs: noinline nounwind optsize ssp
+define i8* @bar(%struct.a* %myvar) #0 !dbg !8 {
 entry:
-  tail call void @llvm.dbg.value(metadata %struct.a* %myvar, i64 0, metadata !8, metadata !DIExpression()), !dbg !DILocation(scope: !9)
-  %0 = getelementptr inbounds %struct.a, %struct.a* %myvar, i64 0, i32 0, !dbg !28 ; <i32*> [#uses=1]
-  %1 = load i32, i32* %0, align 8, !dbg !28            ; <i32> [#uses=1]
-  tail call void @foo(i32 %1) nounwind optsize noinline ssp, !dbg !28
-  %2 = bitcast %struct.a* %myvar to i8*, !dbg !30 ; <i8*> [#uses=1]
-  ret i8* %2, !dbg !30
+  tail call void @llvm.dbg.value(metadata %struct.a* %myvar, i64 0, metadata !18, metadata !19), !dbg !20
+  %0 = getelementptr inbounds %struct.a, %struct.a* %myvar, i64 0, i32 0, !dbg !21
+  %1 = load i32, i32* %0, align 8, !dbg !21
+  tail call void @foo(i32 %1) #0, !dbg !21
+  %2 = bitcast %struct.a* %myvar to i8*, !dbg !23
+  ret i8* %2, !dbg !23
 }
 
-declare void @foo(i32) nounwind optsize noinline ssp
+; Function Attrs: noinline nounwind optsize ssp
+declare void @foo(i32) #0
 
-declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
+; Function Attrs: nounwind readnone
+declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
 
-!llvm.dbg.cu = !{!2}
-!llvm.module.flags = !{!38}
+attributes #0 = { noinline nounwind optsize ssp }
+attributes #1 = { nounwind readnone }
 
-!0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ret", line: 7, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !3))
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!7}
+
+!0 = distinct !DICompileUnit(language: DW_LANG_C89, file: !1, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !2, globals: !3, imports: !2)
 !1 = !DIFile(filename: "foo.c", directory: "/tmp/")
-!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)
-!3 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
-!4 = !DILocalVariable(name: "x", line: 12, arg: 1, scope: !5, file: !1, type: !3)
-!5 = distinct !DISubprogram(name: "foo", linkageName: "foo", line: 13, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, unit: !2, scopeLine: 13, file: !36, scope: !1, type: !6, variables: !33)
-!6 = !DISubroutineType(types: !7)
-!7 = !{null, !3}
-!8 = !DILocalVariable(name: "myvar", line: 17, arg: 1, scope: !9, file: !1, type: !13)
-!9 = distinct !DISubprogram(name: "bar", linkageName: "bar", line: 17, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, unit: !2, scopeLine: 17, file: !36, scope: !1, type: !10, variables: !34)
-!10 = !DISubroutineType(types: !11)
-!11 = !{!12, !13}
-!12 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !36, scope: !1, baseType: null)
-!13 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !36, scope: !1, baseType: !14)
-!14 = !DICompositeType(tag: DW_TAG_structure_type, name: "a", line: 2, size: 128, align: 64, file: !36, scope: !1, elements: !15)
-!15 = !{!16, !17}
-!16 = !DIDerivedType(tag: DW_TAG_member, name: "c", line: 3, size: 32, align: 32, file: !36, scope: !14, baseType: !3)
-!17 = !DIDerivedType(tag: DW_TAG_member, name: "d", line: 4, size: 64, align: 64, offset: 64, file: !36, scope: !14, baseType: !13)
-!18 = !DILocalVariable(name: "argc", line: 22, arg: 1, scope: !19, file: !1, type: !3)
-!19 = distinct !DISubprogram(name: "main", linkageName: "main", line: 22, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, unit: !2, scopeLine: 22, file: !36, scope: !1, type: !20, variables: !35)
-!20 = !DISubroutineType(types: !21)
-!21 = !{!3, !3, !22}
-!22 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !36, scope: !1, baseType: !23)
-!23 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !36, scope: !1, baseType: !24)
-!24 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
-!25 = !DILocalVariable(name: "argv", line: 22, arg: 2, scope: !19, file: !1, type: !22)
-!26 = !DILocalVariable(name: "e", line: 23, scope: !27, file: !1, type: !14)
-!27 = distinct !DILexicalBlock(line: 22, column: 0, file: !36, scope: !19)
-!28 = !DILocation(line: 18, scope: !29)
-!29 = distinct !DILexicalBlock(line: 17, column: 0, file: !36, scope: !9)
-!30 = !DILocation(line: 19, scope: !29)
-!31 = !{!0}
-!33 = !{!4}
-!34 = !{!8}
-!35 = !{!18, !25, !26}
-!36 = !DIFile(filename: "foo.c", directory: "/tmp/")
-!37 = !{}
+!2 = !{}
+!3 = !{!4}
+!4 = !DIGlobalVariableExpression(var: !5)
+!5 = !DIGlobalVariable(name: "ret", scope: !1, file: !1, line: 7, type: !6, isLocal: false, isDefinition: true)
+!6 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!7 = !{i32 1, !"Debug Info Version", i32 3}
+!8 = distinct !DISubprogram(name: "bar", linkageName: "bar", scope: !1, file: !1, line: 17, type: !9, isLocal: false, isDefinition: true, scopeLine: 17, virtualIndex: 6, isOptimized: true, unit: !0, variables: !17)
+!9 = !DISubroutineType(types: !10)
+!10 = !{!11, !12}
+!11 = !DIDerivedType(tag: DW_TAG_pointer_type, scope: !1, file: !1, baseType: null, size: 64, align: 64)
+!12 = !DIDerivedType(tag: DW_TAG_pointer_type, scope: !1, file: !1, baseType: !13, size: 64, align: 64)
+!13 = !DICompositeType(tag: DW_TAG_structure_type, name: "a", scope: !1, file: !1, line: 2, size: 128, align: 64, elements: !14)
+!14 = !{!15, !16}
+!15 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !13, file: !1, line: 3, baseType: !6, size: 32, align: 32)
+!16 = !DIDerivedType(tag: DW_TAG_member, name: "d", scope: !13, file: !1, line: 4, baseType: !12, size: 64, align: 64, offset: 64)
+!17 = !{!18}
+!18 = !DILocalVariable(name: "myvar", arg: 1, scope: !8, file: !1, line: 17, type: !12)
+!19 = !DIExpression()
+!20 = !DILocation(line: 0, scope: !8)
+!21 = !DILocation(line: 18, scope: !22)
+!22 = distinct !DILexicalBlock(scope: !8, file: !1, line: 17)
+!23 = !DILocation(line: 19, scope: !22)
 
 ; The variable bar:myvar changes registers after the first movq.
 ; It is cobbered by popq %rbx
@@ -70,7 +64,6 @@ declare void @llvm.dbg.value(metadata, i
 ; CHECK: popq
 ; CHECK-NEXT: [[CLOBBER:Ltmp[0-9]*]]
 
-
 ; CHECK: Ldebug_loc0:
 ; CHECK-NEXT: [[SET1:.*]] = Lfunc_begin0-Lfunc_begin0
 ; CHECK-NEXT: .quad   [[SET1]]
@@ -84,4 +77,3 @@ declare void @llvm.dbg.value(metadata, i
 ; CHECK-NEXT: .quad   [[SET4]]
 ; CHECK-NEXT: .short  1     ## Loc expr size
 ; CHECK-NEXT: .byte   83
-!38 = !{i32 1, !"Debug Info Version", i32 3}

Modified: llvm/trunk/test/CodeGen/X86/fp128-g.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fp128-g.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/fp128-g.ll (original)
+++ llvm/trunk/test/CodeGen/X86/fp128-g.ll Wed Dec 21 18:45:21 2016
@@ -14,11 +14,11 @@ target triple = "x86_64--linux-android"
 @ld_ptr = common local_unnamed_addr global fp128* null, align 8, !dbg !0
 
 ; Function Attrs: nounwind readonly uwtable
-define fp128 @test_return1(fp128* nocapture readonly %ptr) local_unnamed_addr #0 !dbg !11 {
+define fp128 @test_return1(fp128* nocapture readonly %ptr) local_unnamed_addr #0 !dbg !12 {
 entry:
-  tail call void @llvm.dbg.value(metadata fp128* %ptr, i64 0, metadata !15, metadata !16), !dbg !17
-  %0 = load fp128, fp128* %ptr, align 16, !dbg !18, !tbaa !19
-  ret fp128 %0, !dbg !23
+  tail call void @llvm.dbg.value(metadata fp128* %ptr, i64 0, metadata !16, metadata !17), !dbg !18
+  %0 = load fp128, fp128* %ptr, align 16, !dbg !19, !tbaa !20
+  ret fp128 %0, !dbg !24
 ; X64-LABEL: test_return1:
 ; X64:       .loc
 ; X64:       movaps     (%rdi), %xmm0
@@ -27,26 +27,27 @@ entry:
 }
 
 ; Function Attrs: nounwind readonly uwtable
-define fp128 @test_return2(fp128* nocapture readonly %ptr) local_unnamed_addr #0 !dbg !24 {
+define fp128 @test_return2(fp128* nocapture readonly %ptr) local_unnamed_addr #0 !dbg !25 {
 entry:
-  tail call void @llvm.dbg.value(metadata fp128* %ptr, i64 0, metadata !26, metadata !16), !dbg !28
-  %0 = load fp128, fp128* %ptr, align 16, !dbg !29, !tbaa !19
-  tail call void @llvm.dbg.value(metadata fp128 %0, i64 0, metadata !27, metadata !16), !dbg !30
-  ret fp128 %0, !dbg !31
+  tail call void @llvm.dbg.value(metadata fp128* %ptr, i64 0, metadata !27, metadata !17), !dbg !29
+  %0 = load fp128, fp128* %ptr, align 16, !dbg !30, !tbaa !20
+  tail call void @llvm.dbg.value(metadata fp128 %0, i64 0, metadata !28, metadata !17), !dbg !31
+  ret fp128 %0, !dbg !32
+}
+
 ; X64-LABEL: test_return2:
 ; X64:       .loc
 ; X64:       movaps     (%rdi), %xmm0
 ; X64:       .loc
 ; X64:       retq
-}
-
 ; Function Attrs: nounwind readonly uwtable
-define fp128 @test_return3(fp128* nocapture readonly %ptr) local_unnamed_addr #0 !dbg !32 {
+
+define fp128 @test_return3(fp128* nocapture readonly %ptr) local_unnamed_addr #0 !dbg !33 {
 entry:
-  tail call void @llvm.dbg.value(metadata fp128* %ptr, i64 0, metadata !34, metadata !16), !dbg !35
-  %0 = load fp128, fp128* %ptr, align 16, !dbg !36, !tbaa !19
-  %add = fadd fp128 %0, %0, !dbg !37
-  ret fp128 %add, !dbg !38
+  tail call void @llvm.dbg.value(metadata fp128* %ptr, i64 0, metadata !35, metadata !17), !dbg !36
+  %0 = load fp128, fp128* %ptr, align 16, !dbg !37, !tbaa !20
+  %add = fadd fp128 %0, %0, !dbg !38
+  ret fp128 %add, !dbg !39
 ; X64-LABEL: test_return3:
 ; X64:       .loc
 ; X64:       movaps     (%rdi), %xmm0
@@ -58,11 +59,11 @@ entry:
 }
 
 ; Function Attrs: norecurse nounwind readonly uwtable
-define fp128 @test_return4() local_unnamed_addr #1 !dbg !39 {
+define fp128 @test_return4() local_unnamed_addr #1 !dbg !40 {
 entry:
-  %0 = load fp128*, fp128** @ld_ptr, align 8, !dbg !42, !tbaa !43
-  %1 = load fp128, fp128* %0, align 16, !dbg !45, !tbaa !19
-  ret fp128 %1, !dbg !46
+  %0 = load fp128*, fp128** @ld_ptr, align 8, !dbg !43, !tbaa !44
+  %1 = load fp128, fp128* %0, align 16, !dbg !46, !tbaa !20
+  ret fp128 %1, !dbg !47
 ; X64-LABEL: test_return4:
 ; X64:       .loc
 ; X64:       movq	ld_ptr(%rip), %rax
@@ -73,12 +74,12 @@ entry:
 }
 
 ; Function Attrs: nounwind readonly uwtable
-define fp128 @test_return5() local_unnamed_addr #0 !dbg !47 {
+define fp128 @test_return5() local_unnamed_addr #0 !dbg !48 {
 entry:
-  %0 = load fp128*, fp128** @ld_ptr, align 8, !dbg !50, !tbaa !43
-  %1 = load fp128, fp128* %0, align 16, !dbg !51, !tbaa !19
-  tail call void @llvm.dbg.value(metadata fp128 %1, i64 0, metadata !49, metadata !16), !dbg !52
-  ret fp128 %1, !dbg !53
+  %0 = load fp128*, fp128** @ld_ptr, align 8, !dbg !51, !tbaa !44
+  %1 = load fp128, fp128* %0, align 16, !dbg !52, !tbaa !20
+  tail call void @llvm.dbg.value(metadata fp128 %1, i64 0, metadata !50, metadata !17), !dbg !53
+  ret fp128 %1, !dbg !54
 ; X64-LABEL: test_return5:
 ; X64:       .loc
 ; X64:       movq	ld_ptr(%rip), %rax
@@ -89,12 +90,12 @@ entry:
 }
 
 ; Function Attrs: norecurse nounwind readonly uwtable
-define fp128 @test_return6() local_unnamed_addr #1 !dbg !54 {
+define fp128 @test_return6() local_unnamed_addr #1 !dbg !55 {
 entry:
-  %0 = load fp128*, fp128** @ld_ptr, align 8, !dbg !55, !tbaa !43
-  %1 = load fp128, fp128* %0, align 16, !dbg !56, !tbaa !19
-  %add = fadd fp128 %1, %1, !dbg !57
-  ret fp128 %add, !dbg !58
+  %0 = load fp128*, fp128** @ld_ptr, align 8, !dbg !56, !tbaa !44
+  %1 = load fp128, fp128* %0, align 16, !dbg !57, !tbaa !20
+  %add = fadd fp128 %1, %1, !dbg !58
+  ret fp128 %add, !dbg !59
 ; X64-LABEL: test_return6:
 ; X64:       .loc
 ; X64:       movaps	(%rax), %xmm0
@@ -112,66 +113,68 @@ attributes #0 = { nounwind readonly uwta
 attributes #1 = { norecurse nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
 attributes #2 = { nounwind readnone }
 
-!llvm.dbg.cu = !{!1}
-!llvm.module.flags = !{!7, !8, !9}
-!llvm.ident = !{!10}
-
-!0 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ld_ptr", scope: !1, file: !2, line: 17, type: !5, isLocal: false, isDefinition: true))
-!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)
-!2 = !DIFile(filename: "fp128-g.c", directory: "/disk5/chh/Debug/ld.loop")
-!3 = !{}
-!4 = !{!0}
-!5 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !6, size: 64, align: 64)
-!6 = !DIBasicType(name: "long double", size: 128, align: 128, encoding: DW_ATE_float)
-!7 = !{i32 2, !"Dwarf Version", i32 4}
-!8 = !{i32 2, !"Debug Info Version", i32 3}
-!9 = !{i32 1, !"PIC Level", i32 2}
-!10 = !{!"clang version 4.0.0 (trunk 281495)"}
-!11 = distinct !DISubprogram(name: "test_return1", scope: !2, file: !2, line: 3, type: !12, isLocal: false, isDefinition: true, scopeLine: 3, flags: DIFlagPrototyped, isOptimized: true, unit: !1, variables: !14)
-!12 = !DISubroutineType(types: !13)
-!13 = !{!6, !5}
-!14 = !{!15}
-!15 = !DILocalVariable(name: "ptr", arg: 1, scope: !11, file: !2, line: 3, type: !5)
-!16 = !DIExpression()
-!17 = !DILocation(line: 3, column: 39, scope: !11)
-!18 = !DILocation(line: 4, column: 12, scope: !11)
-!19 = !{!20, !20, i64 0}
-!20 = !{!"long double", !21, i64 0}
-!21 = !{!"omnipotent char", !22, i64 0}
-!22 = !{!"Simple C/C++ TBAA"}
-!23 = !DILocation(line: 4, column: 5, scope: !11)
-!24 = distinct !DISubprogram(name: "test_return2", scope: !2, file: !2, line: 7, type: !12, isLocal: false, isDefinition: true, scopeLine: 7, flags: DIFlagPrototyped, isOptimized: true, unit: !1, variables: !25)
-!25 = !{!26, !27}
-!26 = !DILocalVariable(name: "ptr", arg: 1, scope: !24, file: !2, line: 7, type: !5)
-!27 = !DILocalVariable(name: "value", scope: !24, file: !2, line: 8, type: !6)
-!28 = !DILocation(line: 7, column: 39, scope: !24)
-!29 = !DILocation(line: 9, column: 14, scope: !24)
-!30 = !DILocation(line: 8, column: 17, scope: !24)
-!31 = !DILocation(line: 10, column: 5, scope: !24)
-!32 = distinct !DISubprogram(name: "test_return3", scope: !2, file: !2, line: 13, type: !12, isLocal: false, isDefinition: true, scopeLine: 13, flags: DIFlagPrototyped, isOptimized: true, unit: !1, variables: !33)
-!33 = !{!34}
-!34 = !DILocalVariable(name: "ptr", arg: 1, scope: !32, file: !2, line: 13, type: !5)
-!35 = !DILocation(line: 13, column: 39, scope: !32)
-!36 = !DILocation(line: 14, column: 12, scope: !32)
-!37 = !DILocation(line: 14, column: 17, scope: !32)
-!38 = !DILocation(line: 14, column: 5, scope: !32)
-!39 = distinct !DISubprogram(name: "test_return4", scope: !2, file: !2, line: 18, type: !40, isLocal: false, isDefinition: true, scopeLine: 18, isOptimized: true, unit: !1, variables: !3)
-!40 = !DISubroutineType(types: !41)
-!41 = !{!6}
-!42 = !DILocation(line: 19, column: 13, scope: !39)
-!43 = !{!44, !44, i64 0}
-!44 = !{!"any pointer", !21, i64 0}
-!45 = !DILocation(line: 19, column: 12, scope: !39)
-!46 = !DILocation(line: 19, column: 5, scope: !39)
-!47 = distinct !DISubprogram(name: "test_return5", scope: !2, file: !2, line: 22, type: !40, isLocal: false, isDefinition: true, scopeLine: 22, isOptimized: true, unit: !1, variables: !48)
-!48 = !{!49}
-!49 = !DILocalVariable(name: "value", scope: !47, file: !2, line: 23, type: !6)
-!50 = !DILocation(line: 23, column: 26, scope: !47)
-!51 = !DILocation(line: 23, column: 25, scope: !47)
-!52 = !DILocation(line: 23, column: 17, scope: !47)
-!53 = !DILocation(line: 24, column: 5, scope: !47)
-!54 = distinct !DISubprogram(name: "test_return6", scope: !2, file: !2, line: 27, type: !40, isLocal: false, isDefinition: true, scopeLine: 27, isOptimized: true, unit: !1, variables: !3)
-!55 = !DILocation(line: 28, column: 13, scope: !54)
-!56 = !DILocation(line: 28, column: 12, scope: !54)
-!57 = !DILocation(line: 28, column: 20, scope: !54)
-!58 = !DILocation(line: 28, column: 5, scope: !54)
+!llvm.dbg.cu = !{!2}
+!llvm.module.flags = !{!8, !9, !10}
+!llvm.ident = !{!11}
+
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "ld_ptr", scope: !2, file: !3, line: 17, type: !6, isLocal: false, isDefinition: true)
+!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 4.0.0 (trunk 281495)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5)
+!3 = !DIFile(filename: "fp128-g.c", directory: "/disk5/chh/Debug/ld.loop")
+!4 = !{}
+!5 = !{!0}
+!6 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64, align: 64)
+!7 = !DIBasicType(name: "long double", size: 128, align: 128, encoding: DW_ATE_float)
+!8 = !{i32 2, !"Dwarf Version", i32 4}
+!9 = !{i32 2, !"Debug Info Version", i32 3}
+!10 = !{i32 1, !"PIC Level", i32 2}
+!11 = !{!"clang version 4.0.0 (trunk 281495)"}
+!12 = distinct !DISubprogram(name: "test_return1", scope: !3, file: !3, line: 3, type: !13, isLocal: false, isDefinition: true, scopeLine: 3, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !15)
+!13 = !DISubroutineType(types: !14)
+!14 = !{!7, !6}
+!15 = !{!16}
+!16 = !DILocalVariable(name: "ptr", arg: 1, scope: !12, file: !3, line: 3, type: !6)
+!17 = !DIExpression()
+!18 = !DILocation(line: 3, column: 39, scope: !12)
+!19 = !DILocation(line: 4, column: 12, scope: !12)
+!20 = !{!21, !21, i64 0}
+!21 = !{!"long double", !22, i64 0}
+!22 = !{!"omnipotent char", !23, i64 0}
+!23 = !{!"Simple C/C++ TBAA"}
+!24 = !DILocation(line: 4, column: 5, scope: !12)
+!25 = distinct !DISubprogram(name: "test_return2", scope: !3, file: !3, line: 7, type: !13, isLocal: false, isDefinition: true, scopeLine: 7, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !26)
+!26 = !{!27, !28}
+!27 = !DILocalVariable(name: "ptr", arg: 1, scope: !25, file: !3, line: 7, type: !6)
+!28 = !DILocalVariable(name: "value", scope: !25, file: !3, line: 8, type: !7)
+!29 = !DILocation(line: 7, column: 39, scope: !25)
+!30 = !DILocation(line: 9, column: 14, scope: !25)
+!31 = !DILocation(line: 8, column: 17, scope: !25)
+!32 = !DILocation(line: 10, column: 5, scope: !25)
+!33 = distinct !DISubprogram(name: "test_return3", scope: !3, file: !3, line: 13, type: !13, isLocal: false, isDefinition: true, scopeLine: 13, flags: DIFlagPrototyped, isOptimized: true, unit: !2, variables: !34)
+!34 = !{!35}
+!35 = !DILocalVariable(name: "ptr", arg: 1, scope: !33, file: !3, line: 13, type: !6)
+!36 = !DILocation(line: 13, column: 39, scope: !33)
+!37 = !DILocation(line: 14, column: 12, scope: !33)
+!38 = !DILocation(line: 14, column: 17, scope: !33)
+!39 = !DILocation(line: 14, column: 5, scope: !33)
+!40 = distinct !DISubprogram(name: "test_return4", scope: !3, file: !3, line: 18, type: !41, isLocal: false, isDefinition: true, scopeLine: 18, isOptimized: true, unit: !2, variables: !4)
+!41 = !DISubroutineType(types: !42)
+!42 = !{!7}
+!43 = !DILocation(line: 19, column: 13, scope: !40)
+!44 = !{!45, !45, i64 0}
+!45 = !{!"any pointer", !22, i64 0}
+!46 = !DILocation(line: 19, column: 12, scope: !40)
+!47 = !DILocation(line: 19, column: 5, scope: !40)
+!48 = distinct !DISubprogram(name: "test_return5", scope: !3, file: !3, line: 22, type: !41, isLocal: false, isDefinition: true, scopeLine: 22, isOptimized: true, unit: !2, variables: !49)
+!49 = !{!50}
+!50 = !DILocalVariable(name: "value", scope: !48, file: !3, line: 23, type: !7)
+!51 = !DILocation(line: 23, column: 26, scope: !48)
+!52 = !DILocation(line: 23, column: 25, scope: !48)
+!53 = !DILocation(line: 23, column: 17, scope: !48)
+!54 = !DILocation(line: 24, column: 5, scope: !48)
+!55 = distinct !DISubprogram(name: "test_return6", scope: !3, file: !3, line: 27, type: !41, isLocal: false, isDefinition: true, scopeLine: 27, isOptimized: true, unit: !2, variables: !4)
+!56 = !DILocation(line: 28, column: 13, scope: !55)
+!57 = !DILocation(line: 28, column: 12, scope: !55)
+!58 = !DILocation(line: 28, column: 20, scope: !55)
+!59 = !DILocation(line: 28, column: 5, scope: !55)
+

Modified: llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll (original)
+++ llvm/trunk/test/CodeGen/X86/fpstack-debuginstr-kill.ll Wed Dec 21 18:45:21 2016
@@ -1,17 +1,19 @@
 ; RUN: llc < %s -mcpu=generic -mtriple=i386-apple-darwin -no-integrated-as
 
- at g1 = global double 0.000000e+00, align 8, !dbg !22
- at g2 = global i32 0, align 4, !dbg !23
+source_filename = "test/CodeGen/X86/fpstack-debuginstr-kill.ll"
 
-define void @_Z16fpuop_arithmeticjj(i32, i32) !dbg !4 {
+ at g1 = global double 0.000000e+00, align 8, !dbg !0
+ at g2 = global i32 0, align 4, !dbg !7
+
+define void @_Z16fpuop_arithmeticjj(i32, i32) !dbg !16 {
 entry:
   switch i32 undef, label %sw.bb.i1921 [
   ]
 
-sw.bb261:                                         ; preds = %entry, %entry
+sw.bb261:                                         ; No predecessors!
   unreachable
 
-sw.bb.i1921:                                      ; preds = %if.end504
+sw.bb.i1921:                                      ; preds = %entry
   switch i32 undef, label %if.end511 [
     i32 1, label %sw.bb27.i
   ]
@@ -20,7 +22,7 @@ sw.bb27.i:
   %conv.i.i1923 = fpext float undef to x86_fp80
   br label %if.end511
 
-if.end511:                                        ; preds = %sw.bb27.i, %sw.bb13.i
+if.end511:                                        ; preds = %sw.bb27.i, %sw.bb.i1921
   %src.sroa.0.0.src.sroa.0.0.2280 = phi x86_fp80 [ %conv.i.i1923, %sw.bb27.i ], [ undef, %sw.bb.i1921 ]
   switch i32 undef, label %sw.bb992 [
     i32 3, label %sw.bb735
@@ -32,39 +34,47 @@ sw.bb735:
   unreachable
 
 if.end41.i2210:                                   ; preds = %if.end511
-  call void @llvm.dbg.value(metadata x86_fp80 %src.sroa.0.0.src.sroa.0.0.2280, i64 0, metadata !20, metadata !DIExpression()), !dbg !DILocation(scope: !4)
+  call void @llvm.dbg.value(metadata x86_fp80 %src.sroa.0.0.src.sroa.0.0.2280, i64 0, metadata !25, metadata !26), !dbg !27
   unreachable
 
 sw.bb992:                                         ; preds = %if.end511
   ret void
 }
 
-declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
+; Function Attrs: nounwind readnone
+declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
+
+attributes #0 = { nounwind readnone }
+
+!llvm.dbg.cu = !{!10}
+!llvm.module.flags = !{!14, !15}
+
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "g1", scope: null, file: !2, line: 5, type: !3, isLocal: false, isDefinition: true)
+!2 = !DIFile(filename: "f1.cpp", directory: "x87stackifier")
+!3 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpu_extended", file: !2, line: 3, baseType: !4)
+!4 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpu_register", file: !2, line: 2, baseType: !5)
+!5 = !DIDerivedType(tag: DW_TAG_typedef, name: "uae_f64", file: !2, line: 1, baseType: !6)
+!6 = !DIBasicType(name: "long double", size: 128, align: 128, encoding: DW_ATE_float)
+!7 = !DIGlobalVariableExpression(var: !8)
+!8 = !DIGlobalVariable(name: "g2", scope: null, file: !2, line: 6, type: !9, isLocal: false, isDefinition: true)
+!9 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!10 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !11, producer: "clang version 3.6.0 (http://llvm.org/git/clang 8444ae7cfeaefae031f8fedf0d1435ca3b14d90b) (http://llvm.org/git/llvm 886f0101a7d176543b831f5efb74c03427244a55)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !12, retainedTypes: !12, globals: !13, imports: !12)
+!11 = !DIFile(filename: "fpu_ieee.cpp", directory: "x87stackifier")
+!12 = !{}
+!13 = !{!0, !7}
+!14 = !{i32 2, !"Dwarf Version", i32 2}
+!15 = !{i32 2, !"Debug Info Version", i32 3}
+!16 = distinct !DISubprogram(name: "fpuop_arithmetic", linkageName: "_Z16fpuop_arithmeticjj", scope: !2, file: !2, line: 11, type: !17, isLocal: false, isDefinition: true, scopeLine: 13, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !10, variables: !20)
+!17 = !DISubroutineType(types: !18)
+!18 = !{null, !19, !19}
+!19 = !DIBasicType(name: "unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned)
+!20 = !{!21, !22, !23, !24, !25}
+!21 = !DILocalVariable(arg: 1, scope: !16, file: !2, line: 11, type: !19)
+!22 = !DILocalVariable(arg: 2, scope: !16, file: !2, line: 11, type: !19)
+!23 = !DILocalVariable(name: "x", scope: !16, file: !2, line: 14, type: !3)
+!24 = !DILocalVariable(name: "a", scope: !16, file: !2, line: 15, type: !9)
+!25 = !DILocalVariable(name: "value", scope: !16, file: !2, line: 16, type: !3)
+!26 = !DIExpression()
+!27 = !DILocation(line: 0, scope: !16)
 
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!24, !25}
-!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.6.0 (http://llvm.org/git/clang 8444ae7cfeaefae031f8fedf0d1435ca3b14d90b) (http://llvm.org/git/llvm 886f0101a7d176543b831f5efb74c03427244a55)", isOptimized: true, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !21, imports: !2)
-!1 = !DIFile(filename: "fpu_ieee.cpp", directory: "x87stackifier")
-!2 = !{}
-!4 = distinct !DISubprogram(name: "fpuop_arithmetic", linkageName: "_Z16fpuop_arithmeticjj", line: 11, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 13, file: !5, scope: !6, type: !7, variables: !10)
-!5 = !DIFile(filename: "f1.cpp", directory: "x87stackifier")
-!6 = !DIFile(filename: "f1.cpp", directory: "x87stackifier")
-!7 = !DISubroutineType(types: !8)
-!8 = !{null, !9, !9}
-!9 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned)
-!10 = !{!11, !12, !13, !18, !20}
-!11 = !DILocalVariable(name: "", line: 11, arg: 1, scope: !4, file: !6, type: !9)
-!12 = !DILocalVariable(name: "", line: 11, arg: 2, scope: !4, file: !6, type: !9)
-!13 = !DILocalVariable(name: "x", line: 14, scope: !4, file: !6, type: !14)
-!14 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpu_extended", line: 3, file: !5, baseType: !15)
-!15 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpu_register", line: 2, file: !5, baseType: !16)
-!16 = !DIDerivedType(tag: DW_TAG_typedef, name: "uae_f64", line: 1, file: !5, baseType: !17)
-!17 = !DIBasicType(tag: DW_TAG_base_type, name: "long double", size: 128, align: 128, encoding: DW_ATE_float)
-!18 = !DILocalVariable(name: "a", line: 15, scope: !4, file: !6, type: !19)
-!19 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
-!20 = !DILocalVariable(name: "value", line: 16, scope: !4, file: !6, type: !14)
-!21 = !{!22, !23}
-!22 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "g1", line: 5, isLocal: false, isDefinition: true, scope: null, file: !6, type: !14))
-!23 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "g2", line: 6, isLocal: false, isDefinition: true, scope: null, file: !6, type: !19))
-!24 = !{i32 2, !"Dwarf Version", i32 2}
-!25 = !{i32 2, !"Debug Info Version", i32 3}

Modified: llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll (original)
+++ llvm/trunk/test/CodeGen/X86/misched-code-difference-with-debug.ll Wed Dec 21 18:45:21 2016
@@ -19,16 +19,17 @@
 ; clang -O2 -c test.cpp -emit-llvm -S -g
 ;
 
+source_filename = "test/CodeGen/X86/misched-code-difference-with-debug.ll"
 
 %class.C = type { i8 }
 
- at argc = global i8 0, align 1, !dbg !21
+ at argc = global i8 0, align 1, !dbg !0
 
 declare i32 @test_function(%class.C*, i8 signext, i8 signext, i8 signext, ...)
-
 ; CHECK-LABEL: test_without_debug
 ; CHECK: movl [[A:%[a-z]+]], [[B:%[a-z]+]]
 ; CHECK-NEXT: movl [[A]], [[C:%[a-z]+]]
+
 define void @test_without_debug() {
 entry:
   %c = alloca %class.C, align 1
@@ -39,51 +40,57 @@ entry:
   %call2 = call i32 (%class.C*, i8, i8, i8, ...) @test_function(%class.C* %c, i8 signext 0, i8 signext %1, i8 signext 0, i32 %conv)
   ret void
 }
-
 ; CHECK-LABEL: test_with_debug
 ; CHECK: movl [[A]], [[B]]
 ; CHECK-NEXT: movl [[A]], [[C]]
-define void @test_with_debug() !dbg !13 {
+
+define void @test_with_debug() !dbg !17 {
 entry:
   %c = alloca %class.C, align 1
   %0 = load i8, i8* @argc, align 1
-  tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !19, metadata !29), !dbg !DILocation(scope: !13)
+  tail call void @llvm.dbg.value(metadata i8 %0, i64 0, metadata !22, metadata !23), !dbg !24
   %conv = sext i8 %0 to i32
-  tail call void @llvm.dbg.value(metadata %class.C* %c, i64 0, metadata !18, metadata !DIExpression(DW_OP_deref)), !dbg !DILocation(scope: !13)
+  tail call void @llvm.dbg.value(metadata %class.C* %c, i64 0, metadata !21, metadata !25), !dbg !24
   %call = call i32 (%class.C*, i8, i8, i8, ...) @test_function(%class.C* %c, i8 signext 0, i8 signext %0, i8 signext 0, i32 %conv)
   %1 = load i8, i8* @argc, align 1
-  call void @llvm.dbg.value(metadata %class.C* %c, i64 0, metadata !18, metadata !DIExpression(DW_OP_deref)), !dbg !DILocation(scope: !13)
+  call void @llvm.dbg.value(metadata %class.C* %c, i64 0, metadata !21, metadata !25), !dbg !24
   %call2 = call i32 (%class.C*, i8, i8, i8, ...) @test_function(%class.C* %c, i8 signext 0, i8 signext %1, i8 signext 0, i32 %conv)
   ret void
 }
 
-declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
+; Function Attrs: nounwind readnone
+
+declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
+
+attributes #0 = { nounwind readnone }
+
+!llvm.dbg.cu = !{!4}
+!llvm.module.flags = !{!15, !16}
 
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!22, !23}
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "argc", scope: null, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)
+!2 = !DIFile(filename: "test.cpp", directory: "")
+!3 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
+!4 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !2, isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !5, retainedTypes: !6, globals: !14, imports: !5)
+!5 = !{}
+!6 = !{!7}
+!7 = !DICompositeType(tag: DW_TAG_class_type, name: "C", file: !2, line: 2, size: 8, align: 8, elements: !8, identifier: "_ZTS1C")
+!8 = !{!9}
+!9 = !DISubprogram(name: "test", scope: !7, file: !2, type: !10, isLocal: false, isDefinition: false, isOptimized: false)
+!10 = !DISubroutineType(types: !11)
+!11 = !{!12, !13, !3, !3, !3, null}
+!12 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!13 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64, align: 64, flags: DIFlagArtificial)
+!14 = !{!0}
+!15 = !{i32 2, !"Dwarf Version", i32 4}
+!16 = !{i32 2, !"Debug Info Version", i32 3}
+!17 = distinct !DISubprogram(name: "test_with_debug", linkageName: "test_with_debug", scope: !2, file: !2, line: 6, type: !18, isLocal: false, isDefinition: true, scopeLine: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !4, variables: !20)
+!18 = !DISubroutineType(types: !19)
+!19 = !{null}
+!20 = !{!21, !22}
+!21 = !DILocalVariable(name: "c", scope: !17, file: !2, line: 7, type: !7)
+!22 = !DILocalVariable(name: "lc", scope: !17, file: !2, line: 8, type: !3)
+!23 = !DIExpression()
+!24 = !DILocation(line: 0, scope: !17)
+!25 = !DIExpression(DW_OP_deref)
 
-!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, enums: !2, retainedTypes: !3, globals: !20, imports: !2, emissionKind: FullDebug)
-!1 = !DIFile(filename: "test.cpp", directory: "")
-!2 = !{}
-!3 = !{!4}
-!4 = !DICompositeType(tag: DW_TAG_class_type, name: "C", line: 2, size: 8, align: 8, file: !1, elements: !5, identifier: "_ZTS1C")
-!5 = !{!6}
-!6 = !DISubprogram(name: "test", file: !1, scope: !4, type: !7, isDefinition: false)
-!7 = !DISubroutineType(types: !8)
-!8 = !{!9, !10, !11, !11, !11, null}
-!9 = !DIBasicType(encoding: DW_ATE_signed, size: 32, align: 32, name: "int")
-!10 = !DIDerivedType(baseType: !4, tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial)
-!11 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
-!13 = distinct !DISubprogram(name: "test_with_debug", linkageName: "test_with_debug", line: 6, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 6, file: !1, scope: !14, type: !15, variables: !17)
-!14 = !DIFile(filename: "test.cpp", directory: "")
-!15 = !DISubroutineType(types: !16)
-!16 = !{null}
-!17 = !{!18, !19}
-!18 = !DILocalVariable(name: "c", line: 7, scope: !13, file: !14, type: !4)
-!19 = !DILocalVariable(name: "lc", line: 8, scope: !13, file: !14, type: !11)
-!20 = !{!21}
-!21 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "argc", line: 1, isLocal: false, isDefinition: true, scope: null, file: !14, type: !11))
-!22 = !{i32 2, !"Dwarf Version", i32 4}
-!23 = !{i32 2, !"Debug Info Version", i32 3}
-!25 = !DILocation(line: 8, column: 3, scope: !13)
-!29 = !DIExpression()

Modified: llvm/trunk/test/CodeGen/X86/null-streamer.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/null-streamer.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/null-streamer.ll (original)
+++ llvm/trunk/test/CodeGen/X86/null-streamer.ll Wed Dec 21 18:45:21 2016
@@ -3,7 +3,9 @@
 ; RUN: llc -filetype=null -o %t -march=x86 %s
 ; RUN: llc -filetype=null -o %t -mtriple=i686-cygwin %s
 
-define void @f0()  {
+source_filename = "test/CodeGen/X86/null-streamer.ll"
+
+define void @f0() {
   ret void
 }
 
@@ -12,16 +14,15 @@ define void @f1() {
 }
 
 !llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!11, !13}
+!llvm.module.flags = !{!7, !8}
 
-!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: " ", isOptimized: true, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !9, imports: !2)
+!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: " ", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !2, globals: !3, imports: !2)
 !1 = !DIFile(filename: "file.c", directory: "")
 !2 = !{}
-!4 = distinct !DISubprogram(name: "", line: 2, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 2, file: !1, scope: !1, type: !6, variables: !2)
-!6 = !DISubroutineType(types: !7)
-!7 = !{!8}
-!8 = !DIBasicType(tag: DW_TAG_base_type, size: 32, align: 32, encoding: DW_ATE_signed)
-!9 = !{!10}
-!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "i", linkageName: "_ZL1i", line: 1, isLocal: true, isDefinition: true, scope: null, file: !1, type: !8))
-!11 = !{i32 2, !"Dwarf Version", i32 3}
-!13 = !{i32 1, !"Debug Info Version", i32 3}
+!3 = !{!4}
+!4 = !DIGlobalVariableExpression(var: !5)
+!5 = !DIGlobalVariable(name: "i", linkageName: "_ZL1i", scope: null, file: !1, line: 1, type: !6, isLocal: true, isDefinition: true)
+!6 = !DIBasicType(size: 32, align: 32, encoding: DW_ATE_signed)
+!7 = !{i32 2, !"Dwarf Version", i32 3}
+!8 = !{i32 1, !"Debug Info Version", i32 3}
+

Modified: llvm/trunk/test/DebugInfo/AArch64/big-endian.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AArch64/big-endian.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/AArch64/big-endian.ll (original)
+++ llvm/trunk/test/DebugInfo/AArch64/big-endian.ll Wed Dec 21 18:45:21 2016
@@ -1,22 +1,24 @@
 ; RUN: llc %s -filetype=asm -o -
 
+source_filename = "test/DebugInfo/AArch64/big-endian.ll"
 target datalayout = "E-m:e-i64:64-i128:128-n32:64-S128"
 target triple = "aarch64_be--none-eabi"
 
- at a = common global i32 0, align 4, !dbg !4
+ at a = common global i32 0, align 4, !dbg !0
 
-!llvm.dbg.cu = !{!0}
+!llvm.dbg.cu = !{!4}
 !llvm.module.flags = !{!8, !9}
 !llvm.ident = !{!10}
 
-!0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: true, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !3, imports: !2)
-!1 = !DIFile(filename: "-", directory: "/work/validation")
-!2 = !{}
-!3 = !{!4}
-!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !7))
-!5 = !DIFile(filename: "<stdin>", directory: "/work/validation")
-!6 = !{!"<stdin>", !"/work/validation"}
-!7 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "a", scope: null, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)
+!2 = !DIFile(filename: "<stdin>", directory: "/work/validation")
+!3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!4 = distinct !DICompileUnit(language: DW_LANG_C99, file: !5, producer: "clang version 3.6.0 ", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !6, retainedTypes: !6, globals: !7, imports: !6)
+!5 = !DIFile(filename: "-", directory: "/work/validation")
+!6 = !{}
+!7 = !{!0}
 !8 = !{i32 2, !"Dwarf Version", i32 4}
 !9 = !{i32 2, !"Debug Info Version", i32 3}
 !10 = !{!"clang version 3.6.0 "}
+

Modified: llvm/trunk/test/DebugInfo/AArch64/bitfields.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AArch64/bitfields.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/AArch64/bitfields.ll (original)
+++ llvm/trunk/test/DebugInfo/AArch64/bitfields.ll Wed Dec 21 18:45:21 2016
@@ -43,31 +43,33 @@
 ; CHECK-NEXT: DW_AT_data_member_location {{.*}} 08
 
 ; ModuleID = 'bitfields.c'
+source_filename = "test/DebugInfo/AArch64/bitfields.ll"
 target datalayout = "E-m:e-i64:64-i128:128-n32:64-S128"
 target triple = "aarch64_be--linux-gnu"
 
 %struct.bitfield = type <{ i8, [3 x i8], i64 }>
 
- at b = common global %struct.bitfield zeroinitializer, align 4, !dbg !4
+ at b = common global %struct.bitfield zeroinitializer, align 4, !dbg !0
 
-!llvm.dbg.cu = !{!0}
+!llvm.dbg.cu = !{!2}
 !llvm.module.flags = !{!13, !14, !15}
 !llvm.ident = !{!16}
 
-!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !2, globals: !3, imports: !2)
-!1 = !DIFile(filename: "bitfields.c", directory: "/")
-!2 = !{}
-!3 = !{!4}
-!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", scope: !0, file: !5, line: 8, type: !6, isLocal: false, isDefinition: true))
-!5 = !DIFile(filename: "bitfields.c", directory: "/")
-!6 = !DICompositeType(tag: DW_TAG_structure_type, name: "bitfield", file: !5, line: 1, size: 96, elements: !7)
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "b", scope: !2, file: !3, line: 8, type: !6, isLocal: false, isDefinition: true)
+!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, retainedTypes: !4, globals: !5, imports: !4)
+!3 = !DIFile(filename: "bitfields.c", directory: "/")
+!4 = !{}
+!5 = !{!0}
+!6 = !DICompositeType(tag: DW_TAG_structure_type, name: "bitfield", file: !3, line: 1, size: 96, elements: !7)
 !7 = !{!8, !10, !11, !12}
-!8 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !6, file: !5, line: 2, baseType: !9, size: 2)
+!8 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !6, file: !3, line: 2, baseType: !9, size: 2)
 !9 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
-!10 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !6, file: !5, line: 3, baseType: !9, size: 32, offset: 32)
-!11 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !6, file: !5, line: 4, baseType: !9, size: 1, offset: 64)
-!12 = !DIDerivedType(tag: DW_TAG_member, name: "d", scope: !6, file: !5, line: 5, baseType: !9, size: 28, offset: 65)
+!10 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !6, file: !3, line: 3, baseType: !9, size: 32, offset: 32)
+!11 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !6, file: !3, line: 4, baseType: !9, size: 1, offset: 64)
+!12 = !DIDerivedType(tag: DW_TAG_member, name: "d", scope: !6, file: !3, line: 5, baseType: !9, size: 28, offset: 65)
 !13 = !{i32 2, !"Dwarf Version", i32 2}
 !14 = !{i32 2, !"Debug Info Version", i32 3}
 !15 = !{i32 1, !"PIC Level", i32 2}
 !16 = !{!"clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)"}
+

Modified: llvm/trunk/test/DebugInfo/AArch64/frameindices.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/AArch64/frameindices.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/AArch64/frameindices.ll (original)
+++ llvm/trunk/test/DebugInfo/AArch64/frameindices.ll Wed Dec 21 18:45:21 2016
@@ -33,105 +33,106 @@
 ;   f11(c);
 ; }
 ; ModuleID = 'test.cpp'
+source_filename = "test/DebugInfo/AArch64/frameindices.ll"
 target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
 target triple = "aarch64-apple-ios"
 
 %struct.A = type { i8, i8*, i8 }
 %struct.B = type { i8 }
 
- at a = global i64 0, align 8, !dbg !41
- at b = global i32* null, align 8, !dbg !42
+ at a = global i64 0, align 8, !dbg !0
+ at b = global i32* null, align 8, !dbg !4
 
-define void @_Z3f131A(%struct.A* nocapture readonly %p1) #0 !dbg !25 {
+define void @_Z3f131A(%struct.A* nocapture readonly %p1) !dbg !32 {
 entry:
   %agg.tmp = alloca %struct.A, align 8
-  tail call void @llvm.dbg.declare(metadata %struct.A* %p1, metadata !30, metadata !46), !dbg !47
-  %0 = load i64, i64* @a, align 8, !dbg !48, !tbaa !49
-  %call = tail call noalias i8* @_Znwm(i64 %0) #5, !dbg !53
-  store i8* %call, i8** bitcast (i32** @b to i8**), align 8, !dbg !54, !tbaa !55
-  %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp, i64 0, i32 0, !dbg !57
-  %2 = getelementptr inbounds %struct.A, %struct.A* %p1, i64 0, i32 0, !dbg !57
-  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1, i8* %2, i64 24, i32 8, i1 false), !dbg !57, !tbaa.struct !58
-  call void @_Z2f91A(%struct.A* %agg.tmp), !dbg !61
-  ret void, !dbg !62
+  tail call void @llvm.dbg.declare(metadata %struct.A* %p1, metadata !36, metadata !37), !dbg !38
+  %0 = load i64, i64* @a, align 8, !dbg !39, !tbaa !40
+  %call = tail call noalias i8* @_Znwm(i64 %0) #4, !dbg !44
+  store i8* %call, i8** bitcast (i32** @b to i8**), align 8, !dbg !45, !tbaa !46
+  %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp, i64 0, i32 0, !dbg !48
+  %2 = getelementptr inbounds %struct.A, %struct.A* %p1, i64 0, i32 0, !dbg !48
+  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1, i8* %2, i64 24, i32 8, i1 false), !dbg !48, !tbaa.struct !49
+  call void @_Z2f91A(%struct.A* %agg.tmp), !dbg !52
+  ret void, !dbg !53
 }
 
 ; Function Attrs: nounwind readnone
-declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
+declare void @llvm.dbg.declare(metadata, metadata, metadata) #0
 
 ; Function Attrs: nobuiltin
-declare noalias i8* @_Znwm(i64) #2
+declare noalias i8* @_Znwm(i64) #1
 
-declare void @_Z2f91A(%struct.A*) #0
+declare void @_Z2f91A(%struct.A*)
 
-; Function Attrs: nounwind
-declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #3
+; Function Attrs: argmemonly nounwind
+declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #2
 
-define void @_Z3f111A(%struct.A* nocapture readonly %p1) #0 !dbg !31 {
+define void @_Z3f111A(%struct.A* nocapture readonly %p1) !dbg !54 {
 entry:
   %agg.tmp.i = alloca %struct.A, align 8
-  tail call void @llvm.dbg.declare(metadata %struct.A* %p1, metadata !33, metadata !46), !dbg !63
-  %0 = getelementptr inbounds %struct.A, %struct.A* %p1, i64 0, i32 0, !dbg !64
-  %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i, i64 0, i32 0, !dbg !65
-  call void @llvm.lifetime.start(i64 24, i8* %1), !dbg !65
-  %2 = load i64, i64* @a, align 8, !dbg !67, !tbaa !49
-  %call.i = tail call noalias i8* @_Znwm(i64 %2) #5, !dbg !68
-  store i8* %call.i, i8** bitcast (i32** @b to i8**), align 8, !dbg !69, !tbaa !55
-  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1, i8* %0, i64 24, i32 8, i1 false), !dbg !70
-  call void @_Z2f91A(%struct.A* %agg.tmp.i), !dbg !71
-  call void @llvm.lifetime.end(i64 24, i8* %1), !dbg !72
-  ret void, !dbg !73
+  tail call void @llvm.dbg.declare(metadata %struct.A* %p1, metadata !56, metadata !37), !dbg !57
+  %0 = getelementptr inbounds %struct.A, %struct.A* %p1, i64 0, i32 0, !dbg !58
+  %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i, i64 0, i32 0, !dbg !59
+  call void @llvm.lifetime.start(i64 24, i8* %1), !dbg !59
+  %2 = load i64, i64* @a, align 8, !dbg !61, !tbaa !40
+  %call.i = tail call noalias i8* @_Znwm(i64 %2) #4, !dbg !62
+  store i8* %call.i, i8** bitcast (i32** @b to i8**), align 8, !dbg !63, !tbaa !46
+  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %1, i8* %0, i64 24, i32 8, i1 false), !dbg !64
+  call void @_Z2f91A(%struct.A* %agg.tmp.i), !dbg !65
+  call void @llvm.lifetime.end(i64 24, i8* %1), !dbg !66
+  ret void, !dbg !67
 }
 
-define void @_Z3f16v() #0 personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) !dbg !34 {
+define void @_Z3f16v() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) !dbg !68 {
 entry:
   %agg.tmp.i.i = alloca %struct.A, align 8
   %d = alloca %struct.B, align 1
   %agg.tmp.sroa.2 = alloca [15 x i8], align 1
   %agg.tmp.sroa.4 = alloca [7 x i8], align 1
-  tail call void @llvm.dbg.declare(metadata [15 x i8]* %agg.tmp.sroa.2, metadata !74, metadata !76), !dbg !77
-  tail call void @llvm.dbg.declare(metadata [7 x i8]* %agg.tmp.sroa.4, metadata !74, metadata !78), !dbg !77
-  tail call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !38, metadata !79), !dbg !80
-  %0 = load i64, i64* @a, align 8, !dbg !81, !tbaa !49
-  tail call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !39, metadata !79), !dbg !82
-  %call = call %struct.B* @_ZN1BC1El(%struct.B* %d, i64 %0), !dbg !82
-  call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !38, metadata !83), !dbg !80
-  call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !38, metadata !84), !dbg !80
-  call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !74, metadata !83), !dbg !77
-  call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !74, metadata !84), !dbg !77
-  call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !74, metadata !46), !dbg !77
-  %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i.i, i64 0, i32 0, !dbg !85
-  call void @llvm.lifetime.start(i64 24, i8* %1), !dbg !85
-  %2 = load i64, i64* @a, align 8, !dbg !87, !tbaa !49
-  %call.i.i5 = invoke noalias i8* @_Znwm(i64 %2) #5
-          to label %call.i.i.noexc unwind label %lpad, !dbg !88
+  tail call void @llvm.dbg.declare(metadata [15 x i8]* %agg.tmp.sroa.2, metadata !56, metadata !74), !dbg !75
+  tail call void @llvm.dbg.declare(metadata [7 x i8]* %agg.tmp.sroa.4, metadata !56, metadata !77), !dbg !75
+  tail call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !72, metadata !37), !dbg !78
+  %0 = load i64, i64* @a, align 8, !dbg !79, !tbaa !40
+  tail call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !73, metadata !37), !dbg !80
+  %call = call %struct.B* @_ZN1BC1El(%struct.B* %d, i64 %0), !dbg !80
+  call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !72, metadata !81), !dbg !78
+  call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !72, metadata !82), !dbg !78
+  call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !56, metadata !81), !dbg !75
+  call void @llvm.dbg.value(metadata i8 1, i64 0, metadata !56, metadata !82), !dbg !75
+  call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !56, metadata !37), !dbg !75
+  %1 = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i.i, i64 0, i32 0, !dbg !83
+  call void @llvm.lifetime.start(i64 24, i8* %1), !dbg !83
+  %2 = load i64, i64* @a, align 8, !dbg !85, !tbaa !40
+  %call.i.i5 = invoke noalias i8* @_Znwm(i64 %2) #4
+          to label %call.i.i.noexc unwind label %lpad, !dbg !86
 
 call.i.i.noexc:                                   ; preds = %entry
-  %agg.tmp.sroa.4.17..sroa_idx = getelementptr inbounds [7 x i8], [7 x i8]* %agg.tmp.sroa.4, i64 0, i64 0, !dbg !89
-  %agg.tmp.sroa.2.1..sroa_idx = getelementptr inbounds [15 x i8], [15 x i8]* %agg.tmp.sroa.2, i64 0, i64 0, !dbg !89
-  store i8* %call.i.i5, i8** bitcast (i32** @b to i8**), align 8, !dbg !90, !tbaa !55
-  store i8 1, i8* %1, align 8, !dbg !91
-  %agg.tmp.sroa.2.0..sroa_raw_idx = getelementptr inbounds i8, i8* %1, i64 1, !dbg !91
-  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %agg.tmp.sroa.2.0..sroa_raw_idx, i8* %agg.tmp.sroa.2.1..sroa_idx, i64 15, i32 1, i1 false), !dbg !91
-  %agg.tmp.sroa.3.0..sroa_idx = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i.i, i64 0, i32 2, !dbg !91
-  store i8 1, i8* %agg.tmp.sroa.3.0..sroa_idx, align 8, !dbg !91
-  %agg.tmp.sroa.4.0..sroa_raw_idx = getelementptr inbounds i8, i8* %1, i64 17, !dbg !91
-  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %agg.tmp.sroa.4.0..sroa_raw_idx, i8* %agg.tmp.sroa.4.17..sroa_idx, i64 7, i32 1, i1 false), !dbg !91
+  %agg.tmp.sroa.4.17..sroa_idx = getelementptr inbounds [7 x i8], [7 x i8]* %agg.tmp.sroa.4, i64 0, i64 0, !dbg !87
+  %agg.tmp.sroa.2.1..sroa_idx = getelementptr inbounds [15 x i8], [15 x i8]* %agg.tmp.sroa.2, i64 0, i64 0, !dbg !87
+  store i8* %call.i.i5, i8** bitcast (i32** @b to i8**), align 8, !dbg !88, !tbaa !46
+  store i8 1, i8* %1, align 8, !dbg !89
+  %agg.tmp.sroa.2.0..sroa_raw_idx = getelementptr inbounds i8, i8* %1, i64 1, !dbg !89
+  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %agg.tmp.sroa.2.0..sroa_raw_idx, i8* %agg.tmp.sroa.2.1..sroa_idx, i64 15, i32 1, i1 false), !dbg !89
+  %agg.tmp.sroa.3.0..sroa_idx = getelementptr inbounds %struct.A, %struct.A* %agg.tmp.i.i, i64 0, i32 2, !dbg !89
+  store i8 1, i8* %agg.tmp.sroa.3.0..sroa_idx, align 8, !dbg !89
+  %agg.tmp.sroa.4.0..sroa_raw_idx = getelementptr inbounds i8, i8* %1, i64 17, !dbg !89
+  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %agg.tmp.sroa.4.0..sroa_raw_idx, i8* %agg.tmp.sroa.4.17..sroa_idx, i64 7, i32 1, i1 false), !dbg !89
   invoke void @_Z2f91A(%struct.A* %agg.tmp.i.i)
-          to label %invoke.cont unwind label %lpad, !dbg !92
+          to label %invoke.cont unwind label %lpad, !dbg !90
 
 invoke.cont:                                      ; preds = %call.i.i.noexc
-  call void @llvm.lifetime.end(i64 24, i8* %1), !dbg !93
-  call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !39, metadata !79), !dbg !82
-  %call1 = call %struct.B* @_ZN1BD1Ev(%struct.B* %d) #3, !dbg !94
-  ret void, !dbg !94
+  call void @llvm.lifetime.end(i64 24, i8* %1), !dbg !91
+  call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !73, metadata !37), !dbg !80
+  %call1 = call %struct.B* @_ZN1BD1Ev(%struct.B* %d) #3, !dbg !92
+  ret void, !dbg !92
 
 lpad:                                             ; preds = %call.i.i.noexc, %entry
   %3 = landingpad { i8*, i32 }
-          cleanup, !dbg !94
-  call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !39, metadata !79), !dbg !82
-  %call2 = call %struct.B* @_ZN1BD1Ev(%struct.B* %d) #3, !dbg !94
-  resume { i8*, i32 } %3, !dbg !94
+          cleanup, !dbg !92
+  call void @llvm.dbg.value(metadata %struct.B* %d, i64 0, metadata !73, metadata !37), !dbg !80
+  %call2 = call %struct.B* @_ZN1BD1Ev(%struct.B* %d) #3, !dbg !92
+  resume { i8*, i32 } %3, !dbg !92
 }
 
 declare %struct.B* @_ZN1BC1El(%struct.B*, i64)
@@ -139,118 +140,118 @@ declare %struct.B* @_ZN1BC1El(%struct.B*
 declare i32 @__gxx_personality_v0(...)
 
 ; Function Attrs: nounwind
-declare %struct.B* @_ZN1BD1Ev(%struct.B*) #4
+declare %struct.B* @_ZN1BD1Ev(%struct.B*) #3
 
 ; Function Attrs: nounwind readnone
-declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
+declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #0
 
-; Function Attrs: nounwind
-declare void @llvm.lifetime.start(i64, i8* nocapture) #3
+; Function Attrs: argmemonly nounwind
+declare void @llvm.lifetime.start(i64, i8* nocapture) #2
 
-; Function Attrs: nounwind
-declare void @llvm.lifetime.end(i64, i8* nocapture) #3
+; Function Attrs: argmemonly nounwind
+declare void @llvm.lifetime.end(i64, i8* nocapture) #2
 
-attributes #1 = { nounwind readnone }
-attributes #2 = { nobuiltin }
+attributes #0 = { nounwind readnone }
+attributes #1 = { nobuiltin }
+attributes #2 = { argmemonly nounwind }
 attributes #3 = { nounwind }
-attributes #4 = { nounwind  }
-attributes #5 = { builtin }
+attributes #4 = { builtin }
 
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!43, !44}
-!llvm.ident = !{!45}
-
-!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.7.0 ", isOptimized: true, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !3, globals: !40, imports: !2)
-!1 = !DIFile(filename: "<stdin>", directory: "")
-!2 = !{}
-!3 = !{!4, !12, !14}
-!4 = !DICompositeType(tag: DW_TAG_structure_type, name: "A", line: 2, size: 192, align: 64, file: !5, elements: !6, identifier: "_ZTS1A")
-!5 = !DIFile(filename: "test.cpp", directory: "")
-!6 = !{!7, !9, !11}
-!7 = !DIDerivedType(tag: DW_TAG_member, name: "x4", line: 3, size: 8, align: 8, file: !5, scope: !4, baseType: !8)
-!8 = !DIBasicType(tag: DW_TAG_base_type, name: "bool", size: 8, align: 8, encoding: DW_ATE_boolean)
-!9 = !DIDerivedType(tag: DW_TAG_member, name: "x5", line: 4, size: 64, align: 64, offset: 64, file: !5, scope: !4, baseType: !10)
-!10 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: null)
-!11 = !DIDerivedType(tag: DW_TAG_member, name: "x6", line: 5, size: 8, align: 8, offset: 128, file: !5, scope: !4, baseType: !8)
-!12 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !13)
-!13 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
-!14 = !DICompositeType(tag: DW_TAG_structure_type, name: "B", line: 8, size: 8, align: 8, file: !5, elements: !15, identifier: "_ZTS1B")
-!15 = !{!16, !21}
-!16 = !DISubprogram(name: "B", line: 9, isLocal: false, isDefinition: false, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 9, file: !5, scope: !14, type: !17)
-!17 = !DISubroutineType(types: !18)
-!18 = !{null, !19, !20}
-!19 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer, baseType: !14)
-!20 = !DIBasicType(tag: DW_TAG_base_type, name: "long int", size: 64, align: 64, encoding: DW_ATE_signed)
-!21 = !DISubprogram(name: "~B", line: 10, isLocal: false, isDefinition: false, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 10, file: !5, scope: !14, type: !22)
+!llvm.dbg.cu = !{!8}
+!llvm.module.flags = !{!29, !30}
+!llvm.ident = !{!31}
+
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "a", scope: null, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)
+!2 = !DIFile(filename: "test.cpp", directory: "")
+!3 = !DIBasicType(name: "long int", size: 64, align: 64, encoding: DW_ATE_signed)
+!4 = !DIGlobalVariableExpression(var: !5)
+!5 = !DIGlobalVariable(name: "b", scope: null, file: !2, line: 7, type: !6, isLocal: false, isDefinition: true)
+!6 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64, align: 64)
+!7 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!8 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !9, producer: "clang version 3.7.0 ", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !10, retainedTypes: !11, globals: !28, imports: !10)
+!9 = !DIFile(filename: "<stdin>", directory: "")
+!10 = !{}
+!11 = !{!12, !6, !19}
+!12 = !DICompositeType(tag: DW_TAG_structure_type, name: "A", file: !2, line: 2, size: 192, align: 64, elements: !13, identifier: "_ZTS1A")
+!13 = !{!14, !16, !18}
+!14 = !DIDerivedType(tag: DW_TAG_member, name: "x4", scope: !12, file: !2, line: 3, baseType: !15, size: 8, align: 8)
+!15 = !DIBasicType(name: "bool", size: 8, align: 8, encoding: DW_ATE_boolean)
+!16 = !DIDerivedType(tag: DW_TAG_member, name: "x5", scope: !12, file: !2, line: 4, baseType: !17, size: 64, align: 64, offset: 64)
+!17 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64, align: 64)
+!18 = !DIDerivedType(tag: DW_TAG_member, name: "x6", scope: !12, file: !2, line: 5, baseType: !15, size: 8, align: 8, offset: 128)
+!19 = !DICompositeType(tag: DW_TAG_structure_type, name: "B", file: !2, line: 8, size: 8, align: 8, elements: !20, identifier: "_ZTS1B")
+!20 = !{!21, !25}
+!21 = !DISubprogram(name: "B", scope: !19, file: !2, line: 9, type: !22, isLocal: false, isDefinition: false, scopeLine: 9, flags: DIFlagPrototyped, isOptimized: true)
 !22 = !DISubroutineType(types: !23)
-!23 = !{null, !19}
-!25 = distinct !DISubprogram(name: "f13", linkageName: "_Z3f131A", line: 13, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 13, file: !5, scope: !26, type: !27, variables: !29)
-!26 = !DIFile(filename: "test.cpp", directory: "")
-!27 = !DISubroutineType(types: !28)
-!28 = !{null, !4}
-!29 = !{!30}
-!30 = !DILocalVariable(name: "p1", line: 13, arg: 1, scope: !25, file: !26, type: !4)
-!31 = distinct !DISubprogram(name: "f11", linkageName: "_Z3f111A", line: 17, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 17, file: !5, scope: !26, type: !27, variables: !32)
-!32 = !{!33}
-!33 = !DILocalVariable(name: "p1", line: 17, arg: 1, scope: !31, file: !26, type: !4)
-!34 = distinct !DISubprogram(name: "f16", linkageName: "_Z3f16v", line: 18, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, unit: !0, scopeLine: 18, file: !5, scope: !26, type: !35, variables: !37)
-!35 = !DISubroutineType(types: !36)
-!36 = !{null}
-!37 = !{!38, !39}
-!38 = !DILocalVariable(name: "c", line: 19, scope: !34, file: !26, type: !4)
-!39 = !DILocalVariable(name: "d", line: 20, scope: !34, file: !26, type: !14)
-!40 = !{!41, !42}
-!41 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !26, type: !20))
-!42 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", line: 7, isLocal: false, isDefinition: true, scope: null, file: !26, type: !12))
-!43 = !{i32 2, !"Dwarf Version", i32 2}
-!44 = !{i32 2, !"Debug Info Version", i32 3}
-!45 = !{!"clang version 3.7.0 "}
-!46 = !DIExpression(DW_OP_deref)
-!47 = !DILocation(line: 13, column: 12, scope: !25)
-!48 = !DILocation(line: 14, column: 37, scope: !25)
-!49 = !{!50, !50, i64 0}
-!50 = !{!"long", !51, i64 0}
-!51 = !{!"omnipotent char", !52, i64 0}
-!52 = !{!"Simple C/C++ TBAA"}
-!53 = !DILocation(line: 14, column: 14, scope: !25)
-!54 = !DILocation(line: 14, column: 5, scope: !25)
-!55 = !{!56, !56, i64 0}
-!56 = !{!"any pointer", !51, i64 0}
-!57 = !DILocation(line: 15, column: 6, scope: !25)
-!58 = !{i64 0, i64 1, !59, i64 8, i64 8, !55, i64 16, i64 1, !59}
-!59 = !{!60, !60, i64 0}
-!60 = !{!"bool", !51, i64 0}
-!61 = !DILocation(line: 15, column: 3, scope: !25)
-!62 = !DILocation(line: 16, column: 1, scope: !25)
-!63 = !DILocation(line: 17, column: 12, scope: !31)
-!64 = !DILocation(line: 17, column: 22, scope: !31)
-!65 = !DILocation(line: 13, column: 12, scope: !25, inlinedAt: !66)
-!66 = distinct !DILocation(line: 17, column: 18, scope: !31)
-!67 = !DILocation(line: 14, column: 37, scope: !25, inlinedAt: !66)
-!68 = !DILocation(line: 14, column: 14, scope: !25, inlinedAt: !66)
-!69 = !DILocation(line: 14, column: 5, scope: !25, inlinedAt: !66)
-!70 = !DILocation(line: 15, column: 6, scope: !25, inlinedAt: !66)
-!71 = !DILocation(line: 15, column: 3, scope: !25, inlinedAt: !66)
-!72 = !DILocation(line: 16, column: 1, scope: !25, inlinedAt: !66)
-!73 = !DILocation(line: 17, column: 27, scope: !31)
-!74 = !DILocalVariable(name: "p1", line: 17, arg: 1, scope: !31, file: !26, type: !4)
-!75 = distinct !DILocation(line: 22, column: 3, scope: !34)
-!76 = !DIExpression(DW_OP_LLVM_fragment, 8, 120)
-!77 = !DILocation(line: 17, column: 12, scope: !31, inlinedAt: !75)
-!78 = !DIExpression(DW_OP_LLVM_fragment, 136, 56)
-!79 = !DIExpression(DW_OP_deref)
-!80 = !DILocation(line: 19, column: 5, scope: !34)
-!81 = !DILocation(line: 20, column: 7, scope: !34)
-!82 = !DILocation(line: 20, column: 5, scope: !34)
-!83 = !DIExpression(DW_OP_LLVM_fragment, 0, 8)
-!84 = !DIExpression(DW_OP_LLVM_fragment, 128, 8)
-!85 = !DILocation(line: 13, column: 12, scope: !25, inlinedAt: !86)
-!86 = distinct !DILocation(line: 17, column: 18, scope: !31, inlinedAt: !75)
-!87 = !DILocation(line: 14, column: 37, scope: !25, inlinedAt: !86)
-!88 = !DILocation(line: 14, column: 14, scope: !25, inlinedAt: !86)
-!89 = !DILocation(line: 22, column: 7, scope: !34)
-!90 = !DILocation(line: 14, column: 5, scope: !25, inlinedAt: !86)
-!91 = !DILocation(line: 15, column: 6, scope: !25, inlinedAt: !86)
-!92 = !DILocation(line: 15, column: 3, scope: !25, inlinedAt: !86)
-!93 = !DILocation(line: 16, column: 1, scope: !25, inlinedAt: !86)
-!94 = !DILocation(line: 23, column: 1, scope: !34)
+!23 = !{null, !24, !3}
+!24 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !19, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
+!25 = !DISubprogram(name: "~B", scope: !19, file: !2, line: 10, type: !26, isLocal: false, isDefinition: false, scopeLine: 10, flags: DIFlagPrototyped, isOptimized: true)
+!26 = !DISubroutineType(types: !27)
+!27 = !{null, !24}
+!28 = !{!0, !4}
+!29 = !{i32 2, !"Dwarf Version", i32 2}
+!30 = !{i32 2, !"Debug Info Version", i32 3}
+!31 = !{!"clang version 3.7.0 "}
+!32 = distinct !DISubprogram(name: "f13", linkageName: "_Z3f131A", scope: !2, file: !2, line: 13, type: !33, isLocal: false, isDefinition: true, scopeLine: 13, flags: DIFlagPrototyped, isOptimized: true, unit: !8, variables: !35)
+!33 = !DISubroutineType(types: !34)
+!34 = !{null, !12}
+!35 = !{!36}
+!36 = !DILocalVariable(name: "p1", arg: 1, scope: !32, file: !2, line: 13, type: !12)
+!37 = !DIExpression(DW_OP_deref)
+!38 = !DILocation(line: 13, column: 12, scope: !32)
+!39 = !DILocation(line: 14, column: 37, scope: !32)
+!40 = !{!41, !41, i64 0}
+!41 = !{!"long", !42, i64 0}
+!42 = !{!"omnipotent char", !43, i64 0}
+!43 = !{!"Simple C/C++ TBAA"}
+!44 = !DILocation(line: 14, column: 14, scope: !32)
+!45 = !DILocation(line: 14, column: 5, scope: !32)
+!46 = !{!47, !47, i64 0}
+!47 = !{!"any pointer", !42, i64 0}
+!48 = !DILocation(line: 15, column: 6, scope: !32)
+!49 = !{i64 0, i64 1, !50, i64 8, i64 8, !46, i64 16, i64 1, !50}
+!50 = !{!51, !51, i64 0}
+!51 = !{!"bool", !42, i64 0}
+!52 = !DILocation(line: 15, column: 3, scope: !32)
+!53 = !DILocation(line: 16, column: 1, scope: !32)
+!54 = distinct !DISubprogram(name: "f11", linkageName: "_Z3f111A", scope: !2, file: !2, line: 17, type: !33, isLocal: false, isDefinition: true, scopeLine: 17, flags: DIFlagPrototyped, isOptimized: true, unit: !8, variables: !55)
+!55 = !{!56}
+!56 = !DILocalVariable(name: "p1", arg: 1, scope: !54, file: !2, line: 17, type: !12)
+!57 = !DILocation(line: 17, column: 12, scope: !54)
+!58 = !DILocation(line: 17, column: 22, scope: !54)
+!59 = !DILocation(line: 13, column: 12, scope: !32, inlinedAt: !60)
+!60 = distinct !DILocation(line: 17, column: 18, scope: !54)
+!61 = !DILocation(line: 14, column: 37, scope: !32, inlinedAt: !60)
+!62 = !DILocation(line: 14, column: 14, scope: !32, inlinedAt: !60)
+!63 = !DILocation(line: 14, column: 5, scope: !32, inlinedAt: !60)
+!64 = !DILocation(line: 15, column: 6, scope: !32, inlinedAt: !60)
+!65 = !DILocation(line: 15, column: 3, scope: !32, inlinedAt: !60)
+!66 = !DILocation(line: 16, column: 1, scope: !32, inlinedAt: !60)
+!67 = !DILocation(line: 17, column: 27, scope: !54)
+!68 = distinct !DISubprogram(name: "f16", linkageName: "_Z3f16v", scope: !2, file: !2, line: 18, type: !69, isLocal: false, isDefinition: true, scopeLine: 18, flags: DIFlagPrototyped, isOptimized: true, unit: !8, variables: !71)
+!69 = !DISubroutineType(types: !70)
+!70 = !{null}
+!71 = !{!72, !73}
+!72 = !DILocalVariable(name: "c", scope: !68, file: !2, line: 19, type: !12)
+!73 = !DILocalVariable(name: "d", scope: !68, file: !2, line: 20, type: !19)
+!74 = !DIExpression(DW_OP_LLVM_fragment, 8, 120)
+!75 = !DILocation(line: 17, column: 12, scope: !54, inlinedAt: !76)
+!76 = distinct !DILocation(line: 22, column: 3, scope: !68)
+!77 = !DIExpression(DW_OP_LLVM_fragment, 136, 56)
+!78 = !DILocation(line: 19, column: 5, scope: !68)
+!79 = !DILocation(line: 20, column: 7, scope: !68)
+!80 = !DILocation(line: 20, column: 5, scope: !68)
+!81 = !DIExpression(DW_OP_LLVM_fragment, 0, 8)
+!82 = !DIExpression(DW_OP_LLVM_fragment, 128, 8)
+!83 = !DILocation(line: 13, column: 12, scope: !32, inlinedAt: !84)
+!84 = distinct !DILocation(line: 17, column: 18, scope: !54, inlinedAt: !76)
+!85 = !DILocation(line: 14, column: 37, scope: !32, inlinedAt: !84)
+!86 = !DILocation(line: 14, column: 14, scope: !32, inlinedAt: !84)
+!87 = !DILocation(line: 22, column: 7, scope: !68)
+!88 = !DILocation(line: 14, column: 5, scope: !32, inlinedAt: !84)
+!89 = !DILocation(line: 15, column: 6, scope: !32, inlinedAt: !84)
+!90 = !DILocation(line: 15, column: 3, scope: !32, inlinedAt: !84)
+!91 = !DILocation(line: 16, column: 1, scope: !32, inlinedAt: !84)
+!92 = !DILocation(line: 23, column: 1, scope: !68)
+

Modified: llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll (original)
+++ llvm/trunk/test/DebugInfo/ARM/big-endian-bitfield.ll Wed Dec 21 18:45:21 2016
@@ -8,45 +8,48 @@
 ;     int n:8;
 ;   } s;
 
+source_filename = "test/DebugInfo/ARM/big-endian-bitfield.ll"
 target datalayout = "E-m:e-p:32:32-i64:64-v128:64:128-n32-S64"
 
 %struct.S = type { i24 }
 
- at s = common global %struct.S zeroinitializer, align 4, !dbg !4
+ at s = common global %struct.S zeroinitializer, align 4, !dbg !0
 
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!12, !13, !14}
-!llvm.ident = !{!15}
-
-!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.9.0 (trunk 267633)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, globals: !3)
-!1 = !DIFile(filename: "bitfield.c", directory: "/Volumes/Data/llvm")
-!2 = !{}
-!3 = !{!4}
-!4 = distinct !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s", scope: !0, file: !1, line: 6, type: !5, isLocal: false, isDefinition: true))
-!5 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !1, line: 1, size: 32, elements: !6)
-!6 = !{!7, !9, !10, !11}
+!llvm.dbg.cu = !{!2}
+!llvm.module.flags = !{!13, !14, !15}
+!llvm.ident = !{!16}
+
+!0 = distinct !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "s", scope: !2, file: !3, line: 6, type: !6, isLocal: false, isDefinition: true)
+!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 3.9.0 (trunk 267633)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5)
+!3 = !DIFile(filename: "bitfield.c", directory: "/Volumes/Data/llvm")
+!4 = !{}
+!5 = !{!0}
+!6 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !3, line: 1, size: 32, elements: !7)
+!7 = !{!8, !10, !11, !12}
+!8 = !DIDerivedType(tag: DW_TAG_member, name: "j", scope: !6, file: !3, line: 2, baseType: !9, size: 5)
 ; CHECK: DW_TAG_member
 ; CHECK-NEXT: DW_AT_name{{.*}}"j"
 ; CHECK-NOT:  DW_TAG
 ; CHECK:      DW_AT_data_bit_offset      [DW_FORM_data1]	(0x00)
-!7 = !DIDerivedType(tag: DW_TAG_member, name: "j", scope: !5, file: !1, line: 2, baseType: !8, size: 5)
-!8 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
+!9 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
+!10 = !DIDerivedType(tag: DW_TAG_member, name: "k", scope: !6, file: !3, line: 3, baseType: !9, size: 6, offset: 5)
+!11 = !DIDerivedType(tag: DW_TAG_member, name: "m", scope: !6, file: !3, line: 4, baseType: !9, size: 5, offset: 11)
+!12 = !DIDerivedType(tag: DW_TAG_member, name: "n", scope: !6, file: !3, line: 5, baseType: !9, size: 8, offset: 16)
+!13 = !{i32 2, !"Dwarf Version", i32 4}
 ; CHECK: DW_TAG_member
 ; CHECK-NEXT: DW_AT_name{{.*}}"k"
 ; CHECK-NOT:  DW_TAG
 ; CHECK:      DW_AT_data_bit_offset      [DW_FORM_data1]	(0x05)
-!9 = !DIDerivedType(tag: DW_TAG_member, name: "k", scope: !5, file: !1, line: 3, baseType: !8, size: 6, offset: 5)
+!14 = !{i32 2, !"Debug Info Version", i32 3}
 ; CHECK: DW_TAG_member
 ; CHECK-NEXT: DW_AT_name{{.*}}"m"
 ; CHECK-NOT:  DW_TAG
 ; CHECK:      DW_AT_data_bit_offset      [DW_FORM_data1]	(0x0b)
-!10 = !DIDerivedType(tag: DW_TAG_member, name: "m", scope: !5, file: !1, line: 4, baseType: !8, size: 5, offset: 11)
+!15 = !{i32 1, !"PIC Level", i32 2}
 ; CHECK: DW_TAG_member
 ; CHECK-NEXT: DW_AT_name{{.*}}"n"
 ; CHECK-NOT:  DW_TAG
 ; CHECK:      DW_AT_data_bit_offset      [DW_FORM_data1]	(0x10)
-!11 = !DIDerivedType(tag: DW_TAG_member, name: "n", scope: !5, file: !1, line: 5, baseType: !8, size: 8, offset: 16)
-!12 = !{i32 2, !"Dwarf Version", i32 4}
-!13 = !{i32 2, !"Debug Info Version", i32 3}
-!14 = !{i32 1, !"PIC Level", i32 2}
-!15 = !{!"clang version 3.9.0 (trunk 267633)"}
+!16 = !{!"clang version 3.9.0 (trunk 267633)"}
+

Modified: llvm/trunk/test/DebugInfo/ARM/bitfield.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/bitfield.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/ARM/bitfield.ll (original)
+++ llvm/trunk/test/DebugInfo/ARM/bitfield.ll Wed Dec 21 18:45:21 2016
@@ -15,31 +15,34 @@
 ; CHECK:          DW_AT_bit_size   {{.*}} (0x1c)
 ; CHECK:          DW_AT_bit_offset {{.*}} (0xfffffffffffffff8)
 ; CHECK:          DW_AT_data_member_location {{.*}}00
+source_filename = "test/DebugInfo/ARM/bitfield.ll"
 target datalayout = "e-m:o-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32"
 target triple = "thumbv7-apple-ios"
 
 %struct.anon = type { i8, [5 x i8] }
 
- at a = common global %struct.anon zeroinitializer, align 1, !dbg !4
+ at a = common global %struct.anon zeroinitializer, align 1, !dbg !0
 
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!11, !12, !13, !14, !15}
-!llvm.ident = !{!16}
+!llvm.dbg.cu = !{!2}
+!llvm.module.flags = !{!12, !13, !14, !15, !16}
+!llvm.ident = !{!17}
+
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 5, type: !6, isLocal: false, isDefinition: true)
+!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, retainedTypes: !4, globals: !5, imports: !4)
+!3 = !DIFile(filename: "test.i", directory: "/")
+!4 = !{}
+!5 = !{!0}
+!6 = !DICompositeType(tag: DW_TAG_structure_type, file: !3, line: 1, size: 48, align: 8, elements: !7)
+!7 = !{!8, !10}
+!8 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !6, file: !3, line: 2, baseType: !9, size: 8, align: 8)
+!9 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
+!10 = !DIDerivedType(tag: DW_TAG_member, name: "reserved", scope: !6, file: !3, line: 4, baseType: !11, size: 28, align: 32, offset: 12)
+!11 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!12 = !{i32 2, !"Dwarf Version", i32 2}
+!13 = !{i32 2, !"Debug Info Version", i32 3}
+!14 = !{i32 1, !"wchar_size", i32 4}
+!15 = !{i32 1, !"min_enum_size", i32 4}
+!16 = !{i32 1, !"PIC Level", i32 2}
+!17 = !{!"clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)"}
 
-!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !2, globals: !3, imports: !2)
-!1 = !DIFile(filename: "test.i", directory: "/")
-!2 = !{}
-!3 = !{!4}
-!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "a", scope: !0, file: !1, line: 5, type: !5, isLocal: false, isDefinition: true))
-!5 = !DICompositeType(tag: DW_TAG_structure_type, file: !1, line: 1, size: 48, align: 8, elements: !6)
-!6 = !{!7, !9}
-!7 = !DIDerivedType(tag: DW_TAG_member, name: "c", scope: !5, file: !1, line: 2, baseType: !8, size: 8, align: 8)
-!8 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
-!9 = !DIDerivedType(tag: DW_TAG_member, name: "reserved", scope: !5, file: !1, line: 4, baseType: !10, size: 28, align: 32, offset: 12)
-!10 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
-!11 = !{i32 2, !"Dwarf Version", i32 2}
-!12 = !{i32 2, !"Debug Info Version", i32 3}
-!13 = !{i32 1, !"wchar_size", i32 4}
-!14 = !{i32 1, !"min_enum_size", i32 4}
-!15 = !{i32 1, !"PIC Level", i32 2}
-!16 = !{!"clang version 3.7.0 (trunk 240548) (llvm/trunk 240554)"}

Modified: llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll (original)
+++ llvm/trunk/test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll Wed Dec 21 18:45:21 2016
@@ -12,14 +12,15 @@
 ; CHECK: .loc 1 7 7
 ; CHECK: mov  r{{[0-9]}}, #0
 
+source_filename = "test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll"
 target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
 target triple = "armv7--linux-gnueabihf"
 
- at ch = common global i8 0, align 1, !dbg !8
- at b = common global i32 0, align 4, !dbg !10
+ at ch = common global i8 0, align 1, !dbg !0
+ at b = common global i32 0, align 4, !dbg !5
 
 ; Function Attrs: nounwind
-define void @proc() #0 !dbg !4 {
+define void @proc() #0 !dbg !13 {
 entry:
   store i8 65, i8* @ch, align 1, !dbg !17
   store i32 0, i32* @b, align 4, !dbg !18
@@ -28,26 +29,28 @@ entry:
 
 attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="cortex-a8" "target-features"="+neon,+vfp3" "unsafe-fp-math"="false" "use-soft-float"="false" }
 
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!12, !13, !14, !15}
-!llvm.ident = !{!16}
-
-!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "", isOptimized: false, emissionKind: FullDebug)
-!1 = !DIFile(filename: "test.c", directory: "/home/user/clang/build")
-!2 = !{}
-!4 = distinct !DISubprogram(name: "proc", scope: !1, file: !1, line: 4, type: !5, isLocal: false, isDefinition: true, scopeLine: 5, flags: DIFlagPrototyped, isOptimized: false, unit: !0, variables: !2)
-!5 = !DISubroutineType(types: !6)
-!6 = !{null}
-!7 = !{!8, !10}
-!8 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "ch", scope: !0, file: !1, line: 1, type: !9, isLocal: false, isDefinition: true))
-!9 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
-!10 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "b", scope: !0, file: !1, line: 2, type: !11, isLocal: false, isDefinition: true))
-!11 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
-!12 = !{i32 2, !"Dwarf Version", i32 4}
-!13 = !{i32 2, !"Debug Info Version", i32 3}
-!14 = !{i32 1, !"wchar_size", i32 4}
-!15 = !{i32 1, !"min_enum_size", i32 4}
-!16 = !{!"clang version 3.7.0 (http://llvm.org/git/clang.git 9b0abb9df531ef7928c8182120e1869affca17d5) (http://llvm.org/git/llvm.git b1e759524dd94f7ce1e24935daed8383927e96c1)"}
-!17 = !DILocation(line: 6, column: 8, scope: !4)
-!18 = !DILocation(line: 7, column: 7, scope: !4)
-!19 = !DILocation(line: 8, column: 1, scope: !4)
+!llvm.dbg.cu = !{!2}
+!llvm.module.flags = !{!8, !9, !10, !11}
+!llvm.ident = !{!12}
+
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "ch", scope: !2, file: !3, line: 1, type: !4, isLocal: false, isDefinition: true)
+!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug)
+!3 = !DIFile(filename: "test.c", directory: "/home/user/clang/build")
+!4 = !DIBasicType(name: "char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
+!5 = !DIGlobalVariableExpression(var: !6)
+!6 = !DIGlobalVariable(name: "b", scope: !2, file: !3, line: 2, type: !7, isLocal: false, isDefinition: true)
+!7 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!8 = !{i32 2, !"Dwarf Version", i32 4}
+!9 = !{i32 2, !"Debug Info Version", i32 3}
+!10 = !{i32 1, !"wchar_size", i32 4}
+!11 = !{i32 1, !"min_enum_size", i32 4}
+!12 = !{!"clang version 3.7.0 (http://llvm.org/git/clang.git 9b0abb9df531ef7928c8182120e1869affca17d5) (http://llvm.org/git/llvm.git b1e759524dd94f7ce1e24935daed8383927e96c1)"}
+!13 = distinct !DISubprogram(name: "proc", scope: !3, file: !3, line: 4, type: !14, isLocal: false, isDefinition: true, scopeLine: 5, flags: DIFlagPrototyped, isOptimized: false, unit: !2, variables: !16)
+!14 = !DISubroutineType(types: !15)
+!15 = !{null}
+!16 = !{}
+!17 = !DILocation(line: 6, column: 8, scope: !13)
+!18 = !DILocation(line: 7, column: 7, scope: !13)
+!19 = !DILocation(line: 8, column: 1, scope: !13)
+

Modified: llvm/trunk/test/DebugInfo/ARM/tls.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/ARM/tls.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/ARM/tls.ll (original)
+++ llvm/trunk/test/DebugInfo/ARM/tls.ll Wed Dec 21 18:45:21 2016
@@ -6,12 +6,13 @@
 ; Generated with clang with source
 ; __thread int x;
 
- at x = thread_local global i32 0, align 4, !dbg !4
+source_filename = "test/DebugInfo/ARM/tls.ll"
 
-!llvm.dbg.cu = !{!0}
+ at x = thread_local global i32 0, align 4, !dbg !0
+
+!llvm.dbg.cu = !{!4}
 !llvm.module.flags = !{!7, !8}
 !llvm.ident = !{!9}
-
 ; 6 byte of data
 ; CHECK: .byte 6 @ DW_AT_location
 ; DW_OP_const4u
@@ -22,13 +23,14 @@
 ; TODO: Add expected output for -emulated-tls tests.
 ; EMU-NOT: .long x(tlsldo)
 
-!0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.5 ", isOptimized: false, emissionKind: FullDebug, file: !1, enums: !2, retainedTypes: !2, globals: !3, imports: !2)
-!1 = !DIFile(filename: "tls.c", directory: "/tmp")
-!2 = !{}
-!3 = !{!4}
-!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "x", line: 1, isLocal: false, isDefinition: true, scope: null, file: !5, type: !6))
-!5 = !DIFile(filename: "tls.c", directory: "/tmp")
-!6 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "x", scope: null, file: !2, line: 1, type: !3, isLocal: false, isDefinition: true)
+!2 = !DIFile(filename: "tls.c", directory: "/tmp")
+!3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!4 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2, producer: "clang version 3.5 ", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !5, retainedTypes: !5, globals: !6, imports: !5)
+!5 = !{}
+!6 = !{!0}
 !7 = !{i32 2, !"Dwarf Version", i32 4}
 !8 = !{i32 1, !"Debug Info Version", i32 3}
 !9 = !{!"clang version 3.5 "}
+

Modified: llvm/trunk/test/DebugInfo/COFF/anonymous-struct.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/anonymous-struct.ll?rev=290292&r1=290291&r2=290292&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/COFF/anonymous-struct.ll (original)
+++ llvm/trunk/test/DebugInfo/COFF/anonymous-struct.ll Wed Dec 21 18:45:21 2016
@@ -30,32 +30,35 @@
 ; CHECK:    Name: S
 ; CHECK:  }
 
+source_filename = "test/DebugInfo/COFF/anonymous-struct.ll"
 target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
 target triple = "i686-pc-windows-msvc18.0.0"
 
 %struct.S = type { i32, %struct.anon }
 %struct.anon = type { i32 }
 
- at s = common global %struct.S zeroinitializer, align 4, !dbg !4
+ at s = common global %struct.S zeroinitializer, align 4, !dbg !0
+
+!llvm.dbg.cu = !{!2}
+!llvm.module.flags = !{!15, !16}
+!llvm.ident = !{!17}
+
+!0 = !DIGlobalVariableExpression(var: !1)
+!1 = !DIGlobalVariable(name: "s", scope: !2, file: !6, line: 5, type: !7, isLocal: false, isDefinition: true)
+!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang version 3.9.0 (trunk 274261) (llvm/trunk 274262)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5)
+!3 = !DIFile(filename: "-", directory: "/usr/local/google/home/majnemer/llvm/src")
+!4 = !{}
+!5 = !{!0}
+!6 = !DIFile(filename: "<stdin>", directory: "/usr/local/google/home/majnemer/llvm/src")
+!7 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !6, line: 2, size: 64, align: 32, elements: !8)
+!8 = !{!9, !11}
+!9 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !7, file: !6, line: 3, baseType: !10, size: 32, align: 32)
+!10 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
+!11 = !DIDerivedType(tag: DW_TAG_member, scope: !7, file: !6, line: 4, baseType: !12, size: 32, align: 32, offset: 32)
+!12 = distinct !DICompositeType(tag: DW_TAG_structure_type, scope: !7, file: !6, line: 4, size: 32, align: 32, elements: !13)
+!13 = !{!14}
+!14 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !12, file: !6, line: 4, baseType: !10, size: 32, align: 32)
+!15 = !{i32 2, !"CodeView", i32 1}
+!16 = !{i32 2, !"Debug Info Version", i32 3}
+!17 = !{!"clang version 3.9.0 (trunk 274261) (llvm/trunk 274262)"}
 
-!llvm.dbg.cu = !{!0}
-!llvm.module.flags = !{!14, !15}
-!llvm.ident = !{!16}
-
-!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.9.0 (trunk 274261) (llvm/trunk 274262)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, globals: !3)
-!1 = !DIFile(filename: "-", directory: "/usr/local/google/home/majnemer/llvm/src")
-!2 = !{}
-!3 = !{!4}
-!4 = !DIGlobalVariableExpression(var: !DIGlobalVariable(name: "s", scope: !0, file: !5, line: 5, type: !6, isLocal: false, isDefinition: true))
-!5 = !DIFile(filename: "<stdin>", directory: "/usr/local/google/home/majnemer/llvm/src")
-!6 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "S", file: !5, line: 2, size: 64, align: 32, elements: !7)
-!7 = !{!8, !10}
-!8 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !6, file: !5, line: 3, baseType: !9, size: 32, align: 32)
-!9 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
-!10 = !DIDerivedType(tag: DW_TAG_member, scope: !6, file: !5, line: 4, baseType: !11, size: 32, align: 32, offset: 32)
-!11 = distinct !DICompositeType(tag: DW_TAG_structure_type, scope: !6, file: !5, line: 4, size: 32, align: 32, elements: !12)
-!12 = !{!13}
-!13 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !11, file: !5, line: 4, baseType: !9, size: 32, align: 32)
-!14 = !{i32 2, !"CodeView", i32 1}
-!15 = !{i32 2, !"Debug Info Version", i32 3}
-!16 = !{!"clang version 3.9.0 (trunk 274261) (llvm/trunk 274262)"}




More information about the llvm-commits mailing list