llvm.org GIT mirror llvm / bf2040f
DI: Remove DW_TAG_arg_variable and DW_TAG_auto_variable Remove the fake `DW_TAG_auto_variable` and `DW_TAG_arg_variable` tags, using `DW_TAG_variable` in their place Stop exposing the `tag:` field at all in the assembly format for `DILocalVariable`. Most of the testcase updates were generated by the following sed script: find test/ -name "*.ll" -o -name "*.mir" | xargs grep -l 'DILocalVariable' | xargs sed -i '' \ -e 's/tag: DW_TAG_arg_variable, //' \ -e 's/tag: DW_TAG_auto_variable, //' There were only a handful of tests in `test/Assembly` that I needed to update by hand. (Note: a follow-up could change `DILocalVariable::DILocalVariable()` to set the tag to `DW_TAG_formal_parameter` instead of `DW_TAG_variable` (as appropriate), instead of having that logic magically in the backend in `DbgVariable`. I've added a FIXME to that effect.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243774 91177308-0d34-0410-b5e6-96231b3b80d8 Duncan P. N. Exon Smith 4 years ago
297 changed file(s) with 1109 addition(s) and 1120 deletion(s). Raw diff Collapse all Expand all
38993899 DILocalVariable
39003900 """""""""""""""
39013901
3902 ``DILocalVariable`` nodes represent local variables in the source language.
3903 Instead of ``DW_TAG_variable``, they use LLVM-specific fake tags to
3904 discriminate between local variables (``DW_TAG_auto_variable``) and subprogram
3905 arguments (``DW_TAG_arg_variable``). In the latter case, the ``arg:`` field
3906 specifies the argument position, and this variable will be included in the
3907 ``variables:`` field of its :ref:`DISubprogram`.
3908
3909 .. code-block:: llvm
3910
3911 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1,
3912 scope: !3, file: !2, line: 7, type: !3,
3913 flags: DIFlagArtificial)
3914 !1 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", arg: 2,
3915 scope: !4, file: !2, line: 7, type: !3)
3916 !2 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "y",
3917 scope: !5, file: !2, line: 7, type: !3)
3902 ``DILocalVariable`` nodes represent local variables in the source language. If
3903 the ``arg:`` field is set to non-zero, then this variable is a subprogram
3904 parameter, and it will be included in the ``variables:`` field of its
3905 :ref:`DISubprogram`.
3906
3907 .. code-block:: llvm
3908
3909 !0 = !DILocalVariable(name: "this", arg: 1, scope: !3, file: !2, line: 7,
3910 type: !3, flags: DIFlagArtificial)
3911 !1 = !DILocalVariable(name: "x", arg: 2, scope: !4, file: !2, line: 7,
3912 type: !3)
3913 !2 = !DILocalVariable(name: "y", scope: !5, file: !2, line: 7, type: !3)
39183914
39193915 DIExpression
39203916 """"""""""""
269269 !8 = !{i32 2, !"Debug Info Version", i32 3}
270270 !9 = !{i32 1, !"PIC Level", i32 2}
271271 !10 = !{!"clang version 3.7.0 (trunk 231150) (llvm/trunk 231154)"}
272 !11 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "X", scope: !4, file: !1, line: 2, type: !12)
272 !11 = !DILocalVariable(name: "X", scope: !4, file: !1, line: 2, type: !12)
273273 !12 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
274274 !13 = !DIExpression()
275275 !14 = !DILocation(line: 2, column: 9, scope: !4)
276 !15 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "Y", scope: !4, file: !1, line: 3, type: !12)
276 !15 = !DILocalVariable(name: "Y", scope: !4, file: !1, line: 3, type: !12)
277277 !16 = !DILocation(line: 3, column: 9, scope: !4)
278 !17 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "Z", scope: !18, file: !1, line: 5, type: !12)
278 !17 = !DILocalVariable(name: "Z", scope: !18, file: !1, line: 5, type: !12)
279279 !18 = distinct !DILexicalBlock(scope: !4, file: !1, line: 4, column: 5)
280280 !19 = !DILocation(line: 5, column: 11, scope: !18)
281281 !20 = !DILocation(line: 6, column: 11, scope: !18)
17491749 };
17501750
17511751 /// \brief Base class for variables.
1752 ///
1753 /// TODO: Hardcode to DW_TAG_variable.
17541752 class DIVariable : public DINode {
17551753 unsigned Line;
17561754
17571755 protected:
1758 DIVariable(LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag,
1759 unsigned Line, ArrayRef Ops)
1760 : DINode(C, ID, Storage, Tag, Ops), Line(Line) {}
1756 DIVariable(LLVMContext &C, unsigned ID, StorageType Storage, unsigned Line,
1757 ArrayRef Ops)
1758 : DINode(C, ID, Storage, dwarf::DW_TAG_variable, Ops), Line(Line) {}
17611759 ~DIVariable() = default;
17621760
17631761 public:
18021800 DIGlobalVariable(LLVMContext &C, StorageType Storage, unsigned Line,
18031801 bool IsLocalToUnit, bool IsDefinition,
18041802 ArrayRef Ops)
1805 : DIVariable(C, DIGlobalVariableKind, Storage, dwarf::DW_TAG_variable,
1806 Line, Ops),
1803 : DIVariable(C, DIGlobalVariableKind, Storage, Line, Ops),
18071804 IsLocalToUnit(IsLocalToUnit), IsDefinition(IsDefinition) {}
18081805 ~DIGlobalVariable() = default;
18091806
18751872
18761873 /// \brief Local variable.
18771874 ///
1878 /// TODO: Split between arguments and otherwise.
1879 /// TODO: Use \c DW_TAG_variable instead of fake tags.
18801875 /// TODO: Split up flags.
18811876 class DILocalVariable : public DIVariable {
18821877 friend class LLVMContextImpl;
18851880 unsigned Arg;
18861881 unsigned Flags;
18871882
1888 DILocalVariable(LLVMContext &C, StorageType Storage, unsigned Tag,
1889 unsigned Line, unsigned Arg, unsigned Flags,
1890 ArrayRef Ops)
1891 : DIVariable(C, DILocalVariableKind, Storage, Tag, Line, Ops), Arg(Arg),
1883 DILocalVariable(LLVMContext &C, StorageType Storage, unsigned Line,
1884 unsigned Arg, unsigned Flags, ArrayRef Ops)
1885 : DIVariable(C, DILocalVariableKind, Storage, Line, Ops), Arg(Arg),
18921886 Flags(Flags) {}
18931887 ~DILocalVariable() = default;
18941888
1895 static DILocalVariable *getImpl(LLVMContext &Context, unsigned Tag,
1896 DIScope *Scope, StringRef Name, DIFile *File,
1897 unsigned Line, DITypeRef Type, unsigned Arg,
1898 unsigned Flags, StorageType Storage,
1889 static DILocalVariable *getImpl(LLVMContext &Context, DIScope *Scope,
1890 StringRef Name, DIFile *File, unsigned Line,
1891 DITypeRef Type, unsigned Arg, unsigned Flags,
1892 StorageType Storage,
18991893 bool ShouldCreate = true) {
1900 return getImpl(Context, Tag, Scope, getCanonicalMDString(Context, Name),
1901 File, Line, Type, Arg, Flags, Storage, ShouldCreate);
1902 }
1903 static DILocalVariable *
1904 getImpl(LLVMContext &Context, unsigned Tag, Metadata *Scope, MDString *Name,
1905 Metadata *File, unsigned Line, Metadata *Type, unsigned Arg,
1906 unsigned Flags, StorageType Storage, bool ShouldCreate = true);
1894 return getImpl(Context, Scope, getCanonicalMDString(Context, Name), File,
1895 Line, Type, Arg, Flags, Storage, ShouldCreate);
1896 }
1897 static DILocalVariable *getImpl(LLVMContext &Context, Metadata *Scope,
1898 MDString *Name, Metadata *File, unsigned Line,
1899 Metadata *Type, unsigned Arg, unsigned Flags,
1900 StorageType Storage,
1901 bool ShouldCreate = true);
19071902
19081903 TempDILocalVariable cloneImpl() const {
1909 return getTemporary(getContext(), getTag(), getScope(), getName(),
1910 getFile(), getLine(), getType(), getArg(), getFlags());
1904 return getTemporary(getContext(), getScope(), getName(), getFile(),
1905 getLine(), getType(), getArg(), getFlags());
19111906 }
19121907
19131908 public:
19141909 DEFINE_MDNODE_GET(DILocalVariable,
1915 (unsigned Tag, DILocalScope *Scope, StringRef Name,
1916 DIFile *File, unsigned Line, DITypeRef Type, unsigned Arg,
1910 (DILocalScope * Scope, StringRef Name, DIFile *File,
1911 unsigned Line, DITypeRef Type, unsigned Arg,
19171912 unsigned Flags),
1918 (Tag, Scope, Name, File, Line, Type, Arg, Flags))
1913 (Scope, Name, File, Line, Type, Arg, Flags))
19191914 DEFINE_MDNODE_GET(DILocalVariable,
1920 (unsigned Tag, Metadata *Scope, MDString *Name,
1921 Metadata *File, unsigned Line, Metadata *Type,
1922 unsigned Arg, unsigned Flags),
1923 (Tag, Scope, Name, File, Line, Type, Arg, Flags))
1915 (Metadata * Scope, MDString *Name, Metadata *File,
1916 unsigned Line, Metadata *Type, unsigned Arg,
1917 unsigned Flags),
1918 (Scope, Name, File, Line, Type, Arg, Flags))
19241919
19251920 TempDILocalVariable clone() const { return cloneImpl(); }
19261921
19311926 return cast(DIVariable::getScope());
19321927 }
19331928
1929 bool isParameter() const { return Arg; }
19341930 unsigned getArg() const { return Arg; }
19351931 unsigned getFlags() const { return Flags; }
19361932
9797 HANDLE_DW_TAG(0x0041, type_unit)
9898 HANDLE_DW_TAG(0x0042, rvalue_reference_type)
9999 HANDLE_DW_TAG(0x0043, template_alias)
100
101 // Mock tags we use as discriminators.
102 HANDLE_DW_TAG(0x0100, auto_variable) // Tag for local (auto) variables.
103 HANDLE_DW_TAG(0x0101, arg_variable) // Tag for argument variables.
104100
105101 // New in DWARF v5.
106102 HANDLE_DW_TAG(0x0044, coarray_type)
37723772 }
37733773
37743774 /// ParseDILocalVariable:
3775 /// ::= !DILocalVariable(tag: DW_TAG_arg_variable, scope: !0, name: "foo",
3775 /// ::= !DILocalVariable(arg: 7, scope: !0, name: "foo",
3776 /// file: !1, line: 7, type: !2, arg: 2, flags: 7)
3777 /// ::= !DILocalVariable(scope: !0, name: "foo",
37763778 /// file: !1, line: 7, type: !2, arg: 2, flags: 7)
37773779 bool LLParser::ParseDILocalVariable(MDNode *&Result, bool IsDistinct) {
37783780 #define VISIT_MD_FIELDS(OPTIONAL, REQUIRED) \
3779 REQUIRED(tag, DwarfTagField, ); \
37803781 REQUIRED(scope, MDField, (/* AllowNull */ false)); \
37813782 OPTIONAL(name, MDStringField, ); \
3783 OPTIONAL(arg, MDUnsignedField, (0, UINT16_MAX)); \
37823784 OPTIONAL(file, MDField, ); \
37833785 OPTIONAL(line, LineField, ); \
37843786 OPTIONAL(type, MDField, ); \
3785 OPTIONAL(arg, MDUnsignedField, (0, UINT16_MAX)); \
37863787 OPTIONAL(flags, DIFlagField, );
37873788 PARSE_MD_FIELDS();
37883789 #undef VISIT_MD_FIELDS
37893790
37903791 Result = GET_OR_DISTINCT(DILocalVariable,
3791 (Context, tag.Val, scope.Val, name.Val, file.Val,
3792 line.Val, type.Val, arg.Val, flags.Val));
3792 (Context, scope.Val, name.Val, file.Val, line.Val,
3793 type.Val, arg.Val, flags.Val));
37933794 return false;
37943795 }
37953796
19711971 }
19721972 case bitc::METADATA_LOCAL_VAR: {
19731973 // 10th field is for the obseleted 'inlinedAt:' field.
1974 if (Record.size() != 9 && Record.size() != 10)
1975 return error("Invalid record");
1976
1974 if (Record.size() < 8 || Record.size() > 10)
1975 return error("Invalid record");
1976
1977 // 2nd field used to be an artificial tag, either DW_TAG_auto_variable or
1978 // DW_TAG_arg_variable.
1979 bool HasTag = Record.size() > 8;
19771980 MDValueList.assignValue(
19781981 GET_OR_DISTINCT(DILocalVariable, Record[0],
1979 (Context, Record[1], getMDOrNull(Record[2]),
1980 getMDString(Record[3]), getMDOrNull(Record[4]),
1981 Record[5], getMDOrNull(Record[6]), Record[7],
1982 Record[8])),
1982 (Context, getMDOrNull(Record[1 + HasTag]),
1983 getMDString(Record[2 + HasTag]),
1984 getMDOrNull(Record[3 + HasTag]), Record[4 + HasTag],
1985 getMDOrNull(Record[5 + HasTag]), Record[6 + HasTag],
1986 Record[7 + HasTag])),
19831987 NextMDValueNo++);
19841988 break;
19851989 }
10991099 SmallVectorImpl &Record,
11001100 unsigned Abbrev) {
11011101 Record.push_back(N->isDistinct());
1102 Record.push_back(N->getTag());
11031102 Record.push_back(VE.getMetadataOrNullID(N->getScope()));
11041103 Record.push_back(VE.getMetadataOrNullID(N->getRawName()));
11051104 Record.push_back(VE.getMetadataOrNullID(N->getFile()));
11551155 // The first mention of a function argument gets the CurrentFnBegin
11561156 // label, so arguments are visible when breaking at function entry.
11571157 const DILocalVariable *DIVar = Ranges.front().first->getDebugVariable();
1158 if (DIVar->getTag() == dwarf::DW_TAG_arg_variable &&
1158 if (DIVar->isParameter() &&
11591159 getDISubprogram(DIVar->getScope())->describes(MF->getFunction())) {
11601160 LabelsBeforeInsn[Ranges.front().first] = Asm->getFunctionBegin();
11611161 if (Ranges.front().first->getDebugExpression()->isBitPiece()) {
155155
156156 // Translate tag to proper Dwarf tag.
157157 dwarf::Tag getTag() const {
158 if (Var->getTag() == dwarf::DW_TAG_arg_variable)
158 // FIXME: Why don't we just infer this tag and store it all along?
159 if (Var->isParameter())
159160 return dwarf::DW_TAG_formal_parameter;
160161
161162 return dwarf::DW_TAG_variable;
298298 }
299299
300300 DIE &DwarfUnit::createAndAddDIE(unsigned Tag, DIE &Parent, const DINode *N) {
301 assert(Tag != dwarf::DW_TAG_auto_variable &&
302 Tag != dwarf::DW_TAG_arg_variable);
303301 DIE &Die = Parent.addChild(DIE::get(DIEValueAllocator, (dwarf::Tag)Tag));
304302 if (N)
305303 insertDIE(N, &Die);
42504250 if (const BitCastInst *BCI = dyn_cast(Address))
42514251 Address = BCI->getOperand(0);
42524252 // Parameters are handled specially.
4253 bool isParameter = Variable->getTag() == dwarf::DW_TAG_arg_variable ||
4254 isa(Address);
4253 bool isParameter = Variable->isParameter() || isa(Address);
42554254
42564255 const AllocaInst *AI = dyn_cast(Address);
42574256
17991799 SlotTracker *Machine, const Module *Context) {
18001800 Out << "!DILocalVariable(";
18011801 MDFieldPrinter Printer(Out, TypePrinter, Machine, Context);
1802 Printer.printTag(N);
18031802 Printer.printString("name", N->getName());
1804 Printer.printInt("arg", N->getArg(),
1805 /* ShouldSkipZero */
1806 N->getTag() == dwarf::DW_TAG_auto_variable);
1803 Printer.printInt("arg", N->getArg());
18071804 Printer.printMetadata("scope", N->getRawScope(), /* ShouldSkipNull */ false);
18081805 Printer.printMetadata("file", N->getRawFile());
18091806 Printer.printInt("line", N->getLine());
612612 // the only valid scopes)?
613613 DIScope *Context = getNonCompileUnitScope(Scope);
614614
615 dwarf::Tag Tag = ArgNo ? dwarf::DW_TAG_arg_variable : dwarf::DW_TAG_auto_variable;
616 auto *Node = DILocalVariable::get(
617 VMContext, Tag, cast_or_null(Context), Name, File, LineNo,
618 DITypeRef::get(Ty), ArgNo, Flags);
615 auto *Node =
616 DILocalVariable::get(VMContext, cast_or_null(Context), Name,
617 File, LineNo, DITypeRef::get(Ty), ArgNo, Flags);
619618 if (AlwaysPreserve) {
620619 // The optimizer may remove local variables. If there is an interest
621620 // to preserve variable info in such situation then stash it in a
465465 Ops);
466466 }
467467
468 DILocalVariable *DILocalVariable::getImpl(LLVMContext &Context, unsigned Tag,
469 Metadata *Scope, MDString *Name,
470 Metadata *File, unsigned Line,
471 Metadata *Type, unsigned Arg,
472 unsigned Flags, StorageType Storage,
468 DILocalVariable *DILocalVariable::getImpl(LLVMContext &Context, Metadata *Scope,
469 MDString *Name, Metadata *File,
470 unsigned Line, Metadata *Type,
471 unsigned Arg, unsigned Flags,
472 StorageType Storage,
473473 bool ShouldCreate) {
474474 // 64K ought to be enough for any frontend.
475475 assert(Arg <= UINT16_MAX && "Expected argument number to fit in 16-bits");
476476
477477 assert(Scope && "Expected scope");
478478 assert(isCanonical(Name) && "Expected canonical MDString");
479 DEFINE_GETIMPL_LOOKUP(DILocalVariable, (Tag, Scope, getString(Name), File,
480 Line, Type, Arg, Flags));
479 DEFINE_GETIMPL_LOOKUP(DILocalVariable,
480 (Scope, getString(Name), File, Line, Type, Arg, Flags));
481481 Metadata *Ops[] = {Scope, Name, File, Type};
482 DEFINE_GETIMPL_STORE(DILocalVariable, (Tag, Line, Arg, Flags), Ops);
482 DEFINE_GETIMPL_STORE(DILocalVariable, (Line, Arg, Flags), Ops);
483483 }
484484
485485 DIExpression *DIExpression::getImpl(LLVMContext &Context,
758758 };
759759
760760 template <> struct MDNodeKeyImpl {
761 unsigned Tag;
762761 Metadata *Scope;
763762 StringRef Name;
764763 Metadata *File;
767766 unsigned Arg;
768767 unsigned Flags;
769768
770 MDNodeKeyImpl(unsigned Tag, Metadata *Scope, StringRef Name, Metadata *File,
771 unsigned Line, Metadata *Type, unsigned Arg, unsigned Flags)
772 : Tag(Tag), Scope(Scope), Name(Name), File(File), Line(Line), Type(Type),
773 Arg(Arg), Flags(Flags) {}
769 MDNodeKeyImpl(Metadata *Scope, StringRef Name, Metadata *File, unsigned Line,
770 Metadata *Type, unsigned Arg, unsigned Flags)
771 : Scope(Scope), Name(Name), File(File), Line(Line), Type(Type), Arg(Arg),
772 Flags(Flags) {}
774773 MDNodeKeyImpl(const DILocalVariable *N)
775 : Tag(N->getTag()), Scope(N->getRawScope()), Name(N->getName()),
776 File(N->getRawFile()), Line(N->getLine()), Type(N->getRawType()),
777 Arg(N->getArg()), Flags(N->getFlags()) {}
774 : Scope(N->getRawScope()), Name(N->getName()), File(N->getRawFile()),
775 Line(N->getLine()), Type(N->getRawType()), Arg(N->getArg()),
776 Flags(N->getFlags()) {}
778777
779778 bool isKeyOf(const DILocalVariable *RHS) const {
780 return Tag == RHS->getTag() && Scope == RHS->getRawScope() &&
781 Name == RHS->getName() && File == RHS->getRawFile() &&
782 Line == RHS->getLine() && Type == RHS->getRawType() &&
783 Arg == RHS->getArg() && Flags == RHS->getFlags();
784 }
785 unsigned getHashValue() const {
786 return hash_combine(Tag, Scope, Name, File, Line, Type, Arg, Flags);
779 return Scope == RHS->getRawScope() && Name == RHS->getName() &&
780 File == RHS->getRawFile() && Line == RHS->getLine() &&
781 Type == RHS->getRawType() && Arg == RHS->getArg() &&
782 Flags == RHS->getFlags();
783 }
784 unsigned getHashValue() const {
785 return hash_combine(Scope, Name, File, Line, Type, Arg, Flags);
787786 }
788787 };
789788
10761076 // Checks common to all variables.
10771077 visitDIVariable(N);
10781078
1079 Assert(N.getTag() == dwarf::DW_TAG_auto_variable ||
1080 N.getTag() == dwarf::DW_TAG_arg_variable,
1081 "invalid tag", &N);
1079 Assert(N.getTag() == dwarf::DW_TAG_variable, "invalid tag", &N);
10821080 Assert(N.getRawScope() && isa(N.getRawScope()),
10831081 "local variable requires a valid scope", &N, N.getRawScope());
1084 Assert(bool(N.getArg()) == (N.getTag() == dwarf::DW_TAG_arg_variable),
1085 "local variable should have arg iff it's a DW_TAG_arg_variable", &N);
10861082 }
10871083
10881084 void Verifier::visitDIExpression(const DIExpression &N) {
2525
2626 !7 = !{!1}
2727 !6 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.0 (trunk 131941)", isOptimized: true, emissionKind: 0, file: !8, enums: !9, retainedTypes: !9, subprograms: !7)
28 !0 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "c", line: 2, scope: !1, file: !2, type: !5)
28 !0 = !DILocalVariable(name: "c", line: 2, scope: !1, file: !2, type: !5)
2929 !1 = !DISubprogram(name: "main", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !8, scope: !2, type: !3, function: i32 ()* @main)
3030 !2 = !DIFile(filename: "/d/j/debug-test.c", directory: "/Volumes/Data/b")
3131 !3 = !DISubroutineType(types: !4)
55
66 !0 = distinct !DISubprogram()
77
8 ; CHECK: !1 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "foo", arg: 65535, scope: !0)
9 !1 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "foo", arg: 65535, scope: !0)
8 ; CHECK: !1 = !DILocalVariable(name: "foo", arg: 65535, scope: !0)
9 !1 = !DILocalVariable(name: "foo", arg: 65535, scope: !0)
1111 !3 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
1212 !4 = !DILocation(scope: !0)
1313
14 ; CHECK: !5 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "foo", arg: 3, scope: !0, file: !2, line: 7, type: !3, flags: DIFlagArtificial)
15 ; CHECK: !6 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "foo", scope: !0, file: !2, line: 7, type: !3, flags: DIFlagArtificial)
16 !5 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "foo", arg: 3,
14 ; CHECK: !5 = !DILocalVariable(name: "foo", arg: 3, scope: !0, file: !2, line: 7, type: !3, flags: DIFlagArtificial)
15 ; CHECK: !6 = !DILocalVariable(name: "foo", scope: !0, file: !2, line: 7, type: !3, flags: DIFlagArtificial)
16 !5 = !DILocalVariable(name: "foo", arg: 3,
1717 scope: !0, file: !2, line: 7, type: !3,
1818 flags: DIFlagArtificial)
19 !6 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "foo", scope: !0,
19 !6 = !DILocalVariable(name: "foo", scope: !0,
2020 file: !2, line: 7, type: !3, flags: DIFlagArtificial)
2121
22 ; CHECK: !7 = !DILocalVariable(tag: DW_TAG_arg_variable, arg: 1, scope: !0)
23 ; CHECK: !8 = !DILocalVariable(tag: DW_TAG_auto_variable, scope: !0)
24 !7 = !DILocalVariable(tag: DW_TAG_arg_variable, scope: !0, arg: 1)
25 !8 = !DILocalVariable(tag: DW_TAG_auto_variable, scope: !0)
22 ; CHECK: !7 = !DILocalVariable(arg: 1, scope: !0)
23 ; CHECK: !8 = !DILocalVariable(scope: !0)
24 !7 = !DILocalVariable(scope: !0, arg: 1)
25 !8 = !DILocalVariable(scope: !0)
0 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
11
2 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, scope: !{}, arg: 65535)
2 !0 = !DILocalVariable(scope: !{}, arg: 65535)
33
4 ; CHECK: :[[@LINE+1]]:66: error: value for 'arg' too large, limit is 65535
5 !1 = !DILocalVariable(tag: DW_TAG_arg_variable, scope: !{}, arg: 65536)
4 ; CHECK: :[[@LINE+1]]:40: error: value for 'arg' too large, limit is 65535
5 !1 = !DILocalVariable(scope: !{}, arg: 65536)
0 ; RUN: not llvm-as < %s 2>&1 | FileCheck %s
11
2 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, scope: !{}, arg: 1)
3 !1 = !DILocalVariable(tag: DW_TAG_auto_variable, scope: !{}, arg: 0)
2 !0 = !DILocalVariable(scope: !{}, arg: 1)
3 !1 = !DILocalVariable(scope: !{})
44
5 ; CHECK: :[[@LINE+1]]:66: error: expected unsigned integer
6 !2 = !DILocalVariable(tag: DW_TAG_arg_variable, scope: !{}, arg: -1)
5 ; CHECK: :[[@LINE+1]]:40: error: expected unsigned integer
6 !2 = !DILocalVariable(scope: !{}, arg: -1)
0 ; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
11
2 ; CHECK: :[[@LINE+1]]:48: error: missing required field 'scope'
3 !0 = !DILocalVariable(tag: DW_TAG_auto_variable)
2 ; CHECK: :[[@LINE+1]]:23: error: missing required field 'scope'
3 !0 = !DILocalVariable()
+0
-4
test/Assembler/invalid-dilocalvariable-missing-tag.ll less more
None ; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s
1
2 ; CHECK: :[[@LINE+1]]:45: error: missing required field 'tag'
3 !0 = !DILocalVariable(scope: !DISubprogram())
0 ; Bitcode compiled with 3.7_rc2. 3.7 had redundant (but mandatory) tag fields
1 ; on DILocalVariable.
2 ;
3 ; RUN: llvm-dis < %s.bc -o - | llvm-as | llvm-dis | FileCheck %s
4
5 ; CHECK: ![[SP:[0-9]+]] = !DISubprogram(name: "foo",{{.*}} variables: ![[VARS:[0-9]+]]
6 ; CHECK: ![[VARS]] = !{![[PARAM:[0-9]+]], ![[AUTO:[0-9]+]]}
7 ; CHECK: ![[PARAM]] = !DILocalVariable(name: "param", arg: 1, scope: ![[SP]])
8 ; CHECK: ![[AUTO]] = !DILocalVariable(name: "auto", scope: ![[SP]])
9
10 !named = !{!0}
11
12 !0 = !DISubprogram(name: "foo", variables: !1)
13 !1 = !{!2, !3}
14 !2 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "param", arg: 1, scope: !0)
15 !3 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "auto", scope: !0)
5454 !9 = !DIDerivedType(tag: DW_TAG_typedef, line: 30, file: !1, baseType: !11)
5555 !11 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
5656 !12 = !{!13, !14, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35}
57 !13 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "", line: 140, arg: 1, scope: !4, file: !1, type: !8)
58 !14 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 142, scope: !4, file: !1, type: !15)
57 !13 = !DILocalVariable(name: "", line: 140, arg: 1, scope: !4, file: !1, type: !8)
58 !14 = !DILocalVariable(name: "", line: 142, scope: !4, file: !1, type: !15)
5959 !15 = !DIDerivedType(tag: DW_TAG_typedef, line: 183, file: !1, baseType: !17)
6060 !17 = !DIBasicType(tag: DW_TAG_base_type, size: 64, align: 64, encoding: DW_ATE_signed)
61 !18 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 142, scope: !4, file: !1, type: !15)
62 !19 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 142, scope: !4, file: !1, type: !15)
63 !20 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 142, scope: !4, file: !1, type: !15)
64 !21 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 142, scope: !4, file: !1, type: !15)
65 !22 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 142, scope: !4, file: !1, type: !15)
66 !23 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 142, scope: !4, file: !1, type: !15)
67 !24 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 142, scope: !4, file: !1, type: !15)
68 !25 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 143, scope: !4, file: !1, type: !15)
69 !26 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 143, scope: !4, file: !1, type: !15)
70 !27 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 143, scope: !4, file: !1, type: !15)
71 !28 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 143, scope: !4, file: !1, type: !15)
72 !29 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 144, scope: !4, file: !1, type: !15)
73 !30 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 144, scope: !4, file: !1, type: !15)
74 !31 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 144, scope: !4, file: !1, type: !15)
75 !32 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 144, scope: !4, file: !1, type: !15)
76 !33 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 144, scope: !4, file: !1, type: !15)
77 !34 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 145, scope: !4, file: !1, type: !8)
78 !35 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "", line: 146, scope: !4, file: !1, type: !11)
61 !18 = !DILocalVariable(name: "", line: 142, scope: !4, file: !1, type: !15)
62 !19 = !DILocalVariable(name: "", line: 142, scope: !4, file: !1, type: !15)
63 !20 = !DILocalVariable(name: "", line: 142, scope: !4, file: !1, type: !15)
64 !21 = !DILocalVariable(name: "", line: 142, scope: !4, file: !1, type: !15)
65 !22 = !DILocalVariable(name: "", line: 142, scope: !4, file: !1, type: !15)
66 !23 = !DILocalVariable(name: "", line: 142, scope: !4, file: !1, type: !15)
67 !24 = !DILocalVariable(name: "", line: 142, scope: !4, file: !1, type: !15)
68 !25 = !DILocalVariable(name: "", line: 143, scope: !4, file: !1, type: !15)
69 !26 = !DILocalVariable(name: "", line: 143, scope: !4, file: !1, type: !15)
70 !27 = !DILocalVariable(name: "", line: 143, scope: !4, file: !1, type: !15)
71 !28 = !DILocalVariable(name: "", line: 143, scope: !4, file: !1, type: !15)
72 !29 = !DILocalVariable(name: "", line: 144, scope: !4, file: !1, type: !15)
73 !30 = !DILocalVariable(name: "", line: 144, scope: !4, file: !1, type: !15)
74 !31 = !DILocalVariable(name: "", line: 144, scope: !4, file: !1, type: !15)
75 !32 = !DILocalVariable(name: "", line: 144, scope: !4, file: !1, type: !15)
76 !33 = !DILocalVariable(name: "", line: 144, scope: !4, file: !1, type: !15)
77 !34 = !DILocalVariable(name: "", line: 145, scope: !4, file: !1, type: !8)
78 !35 = !DILocalVariable(name: "", line: 146, scope: !4, file: !1, type: !11)
7979 !36 = !{i32 2, !"Dwarf Version", i32 4}
8080 !37 = !{i32 2, !"Debug Info Version", i32 3}
8181 !38 = !{!"clang version 3.6.0 "}
3636 !13 = !DILocation(line: 653, column: 5, scope: !14)
3737 !14 = distinct !DILexicalBlock(line: 652, column: 35, file: !20, scope: !15)
3838 !15 = distinct !DILexicalBlock(line: 616, column: 1, file: !20, scope: !1)
39 !16 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "do_tab_convert", line: 853, scope: !17, file: !2, type: !6)
39 !16 = !DILocalVariable(name: "do_tab_convert", line: 853, scope: !17, file: !2, type: !6)
4040 !17 = distinct !DILexicalBlock(line: 850, column: 12, file: !20, scope: !14)
4141 !18 = !DILocation(line: 853, column: 11, scope: !17)
4242 !19 = !DILocation(line: 853, column: 29, scope: !17)
2525 !1 = distinct !DILexicalBlock(line: 1, column: 1, file: null, scope: !2)
2626 !2 = !DISubprogram(name: "bar", linkageName: "bar", line: 4, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scope: !3)
2727 !3 = !DICompileUnit(language: DW_LANG_C99, producer: "clang 1.1", isOptimized: true, emissionKind: 0, file: !8, retainedTypes: !9)
28 !4 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "count_", line: 5, scope: !5, file: !3, type: !6)
28 !4 = !DILocalVariable(name: "count_", line: 5, scope: !5, file: !3, type: !6)
2929 !5 = distinct !DILexicalBlock(line: 1, column: 1, file: null, scope: !1)
3030 !6 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
3131 !7 = !DILocation(line: 6, column: 1, scope: !2)
1313
1414 !llvm.dbg.cu = !{!3}
1515 !llvm.module.flags = !{!15}
16 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "b", line: 93, arg: 2, scope: !1, file: !2, type: !6)
16 !0 = !DILocalVariable(name: "b", line: 93, arg: 2, scope: !1, file: !2, type: !6)
1717 !1 = !DISubprogram(name: "__addvsi3", linkageName: "__addvsi3", line: 94, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, file: !12, scope: null, type: !4)
1818 !2 = !DIFile(filename: "libgcc2.c", directory: "/Users/bwilson/local/nightly/test-2010-04-14/build/llvmgcc.roots/llvmgcc~obj/src/gcc")
1919 !12 = !DIFile(filename: "libgcc2.c", directory: "/Users/bwilson/local/nightly/test-2010-04-14/build/llvmgcc.roots/llvmgcc~obj/src/gcc")
4646 !llvm.dbg.lv.fn = !{!0, !8, !10, !12}
4747 !llvm.dbg.gv = !{!14}
4848
49 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "buf", line: 4, arg: 1, scope: !1, file: !2, type: !6)
49 !0 = !DILocalVariable(name: "buf", line: 4, arg: 1, scope: !1, file: !2, type: !6)
5050 !1 = !DISubprogram(name: "x0", linkageName: "x0", line: 5, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, file: !26, scope: null, type: !4)
5151 !2 = !DIFile(filename: "t.c", directory: "/private/tmp")
5252 !3 = !DICompileUnit(language: DW_LANG_C99, producer: "clang 2.0", isOptimized: true, file: !26)
5454 !5 = !{null}
5555 !6 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, file: !26, scope: !2, baseType: !7)
5656 !7 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
57 !8 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "nbytes", line: 4, arg: 2, scope: !1, file: !2, type: !9)
57 !8 = !DILocalVariable(name: "nbytes", line: 4, arg: 2, scope: !1, file: !2, type: !9)
5858 !9 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned long", size: 32, align: 32, encoding: DW_ATE_unsigned)
59 !10 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "nread", line: 6, scope: !11, file: !2, type: !9)
59 !10 = !DILocalVariable(name: "nread", line: 6, scope: !11, file: !2, type: !9)
6060 !11 = distinct !DILexicalBlock(line: 5, column: 1, file: !26, scope: !1)
61 !12 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "c", line: 7, scope: !11, file: !2, type: !13)
61 !12 = !DILocalVariable(name: "c", line: 7, scope: !11, file: !2, type: !13)
6262 !13 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
6363 !14 = !DIGlobalVariable(name: "length", linkageName: "length", line: 1, isLocal: false, isDefinition: true, scope: !2, file: !2, type: !13, variable: i32* @length)
6464 !15 = !DILocation(line: 4, column: 24, scope: !1)
9999 !20 = !DISubprogram(name: "main", linkageName: "main", line: 23, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, file: !48, scope: !2, type: !21, function: i32 ()* @main)
100100 !21 = !DISubroutineType(types: !22)
101101 !22 = !{!13}
102 !23 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "i", line: 16, arg: 1, scope: !17, file: !2, type: !13)
102 !23 = !DILocalVariable(name: "i", line: 16, arg: 1, scope: !17, file: !2, type: !13)
103103 !24 = !DILocation(line: 16, scope: !17)
104 !25 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "location", line: 16, arg: 2, scope: !17, file: !2, type: !26)
104 !25 = !DILocalVariable(name: "location", line: 16, arg: 2, scope: !17, file: !2, type: !26)
105105 !26 = !DIDerivedType(tag: DW_TAG_reference_type, name: "SVal", size: 64, align: 64, file: !48, scope: !2, baseType: !1)
106106 !27 = !DILocation(line: 17, scope: !28)
107107 !28 = distinct !DILexicalBlock(line: 16, column: 0, file: !2, scope: !17)
108108 !29 = !DILocation(line: 18, scope: !28)
109109 !30 = !DILocation(line: 20, scope: !28)
110 !31 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 11, arg: 1, scope: !16, file: !2, type: !32)
110 !31 = !DILocalVariable(name: "this", line: 11, arg: 1, scope: !16, file: !2, type: !32)
111111 !32 = !DIDerivedType(tag: DW_TAG_const_type, size: 64, align: 64, flags: DIFlagArtificial, file: !48, scope: !2, baseType: !33)
112112 !33 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !48, scope: !2, baseType: !1)
113113 !34 = !DILocation(line: 11, scope: !16)
114114 !35 = !DILocation(line: 11, scope: !36)
115115 !36 = distinct !DILexicalBlock(line: 11, column: 0, file: !48, scope: !37)
116116 !37 = distinct !DILexicalBlock(line: 11, column: 0, file: !48, scope: !16)
117 !38 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "v", line: 24, scope: !39, file: !2, type: !1)
117 !38 = !DILocalVariable(name: "v", line: 24, scope: !39, file: !2, type: !1)
118118 !39 = distinct !DILexicalBlock(line: 23, column: 0, file: !48, scope: !40)
119119 !40 = distinct !DILexicalBlock(line: 23, column: 0, file: !48, scope: !20)
120120 !41 = !DILocation(line: 24, scope: !39)
121121 !42 = !DILocation(line: 25, scope: !39)
122122 !43 = !DILocation(line: 26, scope: !39)
123 !44 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 26, scope: !39, file: !2, type: !13)
123 !44 = !DILocalVariable(name: "k", line: 26, scope: !39, file: !2, type: !13)
124124 !45 = !DILocation(line: 27, scope: !39)
125125 !46 = !{!16, !17, !20}
126126 !47 = !{}
8787 !7 = !DISubprogram(name: "get3", linkageName: "get3", line: 10, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 10, file: !47, scope: !1, type: !3, function: i8 (i8)* @get3, variables: !44)
8888 !8 = !DISubprogram(name: "get4", linkageName: "get4", line: 13, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 13, file: !47, scope: !1, type: !3, function: i8 (i8)* @get4, variables: !45)
8989 !9 = !DISubprogram(name: "get5", linkageName: "get5", line: 16, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 16, file: !47, scope: !1, type: !3, function: i8 (i8)* @get5, variables: !46)
90 !10 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 4, arg: 1, scope: !0, file: !1, type: !5)
91 !11 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 4, scope: !12, file: !1, type: !5)
90 !10 = !DILocalVariable(name: "a", line: 4, arg: 1, scope: !0, file: !1, type: !5)
91 !11 = !DILocalVariable(name: "b", line: 4, scope: !12, file: !1, type: !5)
9292 !12 = distinct !DILexicalBlock(line: 4, column: 0, file: !47, scope: !0)
9393 !13 = !DIGlobalVariable(name: "x1", line: 3, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5, variable: i8* @x1)
9494 !14 = !DIGlobalVariable(name: "x2", line: 6, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5, variable: i8* @x2)
9595 !15 = !DIGlobalVariable(name: "x3", line: 9, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5, variable: i8* @x3)
9696 !16 = !DIGlobalVariable(name: "x4", line: 12, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !5, variable: i8* @x4)
9797 !17 = !DIGlobalVariable(name: "x5", line: 15, isLocal: false, isDefinition: true, scope: !1, file: !1, type: !5, variable: i8* @x5)
98 !18 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 7, arg: 1, scope: !6, file: !1, type: !5)
99 !19 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 7, scope: !20, file: !1, type: !5)
98 !18 = !DILocalVariable(name: "a", line: 7, arg: 1, scope: !6, file: !1, type: !5)
99 !19 = !DILocalVariable(name: "b", line: 7, scope: !20, file: !1, type: !5)
100100 !20 = distinct !DILexicalBlock(line: 7, column: 0, file: !47, scope: !6)
101 !21 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 10, arg: 1, scope: !7, file: !1, type: !5)
102 !22 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 10, scope: !23, file: !1, type: !5)
101 !21 = !DILocalVariable(name: "a", line: 10, arg: 1, scope: !7, file: !1, type: !5)
102 !22 = !DILocalVariable(name: "b", line: 10, scope: !23, file: !1, type: !5)
103103 !23 = distinct !DILexicalBlock(line: 10, column: 0, file: !47, scope: !7)
104 !24 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 13, arg: 1, scope: !8, file: !1, type: !5)
105 !25 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 13, scope: !26, file: !1, type: !5)
104 !24 = !DILocalVariable(name: "a", line: 13, arg: 1, scope: !8, file: !1, type: !5)
105 !25 = !DILocalVariable(name: "b", line: 13, scope: !26, file: !1, type: !5)
106106 !26 = distinct !DILexicalBlock(line: 13, column: 0, file: !47, scope: !8)
107 !27 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 16, arg: 1, scope: !9, file: !1, type: !5)
108 !28 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 16, scope: !29, file: !1, type: !5)
107 !27 = !DILocalVariable(name: "a", line: 16, arg: 1, scope: !9, file: !1, type: !5)
108 !28 = !DILocalVariable(name: "b", line: 16, scope: !29, file: !1, type: !5)
109109 !29 = distinct !DILexicalBlock(line: 16, column: 0, file: !47, scope: !9)
110110 !30 = !DILocation(line: 4, scope: !0)
111111 !31 = !DILocation(line: 4, scope: !12)
8282 !7 = !DISubprogram(name: "get3", line: 11, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 11, file: !47, scope: !2, type: !3, function: i32 (i32)* @get3, variables: !44)
8383 !8 = !DISubprogram(name: "get4", line: 14, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 14, file: !47, scope: !2, type: !3, function: i32 (i32)* @get4, variables: !45)
8484 !9 = !DISubprogram(name: "get5", line: 17, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 17, file: !47, scope: !2, type: !3, function: i32 (i32)* @get5, variables: !46)
85 !10 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 5, arg: 1, scope: !1, file: !2, type: !5)
86 !11 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 5, scope: !12, file: !2, type: !5)
85 !10 = !DILocalVariable(name: "a", line: 5, arg: 1, scope: !1, file: !2, type: !5)
86 !11 = !DILocalVariable(name: "b", line: 5, scope: !12, file: !2, type: !5)
8787 !12 = distinct !DILexicalBlock(line: 5, column: 19, file: !47, scope: !1)
88 !13 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 8, arg: 1, scope: !6, file: !2, type: !5)
89 !14 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 8, scope: !15, file: !2, type: !5)
88 !13 = !DILocalVariable(name: "a", line: 8, arg: 1, scope: !6, file: !2, type: !5)
89 !14 = !DILocalVariable(name: "b", line: 8, scope: !15, file: !2, type: !5)
9090 !15 = distinct !DILexicalBlock(line: 8, column: 17, file: !47, scope: !6)
91 !16 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 11, arg: 1, scope: !7, file: !2, type: !5)
92 !17 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 11, scope: !18, file: !2, type: !5)
91 !16 = !DILocalVariable(name: "a", line: 11, arg: 1, scope: !7, file: !2, type: !5)
92 !17 = !DILocalVariable(name: "b", line: 11, scope: !18, file: !2, type: !5)
9393 !18 = distinct !DILexicalBlock(line: 11, column: 19, file: !47, scope: !7)
94 !19 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 14, arg: 1, scope: !8, file: !2, type: !5)
95 !20 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 14, scope: !21, file: !2, type: !5)
94 !19 = !DILocalVariable(name: "a", line: 14, arg: 1, scope: !8, file: !2, type: !5)
95 !20 = !DILocalVariable(name: "b", line: 14, scope: !21, file: !2, type: !5)
9696 !21 = distinct !DILexicalBlock(line: 14, column: 19, file: !47, scope: !8)
9797 !25 = !DIGlobalVariable(name: "x1", line: 4, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5, variable: i32* @x1)
9898 !26 = !DIGlobalVariable(name: "x2", line: 7, isLocal: true, isDefinition: true, scope: !0, file: !2, type: !5, variable: i32* @x2)
99 !27 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 17, arg: 1, scope: !9, file: !2, type: !5)
100 !28 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 17, scope: !29, file: !2, type: !5)
99 !27 = !DILocalVariable(name: "a", line: 17, arg: 1, scope: !9, file: !2, type: !5)
100 !28 = !DILocalVariable(name: "b", line: 17, scope: !29, file: !2, type: !5)
101101 !29 = distinct !DILexicalBlock(line: 17, column: 19, file: !47, scope: !9)
102102 !30 = !DILocation(line: 5, column: 16, scope: !1)
103103 !31 = !DILocation(line: 5, column: 32, scope: !12)
8888 !7 = !{!8}
8989 !8 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
9090 !9 = !{!10, !11}
91 !10 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "e", line: 8, scope: !4, file: !5, type: !8)
92 !11 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "f", line: 13, scope: !12, file: !5, type: !14)
91 !10 = !DILocalVariable(name: "e", line: 8, scope: !4, file: !5, type: !8)
92 !11 = !DILocalVariable(name: "f", line: 13, scope: !12, file: !5, type: !14)
9393 !12 = distinct !DILexicalBlock(line: 12, column: 0, file: !1, scope: !13)
9494 !13 = distinct !DILexicalBlock(line: 12, column: 0, file: !1, scope: !4)
9595 !14 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, baseType: !8)
3636 !9 = !{i32 2, !"Dwarf Version", i32 4}
3737 !10 = !{i32 1, !"Debug Info Version", i32 3}
3838 !11 = !{!"clang version 3.5 "}
39 !12 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "count", line: 5, arg: 1, scope: !4, file: !5, type: !8)
39 !12 = !DILocalVariable(name: "count", line: 5, arg: 1, scope: !4, file: !5, type: !8)
4040 !13 = !DILocation(line: 5, scope: !4)
41 !14 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "vl", line: 6, scope: !4, file: !5, type: !15)
41 !14 = !DILocalVariable(name: "vl", line: 6, scope: !4, file: !5, type: !15)
4242 !15 = !DIDerivedType(tag: DW_TAG_typedef, name: "va_list", line: 30, file: !16, baseType: !17)
4343 !16 = !DIFile(filename: "/linux-x86_64-high/gcc_4.7.2/dbg/llvm/bin/../lib/clang/3.5/include/stdarg.h", directory: "/tmp")
4444 !17 = !DIDerivedType(tag: DW_TAG_typedef, name: "__builtin_va_list", line: 6, file: !1, baseType: !18)
4848 !21 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, baseType: null)
4949 !22 = !DILocation(line: 6, scope: !4)
5050 !23 = !DILocation(line: 7, scope: !4)
51 !24 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "sum", line: 8, scope: !4, file: !5, type: !8)
51 !24 = !DILocalVariable(name: "sum", line: 8, scope: !4, file: !5, type: !8)
5252 !25 = !DILocation(line: 8, scope: !4)
53 !26 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 9, scope: !27, file: !5, type: !8)
53 !26 = !DILocalVariable(name: "i", line: 9, scope: !27, file: !5, type: !8)
5454 !27 = distinct !DILexicalBlock(line: 9, column: 0, file: !1, scope: !4)
5555 !28 = !DILocation(line: 9, scope: !27)
5656 !29 = !DILocation(line: 10, scope: !30)
137137 !10 = !{i32 2, !"Dwarf Version", i32 4}
138138 !11 = !{i32 1, !"Debug Info Version", i32 3}
139139 !12 = !{!"clang version 3.5 "}
140 !13 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 4, arg: 1, scope: !4, file: !5, type: !8)
140 !13 = !DILocalVariable(name: "a", line: 4, arg: 1, scope: !4, file: !5, type: !8)
141141 !14 = !DILocation(line: 4, scope: !4)
142 !15 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "b", line: 4, arg: 2, scope: !4, file: !5, type: !8)
143 !16 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "c", line: 4, arg: 3, scope: !4, file: !5, type: !8)
144 !17 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "d", line: 4, arg: 4, scope: !4, file: !5, type: !8)
145 !18 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "e", line: 4, arg: 5, scope: !4, file: !5, type: !8)
146 !19 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "m", line: 5, arg: 6, scope: !4, file: !5, type: !9)
142 !15 = !DILocalVariable(name: "b", line: 4, arg: 2, scope: !4, file: !5, type: !8)
143 !16 = !DILocalVariable(name: "c", line: 4, arg: 3, scope: !4, file: !5, type: !8)
144 !17 = !DILocalVariable(name: "d", line: 4, arg: 4, scope: !4, file: !5, type: !8)
145 !18 = !DILocalVariable(name: "e", line: 4, arg: 5, scope: !4, file: !5, type: !8)
146 !19 = !DILocalVariable(name: "m", line: 5, arg: 6, scope: !4, file: !5, type: !9)
147147 !20 = !DILocation(line: 5, scope: !4)
148 !21 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "n", line: 5, arg: 7, scope: !4, file: !5, type: !9)
149 !22 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p", line: 5, arg: 8, scope: !4, file: !5, type: !9)
150 !23 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "q", line: 5, arg: 9, scope: !4, file: !5, type: !9)
151 !24 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "r", line: 5, arg: 10, scope: !4, file: !5, type: !9)
148 !21 = !DILocalVariable(name: "n", line: 5, arg: 7, scope: !4, file: !5, type: !9)
149 !22 = !DILocalVariable(name: "p", line: 5, arg: 8, scope: !4, file: !5, type: !9)
150 !23 = !DILocalVariable(name: "q", line: 5, arg: 9, scope: !4, file: !5, type: !9)
151 !24 = !DILocalVariable(name: "r", line: 5, arg: 10, scope: !4, file: !5, type: !9)
152152 !25 = !DILocation(line: 7, scope: !26)
153153 !26 = distinct !DILexicalBlock(line: 6, column: 0, file: !1, scope: !4)
154154 !27 = !DILocation(line: 8, scope: !26)
3636 !2 = !DIFile(filename: "one.c", directory: "/Volumes/Athwagate/R10048772")
3737 !3 = !DISubroutineType(types: !4)
3838 !4 = !{null}
39 !5 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 11, arg: 1, scope: !1, file: !2, type: !6)
39 !5 = !DILocalVariable(name: "this", line: 11, arg: 1, scope: !1, file: !2, type: !6)
4040 !6 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !0, baseType: !7)
4141 !7 = !DICompositeType(tag: DW_TAG_structure_type, name: "tag_s", line: 5, size: 96, align: 32, file: !32, scope: !0, elements: !8)
4242 !8 = !{!9, !11, !12}
4444 !10 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
4545 !11 = !DIDerivedType(tag: DW_TAG_member, name: "y", line: 7, size: 32, align: 32, offset: 32, file: !32, scope: !7, baseType: !10)
4646 !12 = !DIDerivedType(tag: DW_TAG_member, name: "z", line: 8, size: 32, align: 32, offset: 64, file: !32, scope: !7, baseType: !10)
47 !13 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "c", line: 11, arg: 2, scope: !1, file: !2, type: !6)
48 !14 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", line: 11, arg: 3, scope: !1, file: !2, type: !15)
47 !13 = !DILocalVariable(name: "c", line: 11, arg: 2, scope: !1, file: !2, type: !6)
48 !14 = !DILocalVariable(name: "x", line: 11, arg: 3, scope: !1, file: !2, type: !15)
4949 !15 = !DIDerivedType(tag: DW_TAG_typedef, name: "UInt64", line: 1, file: !32, scope: !0, baseType: !16)
5050 !16 = !DIBasicType(tag: DW_TAG_base_type, name: "long long unsigned int", size: 64, align: 32, encoding: DW_ATE_unsigned)
51 !17 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "y", line: 11, arg: 4, scope: !1, file: !2, type: !15)
52 !18 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "ptr1", line: 11, arg: 5, scope: !1, file: !2, type: !6)
53 !19 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "ptr2", line: 11, arg: 6, scope: !1, file: !2, type: !6)
51 !17 = !DILocalVariable(name: "y", line: 11, arg: 4, scope: !1, file: !2, type: !15)
52 !18 = !DILocalVariable(name: "ptr1", line: 11, arg: 5, scope: !1, file: !2, type: !6)
53 !19 = !DILocalVariable(name: "ptr2", line: 11, arg: 6, scope: !1, file: !2, type: !6)
5454 !20 = !DILocation(line: 11, column: 24, scope: !1)
5555 !21 = !DILocation(line: 11, column: 44, scope: !1)
5656 !22 = !DILocation(line: 11, column: 54, scope: !1)
121121 !24 = !DIFile(filename: "MyLibrary.m", directory: "/Volumes/Sandbox/llvm")
122122 !25 = !DISubroutineType(types: !26)
123123 !26 = !{null}
124 !27 = !DILocalVariable(tag: DW_TAG_arg_variable, name: ".block_descriptor", line: 609, arg: 1, flags: DIFlagArtificial, scope: !23, file: !24, type: !28)
124 !27 = !DILocalVariable(name: ".block_descriptor", line: 609, arg: 1, flags: DIFlagArtificial, scope: !23, file: !24, type: !28)
125125 !28 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, scope: !0, baseType: !29)
126126 !29 = !DICompositeType(tag: DW_TAG_structure_type, name: "__block_literal_14", line: 609, size: 256, align: 32, file: !152, scope: !24, elements: !30)
127127 !30 = !{!31, !33, !35, !36, !37, !48, !89, !124}
224224 !127 = !DICompositeType(tag: DW_TAG_structure_type, name: "my_struct", line: 49, flags: DIFlagFwdDecl, file: !159, scope: !0)
225225 !128 = !DIFile(filename: "header15.h", directory: "/Volumes/Sandbox/llvm")
226226 !129 = !DILocation(line: 609, column: 144, scope: !23)
227 !130 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "loadedMydata", line: 609, arg: 2, scope: !23, file: !24, type: !59)
227 !130 = !DILocalVariable(name: "loadedMydata", line: 609, arg: 2, scope: !23, file: !24, type: !59)
228228 !131 = !DILocation(line: 609, column: 155, scope: !23)
229 !132 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "bounds", line: 609, arg: 3, scope: !23, file: !24, type: !108)
229 !132 = !DILocalVariable(name: "bounds", line: 609, arg: 3, scope: !23, file: !24, type: !108)
230230 !133 = !DILocation(line: 609, column: 175, scope: !23)
231 !134 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "data", line: 609, arg: 4, scope: !23, file: !24, type: !108)
231 !134 = !DILocalVariable(name: "data", line: 609, arg: 4, scope: !23, file: !24, type: !108)
232232 !135 = !DILocation(line: 609, column: 190, scope: !23)
233 !136 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "mydata", line: 604, scope: !23, file: !24, type: !50)
233 !136 = !DILocalVariable(name: "mydata", line: 604, scope: !23, file: !24, type: !50)
234234 !137 = !DILocation(line: 604, column: 49, scope: !23)
235 !138 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "self", line: 604, scope: !23, file: !40, type: !90)
236 !139 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "semi", line: 607, scope: !23, file: !24, type: !125)
235 !138 = !DILocalVariable(name: "self", line: 604, scope: !23, file: !40, type: !90)
236 !139 = !DILocalVariable(name: "semi", line: 607, scope: !23, file: !24, type: !125)
237237 !140 = !DILocation(line: 607, column: 30, scope: !23)
238238 !141 = !DILocation(line: 610, column: 17, scope: !142)
239239 !142 = distinct !DILexicalBlock(line: 609, column: 200, file: !152, scope: !23)
5959 !15 = !DIFile(filename: "/Volumes/Lalgate/work/llvm/projects/llvm-test/SingleSource/UnitTests/Vector/helpers.h", directory: "/private/tmp")
6060 !16 = !DISubroutineType(types: !17)
6161 !17 = !{null}
62 !18 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 3, arg: 1, scope: !0, file: !1, type: !7)
63 !19 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argc", line: 59, arg: 1, scope: !10, file: !1, type: !13)
64 !20 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argv", line: 59, arg: 2, scope: !10, file: !1, type: !21)
62 !18 = !DILocalVariable(name: "a", line: 3, arg: 1, scope: !0, file: !1, type: !7)
63 !19 = !DILocalVariable(name: "argc", line: 59, arg: 1, scope: !10, file: !1, type: !13)
64 !20 = !DILocalVariable(name: "argv", line: 59, arg: 2, scope: !10, file: !1, type: !21)
6565 !21 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !2, baseType: !22)
6666 !22 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !2, baseType: !23)
6767 !23 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
68 !24 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 60, scope: !25, file: !1, type: !13)
68 !24 = !DILocalVariable(name: "i", line: 60, scope: !25, file: !1, type: !13)
6969 !25 = distinct !DILexicalBlock(line: 59, column: 33, file: !1, scope: !10)
70 !26 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 60, scope: !25, file: !1, type: !13)
71 !27 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "x", line: 61, scope: !25, file: !1, type: !5)
72 !28 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "y", line: 62, scope: !25, file: !1, type: !5)
73 !29 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "z", line: 63, scope: !25, file: !1, type: !5)
74 !30 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "F", line: 41, arg: 1, scope: !14, file: !15, type: !31)
70 !26 = !DILocalVariable(name: "j", line: 60, scope: !25, file: !1, type: !13)
71 !27 = !DILocalVariable(name: "x", line: 61, scope: !25, file: !1, type: !5)
72 !28 = !DILocalVariable(name: "y", line: 62, scope: !25, file: !1, type: !5)
73 !29 = !DILocalVariable(name: "z", line: 63, scope: !25, file: !1, type: !5)
74 !30 = !DILocalVariable(name: "F", line: 41, arg: 1, scope: !14, file: !15, type: !31)
7575 !31 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !2, baseType: !32)
7676 !32 = !DIDerivedType(tag: DW_TAG_typedef, name: "FV", line: 25, file: !55, scope: !2, baseType: !33)
7777 !33 = !DICompositeType(tag: DW_TAG_union_type, line: 22, size: 128, align: 128, file: !55, scope: !2, elements: !34)
7474 !13 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, file: !46, scope: !1, baseType: !14)
7575 !14 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, file: !46, scope: !1, baseType: !15)
7676 !15 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
77 !16 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "ptr", line: 11, arg: 1, scope: !0, file: !1, type: !6)
78 !17 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "val", line: 11, arg: 2, scope: !0, file: !1, type: !7)
79 !18 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "c", line: 11, arg: 3, scope: !0, file: !1, type: !8)
80 !19 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "ptr", line: 4, arg: 1, scope: !9, file: !1, type: !6)
81 !20 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "val", line: 4, arg: 2, scope: !9, file: !1, type: !7)
82 !21 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "c", line: 4, arg: 3, scope: !9, file: !1, type: !8)
77 !16 = !DILocalVariable(name: "ptr", line: 11, arg: 1, scope: !0, file: !1, type: !6)
78 !17 = !DILocalVariable(name: "val", line: 11, arg: 2, scope: !0, file: !1, type: !7)
79 !18 = !DILocalVariable(name: "c", line: 11, arg: 3, scope: !0, file: !1, type: !8)
80 !19 = !DILocalVariable(name: "ptr", line: 4, arg: 1, scope: !9, file: !1, type: !6)
81 !20 = !DILocalVariable(name: "val", line: 4, arg: 2, scope: !9, file: !1, type: !7)
82 !21 = !DILocalVariable(name: "c", line: 4, arg: 3, scope: !9, file: !1, type: !8)
8383
84 !49 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "ptr", line: 4, arg: 1, scope: !9, file: !1, type: !6)
85 !50 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "val", line: 4, arg: 2, scope: !9, file: !1, type: !7)
86 !51 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "c", line: 4, arg: 2, scope: !9, file: !1, type: !8)
84 !49 = !DILocalVariable(name: "ptr", line: 4, arg: 1, scope: !9, file: !1, type: !6)
85 !50 = !DILocalVariable(name: "val", line: 4, arg: 2, scope: !9, file: !1, type: !7)
86 !51 = !DILocalVariable(name: "c", line: 4, arg: 2, scope: !9, file: !1, type: !8)
8787
88 !22 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argc", line: 17, arg: 1, scope: !10, file: !1, type: !5)
89 !23 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argv", line: 17, arg: 2, scope: !10, file: !1, type: !13)
90 !24 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "dval", line: 19, scope: !25, file: !1, type: !7)
88 !22 = !DILocalVariable(name: "argc", line: 17, arg: 1, scope: !10, file: !1, type: !5)
89 !23 = !DILocalVariable(name: "argv", line: 17, arg: 2, scope: !10, file: !1, type: !13)
90 !24 = !DILocalVariable(name: "dval", line: 19, scope: !25, file: !1, type: !7)
9191 !25 = distinct !DILexicalBlock(line: 18, column: 0, file: !46, scope: !10)
9292 !26 = !DILocation(line: 4, scope: !9)
9393 !27 = !DILocation(line: 6, scope: !28)
2929 !6 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
3030 !7 = !{i32 2, !"Dwarf Version", i32 4}
3131 !8 = !{i32 2, !"Debug Info Version", i32 3}
32 !9 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "Depth", scope: !3, file: !1, line: 3, type: !6)
32 !9 = !DILocalVariable(name: "Depth", scope: !3, file: !1, line: 3, type: !6)
3333 !10 = !DIExpression()
3434 !11 = !DILocation(line: 3, column: 9, scope: !3)
3535 !12 = !DILocation(line: 7, column: 5, scope: !3)
5555 !15 = !DIFile(filename: "/Volumes/Lalgate/work/llvm/projects/llvm-test/SingleSource/UnitTests/Vector/helpers.h", directory: "/private/tmp")
5656 !16 = !DISubroutineType(types: !17)
5757 !17 = !{null}
58 !18 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 3, arg: 1, scope: !0, file: !1, type: !7)
59 !19 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argc", line: 59, arg: 1, scope: !10, file: !1, type: !13)
60 !20 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argv", line: 59, arg: 2, scope: !10, file: !1, type: !21)
58 !18 = !DILocalVariable(name: "a", line: 3, arg: 1, scope: !0, file: !1, type: !7)
59 !19 = !DILocalVariable(name: "argc", line: 59, arg: 1, scope: !10, file: !1, type: !13)
60 !20 = !DILocalVariable(name: "argv", line: 59, arg: 2, scope: !10, file: !1, type: !21)
6161 !21 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !2, baseType: !22)
6262 !22 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !2, baseType: !23)
6363 !23 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
64 !24 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 60, scope: !25, file: !1, type: !13)
64 !24 = !DILocalVariable(name: "i", line: 60, scope: !25, file: !1, type: !13)
6565 !25 = distinct !DILexicalBlock(line: 59, column: 33, file: !54, scope: !10)
66 !26 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 60, scope: !25, file: !1, type: !13)
67 !27 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "x", line: 61, scope: !25, file: !1, type: !5)
68 !28 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "y", line: 62, scope: !25, file: !1, type: !5)
69 !29 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "z", line: 63, scope: !25, file: !1, type: !5)
70 !30 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "F", line: 41, arg: 1, scope: !14, file: !15, type: !31)
66 !26 = !DILocalVariable(name: "j", line: 60, scope: !25, file: !1, type: !13)
67 !27 = !DILocalVariable(name: "x", line: 61, scope: !25, file: !1, type: !5)
68 !28 = !DILocalVariable(name: "y", line: 62, scope: !25, file: !1, type: !5)
69 !29 = !DILocalVariable(name: "z", line: 63, scope: !25, file: !1, type: !5)
70 !30 = !DILocalVariable(name: "F", line: 41, arg: 1, scope: !14, file: !15, type: !31)
7171 !31 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !2, baseType: !32)
7272 !32 = !DIDerivedType(tag: DW_TAG_typedef, name: "FV", line: 25, file: !55, scope: !2, baseType: !33)
7373 !33 = !DICompositeType(tag: DW_TAG_union_type, line: 22, size: 128, align: 128, file: !55, scope: !2, elements: !34)
7272 !5 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
7373 !6 = !DISubprogram(name: "printer", line: 12, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 12, file: !51, scope: !1, type: !3, function: i32 (i8*, float, i8)* @printer, variables: !49)
7474 !7 = !DISubprogram(name: "main", line: 18, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 18, file: !51, scope: !1, type: !3, function: i32 (i32, i8**)* @main, variables: !50)
75 !8 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "ptr", line: 4, arg: 1, scope: !0, file: !1, type: !9)
75 !8 = !DILocalVariable(name: "ptr", line: 4, arg: 1, scope: !0, file: !1, type: !9)
7676 !9 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !2, baseType: null)
77 !10 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "val", line: 4, arg: 2, scope: !0, file: !1, type: !11)
77 !10 = !DILocalVariable(name: "val", line: 4, arg: 2, scope: !0, file: !1, type: !11)
7878 !11 = !DIBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)
79 !12 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "c", line: 4, arg: 3, scope: !0, file: !1, type: !13)
79 !12 = !DILocalVariable(name: "c", line: 4, arg: 3, scope: !0, file: !1, type: !13)
8080 !13 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
8181
82 !58 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "ptr", line: 4, arg: 1, scope: !0, file: !1, type: !9)
83 !60 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "val", line: 4, arg: 2, scope: !0, file: !1, type: !11)
84 !62 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "c", line: 4, arg: 3, scope: !0, file: !1, type: !13)
82 !58 = !DILocalVariable(name: "ptr", line: 4, arg: 1, scope: !0, file: !1, type: !9)
83 !60 = !DILocalVariable(name: "val", line: 4, arg: 2, scope: !0, file: !1, type: !11)
84 !62 = !DILocalVariable(name: "c", line: 4, arg: 3, scope: !0, file: !1, type: !13)
8585
86 !14 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "ptr", line: 11, arg: 1, scope: !6, file: !1, type: !9)
87 !15 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "val", line: 11, arg: 2, scope: !6, file: !1, type: !11)
88 !16 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "c", line: 11, arg: 3, scope: !6, file: !1, type: !13)
89 !17 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argc", line: 17, arg: 1, scope: !7, file: !1, type: !5)
90 !18 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argv", line: 17, arg: 2, scope: !7, file: !1, type: !19)
86 !14 = !DILocalVariable(name: "ptr", line: 11, arg: 1, scope: !6, file: !1, type: !9)
87 !15 = !DILocalVariable(name: "val", line: 11, arg: 2, scope: !6, file: !1, type: !11)
88 !16 = !DILocalVariable(name: "c", line: 11, arg: 3, scope: !6, file: !1, type: !13)
89 !17 = !DILocalVariable(name: "argc", line: 17, arg: 1, scope: !7, file: !1, type: !5)
90 !18 = !DILocalVariable(name: "argv", line: 17, arg: 2, scope: !7, file: !1, type: !19)
9191 !19 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !2, baseType: !20)
9292 !20 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, scope: !2, baseType: !21)
9393 !21 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
94 !22 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "dval", line: 19, scope: !23, file: !1, type: !11)
94 !22 = !DILocalVariable(name: "dval", line: 19, scope: !23, file: !1, type: !11)
9595 !23 = distinct !DILexicalBlock(line: 18, column: 1, file: !51, scope: !7)
9696 !24 = !DILocation(line: 4, column: 22, scope: !0)
9797 !25 = !DILocation(line: 4, column: 33, scope: !0)
4747 !2 = !DIFile(filename: "k.cc", directory: "/private/tmp")
4848 !3 = !DISubroutineType(types: !4)
4949 !4 = !{null}
50 !5 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 6, scope: !6, file: !2, type: !7)
50 !5 = !DILocalVariable(name: "k", line: 6, scope: !6, file: !2, type: !7)
5151 !6 = distinct !DILexicalBlock(line: 5, column: 12, file: !18, scope: !1)
5252 !7 = !DIBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)
53 !8 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "y", line: 8, scope: !9, file: !2, type: !7)
53 !8 = !DILocalVariable(name: "y", line: 8, scope: !9, file: !2, type: !7)
5454 !9 = distinct !DILexicalBlock(line: 7, column: 25, file: !18, scope: !10)
5555 !10 = distinct !DILexicalBlock(line: 7, column: 3, file: !18, scope: !6)
5656 !11 = !DILocation(line: 6, column: 18, scope: !6)
5050 !9 = !{i32 2, !"Dwarf Version", i32 4}
5151 !10 = !{i32 1, !"Debug Info Version", i32 3}
5252 !11 = !{!"clang version 3.5 "}
53 !12 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "count", line: 5, arg: 1, scope: !4, file: !5, type: !8)
53 !12 = !DILocalVariable(name: "count", line: 5, arg: 1, scope: !4, file: !5, type: !8)
5454 !13 = !DILocation(line: 5, scope: !4)
55 !14 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "vl", line: 6, scope: !4, file: !5, type: !15)
55 !14 = !DILocalVariable(name: "vl", line: 6, scope: !4, file: !5, type: !15)
5656 !15 = !DIDerivedType(tag: DW_TAG_typedef, name: "va_list", line: 30, file: !16, baseType: !17)
5757 !16 = !DIFile(filename: "/linux-x86_64-high/gcc_4.7.2/dbg/llvm/bin/../lib/clang/3.5/include/stdarg.h", directory: "/tmp")
5858 !17 = !DIDerivedType(tag: DW_TAG_typedef, name: "__builtin_va_list", line: 6, file: !1, baseType: !18)
6262 !21 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, baseType: null)
6363 !22 = !DILocation(line: 6, scope: !4)
6464 !23 = !DILocation(line: 7, scope: !4)
65 !24 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "test_basic", line: 8, scope: !4, file: !5, type: !8)
65 !24 = !DILocalVariable(name: "test_basic", line: 8, scope: !4, file: !5, type: !8)
6666 !25 = !DILocation(line: 8, scope: !4)
67 !26 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 9, scope: !27, file: !5, type: !8)
67 !26 = !DILocalVariable(name: "i", line: 9, scope: !27, file: !5, type: !8)
6868 !27 = distinct !DILexicalBlock(line: 9, column: 0, file: !1, scope: !4)
6969 !28 = !DILocation(line: 9, scope: !27)
7070 !29 = !DILocation(line: 10, scope: !30)
6868 !16 = !DIBasicType(name: "unsigned char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
6969 !17 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_t", file: !5, line: 3, baseType: !12)
7070 !18 = !{!19, !20, !21, !22}
71 !19 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "s", arg: 1, scope: !4, file: !5, line: 9, type: !9)
72 !20 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "u", arg: 2, scope: !4, file: !5, line: 9, type: !12)
73 !21 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "b", arg: 3, scope: !4, file: !5, line: 9, type: !13)
74 !22 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "n", arg: 4, scope: !4, file: !5, line: 9, type: !17)
71 !19 = !DILocalVariable(name: "s", arg: 1, scope: !4, file: !5, line: 9, type: !9)
72 !20 = !DILocalVariable(name: "u", arg: 2, scope: !4, file: !5, line: 9, type: !12)
73 !21 = !DILocalVariable(name: "b", arg: 3, scope: !4, file: !5, line: 9, type: !13)
74 !22 = !DILocalVariable(name: "n", arg: 4, scope: !4, file: !5, line: 9, type: !17)
7575 !23 = !{i32 2, !"Dwarf Version", i32 4}
7676 !24 = !{i32 2, !"Debug Info Version", i32 3}
7777 !25 = !{i32 1, !"wchar_size", i32 4}
1010 declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnone
1111
1212 ; !0 should conform to the format of DIVariable.
13 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", arg: 1, scope: !DISubprogram())
13 !0 = !DILocalVariable(name: "a", arg: 1, scope: !DISubprogram())
4646 !9 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, baseType: !10)
4747 !10 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
4848 !11 = !{!13, !14, !15}
49 !13 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 1, arg: 1, scope: !5, file: !6, type: !9)
50 !14 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "b", line: 1, arg: 2, scope: !5, file: !6, type: !9)
51 !15 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2, scope: !16, file: !6, type: !10)
49 !13 = !DILocalVariable(name: "a", line: 1, arg: 1, scope: !5, file: !6, type: !9)
50 !14 = !DILocalVariable(name: "b", line: 1, arg: 2, scope: !5, file: !6, type: !9)
51 !15 = !DILocalVariable(name: "i", line: 2, scope: !16, file: !6, type: !10)
5252 !16 = distinct !DILexicalBlock(line: 1, column: 26, file: !28, scope: !5)
5353 !17 = !DILocation(line: 1, column: 15, scope: !5)
5454 !18 = !DILocation(line: 1, column: 23, scope: !5)
2020 !4 = !{!5}
2121 !5 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
2222 !6 = !{}
23 !7 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 3, scope: !8, file: !1, type: !5)
23 !7 = !DILocalVariable(name: "i", line: 3, scope: !8, file: !1, type: !5)
2424 !8 = distinct !DILexicalBlock(line: 2, column: 12, file: !12, scope: !0)
2525 !9 = !DILocation(line: 3, column: 11, scope: !8)
2626 !10 = !DILocation(line: 4, column: 2, scope: !8)
3131 !9 = !{i32 2, !"Dwarf Version", i32 4}
3232 !10 = !{i32 2, !"Debug Info Version", i32 3}
3333 !11 = !{!"clang version 3.7.0"}
34 !12 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", arg: 1, scope: !4, file: !5, line: 4, type: !8)
34 !12 = !DILocalVariable(name: "x", arg: 1, scope: !4, file: !5, line: 4, type: !8)
3535 !13 = !DIExpression()
3636 !14 = !DILocation(line: 4, scope: !4)
3737 !15 = !DILocation(line: 8, scope: !4)
3131 !9 = !{i32 2, !"Dwarf Version", i32 4}
3232 !10 = !{i32 2, !"Debug Info Version", i32 3}
3333 !11 = !{!"clang version 3.7.0"}
34 !12 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", arg: 1, scope: !4, file: !5, line: 4, type: !8)
34 !12 = !DILocalVariable(name: "x", arg: 1, scope: !4, file: !5, line: 4, type: !8)
3535 !13 = !DIExpression()
3636 !14 = !DILocation(line: 4, scope: !4)
3737 !15 = !DILocation(line: 8, scope: !4)
3333 !9 = !{i32 2, !"Dwarf Version", i32 4}
3434 !10 = !{i32 2, !"Debug Info Version", i32 3}
3535 !11 = !{!"clang version 3.7.0"}
36 !12 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", arg: 1, scope: !4, file: !5, line: 4, type: !8)
36 !12 = !DILocalVariable(name: "x", arg: 1, scope: !4, file: !5, line: 4, type: !8)
3737 !13 = !DIExpression()
3838 !14 = !DILocation(line: 4, scope: !4)
3939 !15 = !DILocation(line: 8, scope: !4)
3333 !9 = !{i32 2, !"Dwarf Version", i32 4}
3434 !10 = !{i32 2, !"Debug Info Version", i32 3}
3535 !11 = !{!"clang version 3.7.0"}
36 !12 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", arg: 1, scope: !4, file: !5, line: 4, type: !8)
36 !12 = !DILocalVariable(name: "x", arg: 1, scope: !4, file: !5, line: 4, type: !8)
3737 !13 = !DIExpression()
3838 !14 = !DILocation(line: 4, scope: !4)
3939 !15 = !DILocation(line: 8, scope: !4)
3131 !9 = !{i32 2, !"Dwarf Version", i32 4}
3232 !10 = !{i32 2, !"Debug Info Version", i32 3}
3333 !11 = !{!"clang version 3.7.0"}
34 !12 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", arg: 1, scope: !4, file: !5, line: 4, type: !8)
34 !12 = !DILocalVariable(name: "x", arg: 1, scope: !4, file: !5, line: 4, type: !8)
3535 !13 = !DIExpression()
3636 !14 = !DILocation(line: 4, scope: !4)
3737 !15 = !DILocation(line: 8, scope: !4)
2828 !11 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !12)
2929 !12 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
3030 !13 = !{!15, !16}
31 !15 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argc", line: 1, arg: 1, scope: !5, file: !6, type: !9)
32 !16 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argv", line: 1, arg: 2, scope: !5, file: !6, type: !10)
31 !15 = !DILocalVariable(name: "argc", line: 1, arg: 1, scope: !5, file: !6, type: !9)
32 !16 = !DILocalVariable(name: "argv", line: 1, arg: 2, scope: !5, file: !6, type: !10)
3333 !17 = !DILocation(line: 1, column: 14, scope: !5)
3434 !18 = !DILocation(line: 1, column: 26, scope: !5)
3535 !19 = !DILocation(line: 2, column: 3, scope: !20)
6666 !10 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !11)
6767 !11 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_unsigned_char)
6868 !12 = !{!13, !14, !15, !16, !17, !18, !19, !21, !22, !23, !25, !26}
69 !13 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argc", line: 74, arg: 1, scope: !4, file: !5, type: !8)
70 !14 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argv", line: 74, arg: 2, scope: !4, file: !5, type: !9)
71 !15 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "niter", line: 76, scope: !4, file: !5, type: !8)
72 !16 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "step", line: 76, scope: !4, file: !5, type: !8)
73 !17 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "n3", line: 76, scope: !4, file: !5, type: !8)
74 !18 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "nthreads", line: 77, scope: !4, file: !5, type: !8)
75 !19 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "navg", line: 78, scope: !4, file: !5, type: !20)
69 !13 = !DILocalVariable(name: "argc", line: 74, arg: 1, scope: !4, file: !5, type: !8)
70 !14 = !DILocalVariable(name: "argv", line: 74, arg: 2, scope: !4, file: !5, type: !9)
71 !15 = !DILocalVariable(name: "niter", line: 76, scope: !4, file: !5, type: !8)
72 !16 = !DILocalVariable(name: "step", line: 76, scope: !4, file: !5, type: !8)
73 !17 = !DILocalVariable(name: "n3", line: 76, scope: !4, file: !5, type: !8)
74 !18 = !DILocalVariable(name: "nthreads", line: 77, scope: !4, file: !5, type: !8)
75 !19 = !DILocalVariable(name: "navg", line: 78, scope: !4, file: !5, type: !20)
7676 !20 = !DIBasicType(tag: DW_TAG_base_type, name: "double", size: 64, align: 64, encoding: DW_ATE_float)
77 !21 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "mflops", line: 78, scope: !4, file: !5, type: !20)
78 !22 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "tmax", line: 80, scope: !4, file: !5, type: !20)
79 !23 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "verified", line: 81, scope: !4, file: !5, type: !24)
77 !21 = !DILocalVariable(name: "mflops", line: 78, scope: !4, file: !5, type: !20)
78 !22 = !DILocalVariable(name: "tmax", line: 80, scope: !4, file: !5, type: !20)
79 !23 = !DILocalVariable(name: "verified", line: 81, scope: !4, file: !5, type: !24)
8080 !24 = !DIDerivedType(tag: DW_TAG_typedef, name: "boolean", line: 12, file: !1, baseType: !8)
81 !25 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "class", line: 82, scope: !4, file: !5, type: !11)
82 !26 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "fp", line: 83, scope: !4, file: !5, type: !27)
81 !25 = !DILocalVariable(name: "class", line: 82, scope: !4, file: !5, type: !11)
82 !26 = !DILocalVariable(name: "fp", line: 83, scope: !4, file: !5, type: !27)
8383 !27 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !28)
8484 !28 = !DIDerivedType(tag: DW_TAG_typedef, name: "FILE", line: 49, file: !1, baseType: !29)
8585 !29 = !DICompositeType(tag: DW_TAG_structure_type, name: "_IO_FILE", line: 271, size: 1728, align: 64, file: !30, elements: !31)
140140 !84 = !{null, !8, !10, !85}
141141 !85 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !24)
142142 !86 = !{!87, !88, !89, !90, !94, !95, !96, !97, !98, !99, !100, !101}
143 !87 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "no_time_steps", line: 2388, arg: 1, scope: !82, file: !5, type: !8)
144 !88 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "class", line: 2388, arg: 2, scope: !82, file: !5, type: !10)
145 !89 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "verified", line: 2388, arg: 3, scope: !82, file: !5, type: !85)
146 !90 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xcrref", line: 2397, scope: !82, file: !5, type: !91)
143 !87 = !DILocalVariable(name: "no_time_steps", line: 2388, arg: 1, scope: !82, file: !5, type: !8)
144 !88 = !DILocalVariable(name: "class", line: 2388, arg: 2, scope: !82, file: !5, type: !10)
145 !89 = !DILocalVariable(name: "verified", line: 2388, arg: 3, scope: !82, file: !5, type: !85)
146 !90 = !DILocalVariable(name: "xcrref", line: 2397, scope: !82, file: !5, type: !91)
147147 !91 = !DICompositeType(tag: DW_TAG_array_type, size: 320, align: 64, baseType: !20, elements: !92)
148148 !92 = !{!93}
149149 !93 = !DISubrange(count: 5)
150 !94 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xceref", line: 2397, scope: !82, file: !5, type: !91)
151 !95 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xcrdif", line: 2397, scope: !82, file: !5, type: !91)
152 !96 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xcedif", line: 2397, scope: !82, file: !5, type: !91)
153 !97 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "epsilon", line: 2398, scope: !82, file: !5, type: !20)
154 !98 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xce", line: 2398, scope: !82, file: !5, type: !91)
155 !99 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xcr", line: 2398, scope: !82, file: !5, type: !91)
156 !100 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "dtref", line: 2398, scope: !82, file: !5, type: !20)
157 !101 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 2399, scope: !82, file: !5, type: !8)
150 !94 = !DILocalVariable(name: "xceref", line: 2397, scope: !82, file: !5, type: !91)
151 !95 = !DILocalVariable(name: "xcrdif", line: 2397, scope: !82, file: !5, type: !91)
152 !96 = !DILocalVariable(name: "xcedif", line: 2397, scope: !82, file: !5, type: !91)
153 !97 = !DILocalVariable(name: "epsilon", line: 2398, scope: !82, file: !5, type: !20)
154 !98 = !DILocalVariable(name: "xce", line: 2398, scope: !82, file: !5, type: !91)
155 !99 = !DILocalVariable(name: "xcr", line: 2398, scope: !82, file: !5, type: !91)
156 !100 = !DILocalVariable(name: "dtref", line: 2398, scope: !82, file: !5, type: !20)
157 !101 = !DILocalVariable(name: "m", line: 2399, scope: !82, file: !5, type: !8)
158158 !102 = !DISubprogram(name: "rhs_norm", line: 266, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 266, file: !1, scope: !5, type: !103, variables: !106)
159159 !103 = !DISubroutineType(types: !104)
160160 !104 = !{null, !105}
161161 !105 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !20)
162162 !106 = !{!107, !108, !109, !110, !111, !112, !113}
163 !107 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "rms", line: 266, arg: 1, scope: !102, file: !5, type: !105)
164 !108 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 271, scope: !102, file: !5, type: !8)
165 !109 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 271, scope: !102, file: !5, type: !8)
166 !110 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 271, scope: !102, file: !5, type: !8)
167 !111 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "d", line: 271, scope: !102, file: !5, type: !8)
168 !112 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 271, scope: !102, file: !5, type: !8)
169 !113 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "add", line: 272, scope: !102, file: !5, type: !20)
163 !107 = !DILocalVariable(name: "rms", line: 266, arg: 1, scope: !102, file: !5, type: !105)
164 !108 = !DILocalVariable(name: "i", line: 271, scope: !102, file: !5, type: !8)
165 !109 = !DILocalVariable(name: "j", line: 271, scope: !102, file: !5, type: !8)
166 !110 = !DILocalVariable(name: "k", line: 271, scope: !102, file: !5, type: !8)
167 !111 = !DILocalVariable(name: "d", line: 271, scope: !102, file: !5, type: !8)
168 !112 = !DILocalVariable(name: "m", line: 271, scope: !102, file: !5, type: !8)
169 !113 = !DILocalVariable(name: "add", line: 272, scope: !102, file: !5, type: !20)
170170 !114 = !DISubprogram(name: "compute_rhs", line: 1767, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 1767, file: !1, scope: !5, type: !115, function: void ()* @compute_rhs, variables: !117)
171171 !115 = !DISubroutineType(types: !116)
172172 !116 = !{null}
173173 !117 = !{!118, !119, !120, !121, !122, !123, !124, !125, !126, !127, !128, !129, !130, !131}
174 !118 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 1769, scope: !114, file: !5, type: !8)
175 !119 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 1769, scope: !114, file: !5, type: !8)
176 !120 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 1769, scope: !114, file: !5, type: !8)
177 !121 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 1769, scope: !114, file: !5, type: !8)
178 !122 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "rho_inv", line: 1770, scope: !114, file: !5, type: !20)
179 !123 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "uijk", line: 1770, scope: !114, file: !5, type: !20)
180 !124 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "up1", line: 1770, scope: !114, file: !5, type: !20)
181 !125 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "um1", line: 1770, scope: !114, file: !5, type: !20)
182 !126 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "vijk", line: 1770, scope: !114, file: !5, type: !20)
183 !127 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "vp1", line: 1770, scope: !114, file: !5, type: !20)
184 !128 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "vm1", line: 1770, scope: !114, file: !5, type: !20)
185 !129 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "wijk", line: 1770, scope: !114, file: !5, type: !20)
186 !130 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "wp1", line: 1770, scope: !114, file: !5, type: !20)
187 !131 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "wm1", line: 1770, scope: !114, file: !5, type: !20)
174 !118 = !DILocalVariable(name: "i", line: 1769, scope: !114, file: !5, type: !8)
175 !119 = !DILocalVariable(name: "j", line: 1769, scope: !114, file: !5, type: !8)
176 !120 = !DILocalVariable(name: "k", line: 1769, scope: !114, file: !5, type: !8)
177 !121 = !DILocalVariable(name: "m", line: 1769, scope: !114, file: !5, type: !8)
178 !122 = !DILocalVariable(name: "rho_inv", line: 1770, scope: !114, file: !5, type: !20)
179 !123 = !DILocalVariable(name: "uijk", line: 1770, scope: !114, file: !5, type: !20)
180 !124 = !DILocalVariable(name: "up1", line: 1770, scope: !114, file: !5, type: !20)
181 !125 = !DILocalVariable(name: "um1", line: 1770, scope: !114, file: !5, type: !20)
182 !126 = !DILocalVariable(name: "vijk", line: 1770, scope: !114, file: !5, type: !20)
183 !127 = !DILocalVariable(name: "vp1", line: 1770, scope: !114, file: !5, type: !20)
184 !128 = !DILocalVariable(name: "vm1", line: 1770, scope: !114, file: !5, type: !20)
185 !129 = !DILocalVariable(name: "wijk", line: 1770, scope: !114, file: !5, type: !20)
186 !130 = !DILocalVariable(name: "wp1", line: 1770, scope: !114, file: !5, type: !20)
187 !131 = !DILocalVariable(name: "wm1", line: 1770, scope: !114, file: !5, type: !20)
188188 !132 = !DISubprogram(name: "error_norm", line: 225, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 225, file: !1, scope: !5, type: !103, variables: !133)
189189 !133 = !{!134, !135, !136, !137, !138, !139, !140, !141, !142, !143, !144}
190 !134 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "rms", line: 225, arg: 1, scope: !132, file: !5, type: !105)
191 !135 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 232, scope: !132, file: !5, type: !8)
192 !136 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 232, scope: !132, file: !5, type: !8)
193 !137 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 232, scope: !132, file: !5, type: !8)
194 !138 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 232, scope: !132, file: !5, type: !8)
195 !139 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "d", line: 232, scope: !132, file: !5, type: !8)
196 !140 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xi", line: 233, scope: !132, file: !5, type: !20)
197 !141 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "eta", line: 233, scope: !132, file: !5, type: !20)
198 !142 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "zeta", line: 233, scope: !132, file: !5, type: !20)
199 !143 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "u_exact", line: 233, scope: !132, file: !5, type: !91)
200 !144 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "add", line: 233, scope: !132, file: !5, type: !20)
190 !134 = !DILocalVariable(name: "rms", line: 225, arg: 1, scope: !132, file: !5, type: !105)
191 !135 = !DILocalVariable(name: "i", line: 232, scope: !132, file: !5, type: !8)
192 !136 = !DILocalVariable(name: "j", line: 232, scope: !132, file: !5, type: !8)
193 !137 = !DILocalVariable(name: "k", line: 232, scope: !132, file: !5, type: !8)
194 !138 = !DILocalVariable(name: "m", line: 232, scope: !132, file: !5, type: !8)
195 !139 = !DILocalVariable(name: "d", line: 232, scope: !132, file: !5, type: !8)
196 !140 = !DILocalVariable(name: "xi", line: 233, scope: !132, file: !5, type: !20)
197 !141 = !DILocalVariable(name: "eta", line: 233, scope: !132, file: !5, type: !20)
198 !142 = !DILocalVariable(name: "zeta", line: 233, scope: !132, file: !5, type: !20)
199 !143 = !DILocalVariable(name: "u_exact", line: 233, scope: !132, file: !5, type: !91)
200 !144 = !DILocalVariable(name: "add", line: 233, scope: !132, file: !5, type: !20)
201201 !145 = !DISubprogram(name: "exact_solution", line: 643, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 644, file: !1, scope: !5, type: !146, variables: !148)
202202 !146 = !DISubroutineType(types: !147)
203203 !147 = !{null, !20, !20, !20, !105}
204204 !148 = !{!149, !150, !151, !152, !153}
205 !149 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "xi", line: 643, arg: 1, scope: !145, file: !5, type: !20)
206 !150 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "eta", line: 643, arg: 2, scope: !145, file: !5, type: !20)
207 !151 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "zeta", line: 643, arg: 3, scope: !145, file: !5, type: !20)
208 !152 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "dtemp", line: 644, arg: 4, scope: !145, file: !5, type: !105)
209 !153 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 653, scope: !145, file: !5, type: !8)
205 !149 = !DILocalVariable(name: "xi", line: 643, arg: 1, scope: !145, file: !5, type: !20)
206 !150 = !DILocalVariable(name: "eta", line: 643, arg: 2, scope: !145, file: !5, type: !20)
207 !151 = !DILocalVariable(name: "zeta", line: 643, arg: 3, scope: !145, file: !5, type: !20)
208 !152 = !DILocalVariable(name: "dtemp", line: 644, arg: 4, scope: !145, file: !5, type: !105)
209 !153 = !DILocalVariable(name: "m", line: 653, scope: !145, file: !5, type: !8)
210210 !154 = !DISubprogram(name: "set_constants", line: 2191, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 2191, file: !1, scope: !5, type: !115, variables: !2)
211211 !155 = !DISubprogram(name: "lhsinit", line: 855, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 855, file: !1, scope: !5, type: !115, variables: !156)
212212 !156 = !{!157, !158, !159, !160, !161}
213 !157 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 857, scope: !155, file: !5, type: !8)
214 !158 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 857, scope: !155, file: !5, type: !8)
215 !159 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 857, scope: !155, file: !5, type: !8)
216 !160 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 857, scope: !155, file: !5, type: !8)
217 !161 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "n", line: 857, scope: !155, file: !5, type: !8)
213 !157 = !DILocalVariable(name: "i", line: 857, scope: !155, file: !5, type: !8)
214 !158 = !DILocalVariable(name: "j", line: 857, scope: !155, file: !5, type: !8)
215 !159 = !DILocalVariable(name: "k", line: 857, scope: !155, file: !5, type: !8)
216 !160 = !DILocalVariable(name: "m", line: 857, scope: !155, file: !5, type: !8)
217 !161 = !DILocalVariable(name: "n", line: 857, scope: !155, file: !5, type: !8)
218218 !162 = !DISubprogram(name: "initialize", line: 669, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 669, file: !1, scope: !5, type: !115, variables: !163)
219219 !163 = !{!164, !165, !166, !167, !168, !169, !170, !171, !172, !173, !174, !179, !180, !181, !182}
220 !164 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 679, scope: !162, file: !5, type: !8)
221 !165 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 679, scope: !162, file: !5, type: !8)
222 !166 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 679, scope: !162, file: !5, type: !8)
223 !167 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 679, scope: !162, file: !5, type: !8)
224 !168 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "ix", line: 679, scope: !162, file: !5, type: !8)
225 !169 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "iy", line: 679, scope: !162, file: !5, type: !8)
226 !170 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "iz", line: 679, scope: !162, file: !5, type: !8)
227 !171 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xi", line: 680, scope: !162, file: !5, type: !20)
228 !172 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "eta", line: 680, scope: !162, file: !5, type: !20)
229 !173 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "zeta", line: 680, scope: !162, file: !5, type: !20)
230 !174 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "Pface", line: 680, scope: !162, file: !5, type: !175)
220 !164 = !DILocalVariable(name: "i", line: 679, scope: !162, file: !5, type: !8)
221 !165 = !DILocalVariable(name: "j", line: 679, scope: !162, file: !5, type: !8)
222 !166 = !DILocalVariable(name: "k", line: 679, scope: !162, file: !5, type: !8)
223 !167 = !DILocalVariable(name: "m", line: 679, scope: !162, file: !5, type: !8)
224 !168 = !DILocalVariable(name: "ix", line: 679, scope: !162, file: !5, type: !8)
225 !169 = !DILocalVariable(name: "iy", line: 679, scope: !162, file: !5, type: !8)
226 !170 = !DILocalVariable(name: "iz", line: 679, scope: !162, file: !5, type: !8)
227 !171 = !DILocalVariable(name: "xi", line: 680, scope: !162, file: !5, type: !20)
228 !172 = !DILocalVariable(name: "eta", line: 680, scope: !162, file: !5, type: !20)
229 !173 = !DILocalVariable(name: "zeta", line: 680, scope: !162, file: !5, type: !20)
230 !174 = !DILocalVariable(name: "Pface", line: 680, scope: !162, file: !5, type: !175)
231231 !175 = !DICompositeType(tag: DW_TAG_array_type, size: 1920, align: 64, baseType: !20, elements: !176)
232232 !176 = !{!177, !178, !93}
233233 !177 = !DISubrange(count: 2)
234234 !178 = !DISubrange(count: 3)
235 !179 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "Pxi", line: 680, scope: !162, file: !5, type: !20)
236 !180 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "Peta", line: 680, scope: !162, file: !5, type: !20)
237 !181 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "Pzeta", line: 680, scope: !162, file: !5, type: !20)
238 !182 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "temp", line: 680, scope: !162, file: !5, type: !91)
235 !179 = !DILocalVariable(name: "Pxi", line: 680, scope: !162, file: !5, type: !20)
236 !180 = !DILocalVariable(name: "Peta", line: 680, scope: !162, file: !5, type: !20)
237 !181 = !DILocalVariable(name: "Pzeta", line: 680, scope: !162, file: !5, type: !20)
238 !182 = !DILocalVariable(name: "temp", line: 680, scope: !162, file: !5, type: !91)
239239 !183 = !DISubprogram(name: "exact_rhs", line: 301, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 301, file: !1, scope: !5, type: !115, variables: !184)
240240 !184 = !{!185, !186, !187, !188, !189, !190, !191, !192, !193, !194, !195, !196, !197, !198, !199}
241 !185 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "dtemp", line: 310, scope: !183, file: !5, type: !91)
242 !186 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xi", line: 310, scope: !183, file: !5, type: !20)
243 !187 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "eta", line: 310, scope: !183, file: !5, type: !20)
244 !188 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "zeta", line: 310, scope: !183, file: !5, type: !20)
245 !189 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "dtpp", line: 310, scope: !183, file: !5, type: !20)
246 !190 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 311, scope: !183, file: !5, type: !8)
247 !191 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 311, scope: !183, file: !5, type: !8)
248 !192 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 311, scope: !183, file: !5, type: !8)
249 !193 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 311, scope: !183, file: !5, type: !8)
250 !194 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "ip1", line: 311, scope: !183, file: !5, type: !8)
251 !195 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "im1", line: 311, scope: !183, file: !5, type: !8)
252 !196 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "jp1", line: 311, scope: !183, file: !5, type: !8)
253 !197 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "jm1", line: 311, scope: !183, file: !5, type: !8)
254 !198 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "km1", line: 311, scope: !183, file: !5, type: !8)
255 !199 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "kp1", line: 311, scope: !183, file: !5, type: !8)
241 !185 = !DILocalVariable(name: "dtemp", line: 310, scope: !183, file: !5, type: !91)
242 !186 = !DILocalVariable(name: "xi", line: 310, scope: !183, file: !5, type: !20)
243 !187 = !DILocalVariable(name: "eta", line: 310, scope: !183, file: !5, type: !20)
244 !188 = !DILocalVariable(name: "zeta", line: 310, scope: !183, file: !5, type: !20)
245 !189 = !DILocalVariable(name: "dtpp", line: 310, scope: !183, file: !5, type: !20)
246 !190 = !DILocalVariable(name: "m", line: 311, scope: !183, file: !5, type: !8)
247 !191 = !DILocalVariable(name: "i", line: 311, scope: !183, file: !5, type: !8)
248 !192 = !DILocalVariable(name: "j", line: 311, scope: !183, file: !5, type: !8)
249 !193 = !DILocalVariable(name: "k", line: 311, scope: !183, file: !5, type: !8)
250 !194 = !DILocalVariable(name: "ip1", line: 311, scope: !183, file: !5, type: !8)
251 !195 = !DILocalVariable(name: "im1", line: 311, scope: !183, file: !5, type: !8)
252 !196 = !DILocalVariable(name: "jp1", line: 311, scope: !183, file: !5, type: !8)
253 !197 = !DILocalVariable(name: "jm1", line: 311, scope: !183, file: !5, type: !8)
254 !198 = !DILocalVariable(name: "km1", line: 311, scope: !183, file: !5, type: !8)
255 !199 = !DILocalVariable(name: "kp1", line: 311, scope: !183, file: !5, type: !8)
256256 !200 = !DISubprogram(name: "adi", line: 210, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 210, file: !1, scope: !5, type: !115, variables: !2)
257257 !201 = !DISubprogram(name: "add", line: 187, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 187, file: !1, scope: !5, type: !115, variables: !202)
258258 !202 = !{!203, !204, !205, !206}
259 !203 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 193, scope: !201, file: !5, type: !8)
260 !204 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 193, scope: !201, file: !5, type: !8)
261 !205 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 193, scope: !201, file: !5, type: !8)
262 !206 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 193, scope: !201, file: !5, type: !8)
259 !203 = !DILocalVariable(name: "i", line: 193, scope: !201, file: !5, type: !8)
260 !204 = !DILocalVariable(name: "j", line: 193, scope: !201, file: !5, type: !8)
261 !205 = !DILocalVariable(name: "k", line: 193, scope: !201, file: !5, type: !8)
262 !206 = !DILocalVariable(name: "m", line: 193, scope: !201, file: !5, type: !8)
263263 !207 = !DISubprogram(name: "z_solve", line: 3457, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 3457, file: !1, scope: !5, type: !115, variables: !2)
264264 !208 = !DISubprogram(name: "z_backsubstitute", line: 3480, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 3480, file: !1, scope: !5, type: !115, variables: !209)
265265 !209 = !{!210, !211, !212, !213, !214}
266 !210 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 3492, scope: !208, file: !5, type: !8)
267 !211 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 3492, scope: !208, file: !5, type: !8)
268 !212 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 3492, scope: !208, file: !5, type: !8)
269 !213 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 3492, scope: !208, file: !5, type: !8)
270 !214 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "n", line: 3492, scope: !208, file: !5, type: !8)
266 !210 = !DILocalVariable(name: "i", line: 3492, scope: !208, file: !5, type: !8)
267 !211 = !DILocalVariable(name: "j", line: 3492, scope: !208, file: !5, type: !8)
268 !212 = !DILocalVariable(name: "k", line: 3492, scope: !208, file: !5, type: !8)
269 !213 = !DILocalVariable(name: "m", line: 3492, scope: !208, file: !5, type: !8)
270 !214 = !DILocalVariable(name: "n", line: 3492, scope: !208, file: !5, type: !8)
271271 !215 = !DISubprogram(name: "z_solve_cell", line: 3512, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 3512, file: !1, scope: !5, type: !115, variables: !216)
272272 !216 = !{!217, !218, !219, !220}
273 !217 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 3527, scope: !215, file: !5, type: !8)
274 !218 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 3527, scope: !215, file: !5, type: !8)
275 !219 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 3527, scope: !215, file: !5, type: !8)
276 !220 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "ksize", line: 3527, scope: !215, file: !5, type: !8)
273 !217 = !DILocalVariable(name: "i", line: 3527, scope: !215, file: !5, type: !8)
274 !218 = !DILocalVariable(name: "j", line: 3527, scope: !215, file: !5, type: !8)
275 !219 = !DILocalVariable(name: "k", line: 3527, scope: !215, file: !5, type: !8)
276 !220 = !DILocalVariable(name: "ksize", line: 3527, scope: !215, file: !5, type: !8)
277277 !221 = !DISubprogram(name: "binvrhs", line: 3154, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 3154, file: !1, scope: !5, type: !222, variables: !225)
278278 !222 = !DISubroutineType(types: !223)
279279 !223 = !{null, !224, !105}
280280 !224 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !91)
281281 !225 = !{!226, !227, !228, !229}
282 !226 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "lhs", line: 3154, arg: 1, scope: !221, file: !5, type: !224)
283 !227 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "r", line: 3154, arg: 2, scope: !221, file: !5, type: !105)
284 !228 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "pivot", line: 3159, scope: !221, file: !5, type: !20)
285 !229 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "coeff", line: 3159, scope: !221, file: !5, type: !20)
282 !226 = !DILocalVariable(name: "lhs", line: 3154, arg: 1, scope: !221, file: !5, type: !224)
283 !227 = !DILocalVariable(name: "r", line: 3154, arg: 2, scope: !221, file: !5, type: !105)
284 !228 = !DILocalVariable(name: "pivot", line: 3159, scope: !221, file: !5, type: !20)
285 !229 = !DILocalVariable(name: "coeff", line: 3159, scope: !221, file: !5, type: !20)
286286 !230 = !DISubprogram(name: "matmul_sub", line: 2841, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 2842, file: !1, scope: !5, type: !231, variables: !233)
287287 !231 = !DISubroutineType(types: !232)
288288 !232 = !{null, !224, !224, !224}
289289 !233 = !{!234, !235, !236, !237}
290 !234 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "ablock", line: 2841, arg: 1, scope: !230, file: !5, type: !224)
291 !235 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "bblock", line: 2841, arg: 2, scope: !230, file: !5, type: !224)
292 !236 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "cblock", line: 2842, arg: 3, scope: !230, file: !5, type: !224)
293 !237 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 2851, scope: !230, file: !5, type: !8)
290 !234 = !DILocalVariable(name: "ablock", line: 2841, arg: 1, scope: !230, file: !5, type: !224)
291 !235 = !DILocalVariable(name: "bblock", line: 2841, arg: 2, scope: !230, file: !5, type: !224)
292 !236 = !DILocalVariable(name: "cblock", line: 2842, arg: 3, scope: !230, file: !5, type: !224)
293 !237 = !DILocalVariable(name: "j", line: 2851, scope: !230, file: !5, type: !8)
294294 !238 = !DISubprogram(name: "matvec_sub", line: 2814, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 2814, file: !1, scope: !5, type: !239, variables: !241)
295295 !239 = !DISubroutineType(types: !240)
296296 !240 = !{null, !224, !105, !105}
297297 !241 = !{!242, !243, !244, !245}
298 !242 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "ablock", line: 2814, arg: 1, scope: !238, file: !5, type: !224)
299 !243 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "avec", line: 2814, arg: 2, scope: !238, file: !5, type: !105)
300 !244 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "bvec", line: 2814, arg: 3, scope: !238, file: !5, type: !105)
301 !245 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2823, scope: !238, file: !5, type: !8)
298 !242 = !DILocalVariable(name: "ablock", line: 2814, arg: 1, scope: !238, file: !5, type: !224)
299 !243 = !DILocalVariable(name: "avec", line: 2814, arg: 2, scope: !238, file: !5, type: !105)
300 !244 = !DILocalVariable(name: "bvec", line: 2814, arg: 3, scope: !238, file: !5, type: !105)
301 !245 = !DILocalVariable(name: "i", line: 2823, scope: !238, file: !5, type: !8)
302302 !246 = !DISubprogram(name: "binvcrhs", line: 2885, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 2885, file: !1, scope: !5, type: !247, variables: !249)
303303 !247 = !DISubroutineType(types: !248)
304304 !248 = !{null, !224, !224, !105}
305305 !249 = !{!250, !251, !252, !253, !254}
306 !250 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "lhs", line: 2885, arg: 1, scope: !246, file: !5, type: !224)
307 !251 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "c", line: 2885, arg: 2, scope: !246, file: !5, type: !224)
308 !252 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "r", line: 2885, arg: 3, scope: !246, file: !5, type: !105)
309 !253 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "pivot", line: 2890, scope: !246, file: !5, type: !20)
310 !254 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "coeff", line: 2890, scope: !246, file: !5, type: !20)
306 !250 = !DILocalVariable(name: "lhs", line: 2885, arg: 1, scope: !246, file: !5, type: !224)
307 !251 = !DILocalVariable(name: "c", line: 2885, arg: 2, scope: !246, file: !5, type: !224)
308 !252 = !DILocalVariable(name: "r", line: 2885, arg: 3, scope: !246, file: !5, type: !105)
309 !253 = !DILocalVariable(name: "pivot", line: 2890, scope: !246, file: !5, type: !20)
310 !254 = !DILocalVariable(name: "coeff", line: 2890, scope: !246, file: !5, type: !20)
311311 !255 = !DISubprogram(name: "lhsz", line: 1475, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 1475, file: !1, scope: !5, type: !115, variables: !256)
312312 !256 = !{!257, !258, !259}
313 !257 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 1484, scope: !255, file: !5, type: !8)
314 !258 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 1484, scope: !255, file: !5, type: !8)
315 !259 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 1484, scope: !255, file: !5, type: !8)
313 !257 = !DILocalVariable(name: "i", line: 1484, scope: !255, file: !5, type: !8)
314 !258 = !DILocalVariable(name: "j", line: 1484, scope: !255, file: !5, type: !8)
315 !259 = !DILocalVariable(name: "k", line: 1484, scope: !255, file: !5, type: !8)
316316 !260 = !DISubprogram(name: "y_solve", line: 3299, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 3299, file: !1, scope: !5, type: !115, variables: !2)
317317 !261 = !DISubprogram(name: "y_backsubstitute", line: 3323, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 3323, file: !1, scope: !5, type: !115, variables: !262)
318318 !262 = !{!263, !264, !265, !266, !267}
319 !263 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 3335, scope: !261, file: !5, type: !8)
320 !264 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 3335, scope: !261, file: !5, type: !8)
321 !265 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 3335, scope: !261, file: !5, type: !8)
322 !266 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 3335, scope: !261, file: !5, type: !8)
323 !267 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "n", line: 3335, scope: !261, file: !5, type: !8)
319 !263 = !DILocalVariable(name: "i", line: 3335, scope: !261, file: !5, type: !8)
320 !264 = !DILocalVariable(name: "j", line: 3335, scope: !261, file: !5, type: !8)
321 !265 = !DILocalVariable(name: "k", line: 3335, scope: !261, file: !5, type: !8)
322 !266 = !DILocalVariable(name: "m", line: 3335, scope: !261, file: !5, type: !8)
323 !267 = !DILocalVariable(name: "n", line: 3335, scope: !261, file: !5, type: !8)
324324 !268 = !DISubprogram(name: "y_solve_cell", line: 3355, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 3355, file: !1, scope: !5, type: !115, variables: !269)
325325 !269 = !{!270, !271, !272, !273}
326 !270 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 3370, scope: !268, file: !5, type: !8)
327 !271 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 3370, scope: !268, file: !5, type: !8)
328 !272 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 3370, scope: !268, file: !5, type: !8)
329 !273 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "jsize", line: 3370, scope: !268, file: !5, type: !8)
326 !270 = !DILocalVariable(name: "i", line: 3370, scope: !268, file: !5, type: !8)
327 !271 = !DILocalVariable(name: "j", line: 3370, scope: !268, file: !5, type: !8)
328 !272 = !DILocalVariable(name: "k", line: 3370, scope: !268, file: !5, type: !8)
329 !273 = !DILocalVariable(name: "jsize", line: 3370, scope: !268, file: !5, type: !8)
330330 !274 = !DISubprogram(name: "lhsy", line: 1181, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 1181, file: !1, scope: !5, type: !115, variables: !275)
331331 !275 = !{!276, !277, !278}
332 !276 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 1190, scope: !274, file: !5, type: !8)
333 !277 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 1190, scope: !274, file: !5, type: !8)
334 !278 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 1190, scope: !274, file: !5, type: !8)
332 !276 = !DILocalVariable(name: "i", line: 1190, scope: !274, file: !5, type: !8)
333 !277 = !DILocalVariable(name: "j", line: 1190, scope: !274, file: !5, type: !8)
334 !278 = !DILocalVariable(name: "k", line: 1190, scope: !274, file: !5, type: !8)
335335 !279 = !DISubprogram(name: "x_solve", line: 2658, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 2658, file: !1, scope: !5, type: !115, variables: !2)
336336 !280 = !DISubprogram(name: "x_backsubstitute", line: 2684, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 2684, file: !1, scope: !5, type: !115, variables: !281)
337337 !281 = !{!282, !283, !284, !285, !286}
338 !282 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2696, scope: !280, file: !5, type: !8)
339 !283 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 2696, scope: !280, file: !5, type: !8)
340 !284 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 2696, scope: !280, file: !5, type: !8)
341 !285 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 2696, scope: !280, file: !5, type: !8)
342 !286 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "n", line: 2696, scope: !280, file: !5, type: !8)
338 !282 = !DILocalVariable(name: "i", line: 2696, scope: !280, file: !5, type: !8)
339 !283 = !DILocalVariable(name: "j", line: 2696, scope: !280, file: !5, type: !8)
340 !284 = !DILocalVariable(name: "k", line: 2696, scope: !280, file: !5, type: !8)
341 !285 = !DILocalVariable(name: "m", line: 2696, scope: !280, file: !5, type: !8)
342 !286 = !DILocalVariable(name: "n", line: 2696, scope: !280, file: !5, type: !8)
343343 !287 = !DISubprogram(name: "x_solve_cell", line: 2716, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 2716, file: !1, scope: !5, type: !115, variables: !288)
344344 !288 = !{!289, !290, !291, !292}
345 !289 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2728, scope: !287, file: !5, type: !8)
346 !290 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 2728, scope: !287, file: !5, type: !8)
347 !291 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 2728, scope: !287, file: !5, type: !8)
348 !292 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "isize", line: 2728, scope: !287, file: !5, type: !8)
345 !289 = !DILocalVariable(name: "i", line: 2728, scope: !287, file: !5, type: !8)
346 !290 = !DILocalVariable(name: "j", line: 2728, scope: !287, file: !5, type: !8)
347 !291 = !DILocalVariable(name: "k", line: 2728, scope: !287, file: !5, type: !8)
348 !292 = !DILocalVariable(name: "isize", line: 2728, scope: !287, file: !5, type: !8)
349349 !293 = !DISubprogram(name: "lhsx", line: 898, isLocal: true, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 898, file: !1, scope: !5, type: !115, variables: !294)
350350 !294 = !{!295, !296, !297}
351 !295 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 907, scope: !293, file: !5, type: !8)
352 !296 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "j", line: 907, scope: !293, file: !5, type: !8)
353 !297 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 907, scope: !293, file: !5, type: !8)
351 !295 = !DILocalVariable(name: "i", line: 907, scope: !293, file: !5, type: !8)
352 !296 = !DILocalVariable(name: "j", line: 907, scope: !293, file: !5, type: !8)
353 !297 = !DILocalVariable(name: "k", line: 907, scope: !293, file: !5, type: !8)
354354 !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}
355355 !299 = !DIGlobalVariable(name: "grid_points", line: 28, isLocal: true, isDefinition: true, scope: null, file: !300, type: !302, variable: [3 x i32]* @grid_points)
356356 !300 = !DIFile(filename: "./header.h", directory: "/home/hfinkel/src/NPB2.3-omp-C/BT")
140140 !88 = !DISubprogram(name: "indexOfMinAbsComponent", linkageName: "_ZNK9ggVector322indexOfMinAbsComponentEv", line: 137, isLocal: false, isDefinition: false, virtualIndex: 6, isOptimized: false, file: !9, scope: !8, type: !86)
141141 !89 = !DISubprogram(name: "indexOfMaxComponent", linkageName: "_ZNK9ggVector319indexOfMaxComponentEv", line: 146, isLocal: false, isDefinition: false, virtualIndex: 6, isOptimized: false, file: !9, scope: !8, type: !86)
142142 !90 = !DISubprogram(name: "indexOfMaxAbsComponent", linkageName: "_ZNK9ggVector322indexOfMaxAbsComponentEv", line: 150, isLocal: false, isDefinition: false, virtualIndex: 6, isOptimized: false, file: !9, scope: !8, type: !86)
143 !91 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "vx", line: 46, scope: !1, file: !4, type: !13)
143 !91 = !DILocalVariable(name: "vx", line: 46, scope: !1, file: !4, type: !13)
144144 !92 = !DILocation(line: 48, scope: !1)
145145 !93 = !DILocation(line: 218, scope: !94, inlinedAt: !96)
146146 !94 = distinct !DILexicalBlock(line: 217, column: 0, file: !101, scope: !95)
7575
7676 declare void @llvm.stackrestore(i8*) nounwind
7777
78 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "s1", line: 2, arg: 1, scope: !1, file: !2, type: !6)
78 !0 = !DILocalVariable(name: "s1", line: 2, arg: 1, scope: !1, file: !2, type: !6)
7979 !1 = !DISubprogram(name: "foo", linkageName: "foo", line: 2, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scope: !2, type: !3)
8080 !2 = !DICompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", isOptimized: true, emissionKind: 0, file: !17, enums: !18, retainedTypes: !18)
8181 !3 = !DISubroutineType(types: !4)
8383 !5 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
8484 !6 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, scope: !2, baseType: !5)
8585 !7 = !DILocation(line: 2, scope: !1)
86 !8 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "str.0", line: 3, scope: !1, file: !2, type: !9)
86 !8 = !DILocalVariable(name: "str.0", line: 3, scope: !1, file: !2, type: !9)
8787 !9 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial, scope: !2, baseType: !10)
8888 !10 = !DICompositeType(tag: DW_TAG_array_type, size: 8, align: 8, scope: !2, baseType: !5, elements: !11)
8989 !11 = !{!12}
2525 !1 = distinct !DILexicalBlock(line: 1, column: 1, file: null, scope: !2)
2626 !2 = !DISubprogram(name: "bar", linkageName: "bar", line: 4, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scope: !3)
2727 !3 = !DICompileUnit(language: DW_LANG_C99, producer: "clang 1.1", isOptimized: true, emissionKind: 0, file: !8, retainedTypes: !9)
28 !4 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "count_", line: 5, scope: !5, file: !3, type: !6)
28 !4 = !DILocalVariable(name: "count_", line: 5, scope: !5, file: !3, type: !6)
2929 !5 = distinct !DILexicalBlock(line: 1, column: 1, file: null, scope: !1)
3030 !6 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
3131 !7 = !DILocation(line: 6, column: 1, scope: !2)
3030 !llvm.dbg.cu = !{!3}
3131 !llvm.module.flags = !{!21}
3232
33 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "my_r0", line: 11, arg: 1, scope: !1, file: !2, type: !7)
33 !0 = !DILocalVariable(name: "my_r0", line: 11, arg: 1, scope: !1, file: !2, type: !7)
3434 !1 = !DISubprogram(name: "foo", linkageName: "foo", line: 11, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scopeLine: 11, file: !19, scope: !2, type: !4, function: double (%struct.Rect*)* @foo)
3535 !2 = !DIFile(filename: "b2.c", directory: "/tmp/")
3636 !3 = !DICompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", isOptimized: false, emissionKind: 0, file: !19, enums: !20, retainedTypes: !20, subprograms: !18)
2323 !5 = !DIBasicType(tag: DW_TAG_base_type, name: "double", size: 64, align: 64, encoding: DW_ATE_float)
2424 !6 = !DIDerivedType(tag: DW_TAG_member, name: "y", line: 1, size: 64, align: 64, offset: 64, file: !15, scope: !2, baseType: !5)
2525 !7 = !DIDerivedType(tag: DW_TAG_member, name: "z", line: 1, size: 64, align: 64, offset: 128, file: !15, scope: !2, baseType: !5)
26 !8 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "t", line: 5, scope: !9, file: !0, type: !2)
26 !8 = !DILocalVariable(name: "t", line: 5, scope: !9, file: !0, type: !2)
2727 !9 = distinct !DILexicalBlock(line: 0, column: 0, file: null, scope: !10)
2828 !10 = !DISubprogram(name: "foo", linkageName: "foo", line: 4, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scope: !0, type: !11)
2929 !11 = !DISubroutineType(types: !12)
198198 !llvm.dbg.cu = !{!3}
199199 !llvm.module.flags = !{!48}
200200
201 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 1921, arg: 1, scope: !1, file: !2, type: !9)
201 !0 = !DILocalVariable(name: "a", line: 1921, arg: 1, scope: !1, file: !2, type: !9)
202202 !1 = !DISubprogram(name: "__divsc3", linkageName: "__divsc3", line: 1922, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, scopeLine: 1922, file: !45, scope: !2, type: !4, function: %0 (float, float, float, float)* @__divsc3, variables: !43)
203203 !2 = !DIFile(filename: "libgcc2.c", directory: "/Users/yash/clean/LG.D/gcc/../../llvmgcc/gcc")
204204 !3 = !DICompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", isOptimized: true, emissionKind: 1, file: !45, enums: !47, retainedTypes: !47, subprograms: !44, imports: null)
209209 !8 = !DIBasicType(tag: DW_TAG_base_type, name: "complex float", size: 64, align: 32, encoding: DW_ATE_complex_float)
210210 !9 = !DIDerivedType(tag: DW_TAG_typedef, name: "SFtype", line: 167, file: !46, scope: !7, baseType: !10)
211211 !10 = !DIBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)
212 !11 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "b", line: 1921, arg: 2, scope: !1, file: !2, type: !9)
213 !12 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "c", line: 1921, arg: 3, scope: !1, file: !2, type: !9)
214 !13 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "d", line: 1921, arg: 4, scope: !1, file: !2, type: !9)
215 !14 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "denom", line: 1923, scope: !15, file: !2, type: !9)
212 !11 = !DILocalVariable(name: "b", line: 1921, arg: 2, scope: !1, file: !2, type: !9)
213 !12 = !DILocalVariable(name: "c", line: 1921, arg: 3, scope: !1, file: !2, type: !9)
214 !13 = !DILocalVariable(name: "d", line: 1921, arg: 4, scope: !1, file: !2, type: !9)
215 !14 = !DILocalVariable(name: "denom", line: 1923, scope: !15, file: !2, type: !9)
216216 !15 = distinct !DILexicalBlock(line: 1922, column: 0, file: !45, scope: !1)
217 !16 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "ratio", line: 1923, scope: !15, file: !2, type: !9)
218 !17 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "x", line: 1923, scope: !15, file: !2, type: !9)
219 !18 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "y", line: 1923, scope: !15, file: !2, type: !9)
217 !16 = !DILocalVariable(name: "ratio", line: 1923, scope: !15, file: !2, type: !9)
218 !17 = !DILocalVariable(name: "x", line: 1923, scope: !15, file: !2, type: !9)
219 !18 = !DILocalVariable(name: "y", line: 1923, scope: !15, file: !2, type: !9)
220220 !19 = !DILocation(line: 1929, scope: !15)
221221 !20 = !DILocation(line: 1931, scope: !15)
222222 !21 = !DILocation(line: 1932, scope: !15)
2727 !1 = !DIFile(filename: "foo.c", directory: "/tmp/")
2828 !2 = !DICompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", isOptimized: true, emissionKind: 1, file: !36, enums: !37, retainedTypes: !37, subprograms: !32, globals: !31, imports: !37)
2929 !3 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
30 !4 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", line: 12, arg: 1, scope: !5, file: !1, type: !3)
30 !4 = !DILocalVariable(name: "x", line: 12, arg: 1, scope: !5, file: !1, type: !3)
3131 !5 = !DISubprogram(name: "foo", linkageName: "foo", line: 13, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, scopeLine: 13, file: !36, scope: !1, type: !6, function: void (i32)* @foo, variables: !33)
3232 !6 = !DISubroutineType(types: !7)
3333 !7 = !{null, !3}
34 !8 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "myvar", line: 17, arg: 1, scope: !9, file: !1, type: !13)
34 !8 = !DILocalVariable(name: "myvar", line: 17, arg: 1, scope: !9, file: !1, type: !13)
3535 !9 = !DISubprogram(name: "bar", linkageName: "bar", line: 17, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, scopeLine: 17, file: !36, scope: !1, type: !10, function: i8* (%struct.a*)* @bar, variables: !34)
3636 !10 = !DISubroutineType(types: !11)
3737 !11 = !{!12, !13}
4141 !15 = !{!16, !17}
4242 !16 = !DIDerivedType(tag: DW_TAG_member, name: "c", line: 3, size: 32, align: 32, file: !36, scope: !14, baseType: !3)
4343 !17 = !DIDerivedType(tag: DW_TAG_member, name: "d", line: 4, size: 64, align: 64, offset: 64, file: !36, scope: !14, baseType: !13)
44 !18 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argc", line: 22, arg: 1, scope: !19, file: !1, type: !3)
44 !18 = !DILocalVariable(name: "argc", line: 22, arg: 1, scope: !19, file: !1, type: !3)
4545 !19 = !DISubprogram(name: "main", linkageName: "main", line: 22, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, scopeLine: 22, file: !36, scope: !1, type: !20, variables: !35)
4646 !20 = !DISubroutineType(types: !21)
4747 !21 = !{!3, !3, !22}
4848 !22 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !36, scope: !1, baseType: !23)
4949 !23 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !36, scope: !1, baseType: !24)
5050 !24 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
51 !25 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argv", line: 22, arg: 2, scope: !19, file: !1, type: !22)
52 !26 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "e", line: 23, scope: !27, file: !1, type: !14)
51 !25 = !DILocalVariable(name: "argv", line: 22, arg: 2, scope: !19, file: !1, type: !22)
52 !26 = !DILocalVariable(name: "e", line: 23, scope: !27, file: !1, type: !14)
5353 !27 = distinct !DILexicalBlock(line: 22, column: 0, file: !36, scope: !19)
5454 !28 = !DILocation(line: 18, scope: !29)
5555 !29 = distinct !DILexicalBlock(line: 17, column: 0, file: !36, scope: !9)
2424 !llvm.dbg.cu = !{!3}
2525 !llvm.module.flags = !{!20}
2626
27 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "y", line: 2, arg: 1, scope: !1, file: !2, type: !6)
27 !0 = !DILocalVariable(name: "y", line: 2, arg: 1, scope: !1, file: !2, type: !6)
2828 !1 = !DISubprogram(name: "foo", linkageName: "foo", line: 2, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, scopeLine: 2, file: !18, scope: !2, type: !4, function: i32 (i32)* @foo, variables: !15)
2929 !2 = !DIFile(filename: "f.c", directory: "/tmp")
3030 !3 = !DICompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", isOptimized: true, emissionKind: 1, file: !18, enums: !19, retainedTypes: !19, subprograms: !17, imports: null)
3131 !4 = !DISubroutineType(types: !5)
3232 !5 = !{!6, !6}
3333 !6 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
34 !7 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", line: 6, arg: 1, scope: !8, file: !2, type: !6)
34 !7 = !DILocalVariable(name: "x", line: 6, arg: 1, scope: !8, file: !2, type: !6)
3535 !8 = !DISubprogram(name: "bar", linkageName: "bar", line: 6, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, scopeLine: 6, file: !18, scope: !2, type: !4, function: i32 (i32)* @bar, variables: !16)
3636 !9 = !DILocation(line: 3, scope: !10)
3737 !10 = distinct !DILexicalBlock(line: 2, column: 0, file: !18, scope: !1)
2222 !llvm.module.flags = !{!34}
2323 !llvm.dbg.lv = !{!0, !14, !15, !16, !17, !24, !25, !28}
2424
25 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 11, arg: 1, scope: !1, file: !3, type: !12)
25 !0 = !DILocalVariable(name: "this", line: 11, arg: 1, scope: !1, file: !3, type: !12)
2626 !1 = !DISubprogram(name: "bar", linkageName: "_ZN3foo3barEi", line: 11, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, scopeLine: 11, file: !31, scope: !2, type: !9, function: i32 (%struct.foo*, i32)* null)
2727 !2 = !DICompositeType(tag: DW_TAG_structure_type, name: "foo", line: 3, size: 32, align: 32, file: !31, scope: !3, elements: !5)
2828 !3 = !DIFile(filename: "foo.cp", directory: "/tmp/")
3636 !11 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial, file: !31, scope: !3, baseType: !2)
3737 !12 = !DIDerivedType(tag: DW_TAG_const_type, size: 64, align: 64, flags: DIFlagArtificial, file: !31, scope: !3, baseType: !13)
3838 !13 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !31, scope: !3, baseType: !2)
39 !14 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", line: 11, arg: 2, scope: !1, file: !3, type: !7)
40 !15 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 15, arg: 1, scope: !8, file: !3, type: !12)
41 !16 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", line: 15, arg: 2, scope: !8, file: !3, type: !7)
42 !17 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argc", line: 19, arg: 1, scope: !18, file: !3, type: !7)
39 !14 = !DILocalVariable(name: "x", line: 11, arg: 2, scope: !1, file: !3, type: !7)
40 !15 = !DILocalVariable(name: "this", line: 15, arg: 1, scope: !8, file: !3, type: !12)
41 !16 = !DILocalVariable(name: "x", line: 15, arg: 2, scope: !8, file: !3, type: !7)
42 !17 = !DILocalVariable(name: "argc", line: 19, arg: 1, scope: !18, file: !3, type: !7)
4343 !18 = !DISubprogram(name: "main", linkageName: "main", line: 19, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, scopeLine: 19, file: !31, scope: !3, type: !19)
4444 !19 = !DISubroutineType(types: !20)
4545 !20 = !{!7, !7, !21}
4646 !21 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !31, scope: !3, baseType: !22)
4747 !22 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !31, scope: !3, baseType: !23)
4848 !23 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
49 !24 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argv", line: 19, arg: 2, scope: !18, file: !3, type: !21)
50 !25 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "a", line: 20, scope: !26, file: !3, type: !2)
49 !24 = !DILocalVariable(name: "argv", line: 19, arg: 2, scope: !18, file: !3, type: !21)
50 !25 = !DILocalVariable(name: "a", line: 20, scope: !26, file: !3, type: !2)
5151 !26 = distinct !DILexicalBlock(line: 19, column: 0, file: !31, scope: !27)
5252 !27 = distinct !DILexicalBlock(line: 19, column: 0, file: !31, scope: !18)
53 !28 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 21, scope: !26, file: !3, type: !7)
53 !28 = !DILocalVariable(name: "b", line: 21, scope: !26, file: !3, type: !7)
5454 !29 = !DILocation(line: 16, scope: !30)
5555 !30 = distinct !DILexicalBlock(line: 15, column: 0, file: !31, scope: !8)
5656 !31 = !DIFile(filename: "foo.cp", directory: "/tmp/")
1111 !99 = !{!100}
1212 !100 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
1313 !101 = !{[2 x i8*]* @C.9.2167}
14 !102 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "find_strings", line: 75, scope: !103, file: !38, type: !104)
14 !102 = !DILocalVariable(name: "find_strings", line: 75, scope: !103, file: !38, type: !104)
1515 !103 = distinct !DILexicalBlock(line: 73, column: 0, file: null, scope: !97)
1616 !104 = !DICompositeType(tag: DW_TAG_array_type, size: 85312, align: 64, file: !109, baseType: !46, elements: !105)
1717 !105 = !{!106}
100100 !20 = !DISubprogram(name: "main", linkageName: "main", line: 23, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scopeLine: 23, file: !47, scope: !2, type: !21, function: i32 ()* @main)
101101 !21 = !DISubroutineType(types: !22)
102102 !22 = !{!13}
103 !23 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "i", line: 16, arg: 1, scope: !17, file: !2, type: !13)
103 !23 = !DILocalVariable(name: "i", line: 16, arg: 1, scope: !17, file: !2, type: !13)
104104 !24 = !DILocation(line: 16, scope: !17)
105 !25 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "location", line: 16, arg: 2, scope: !17, file: !2, type: !26)
105 !25 = !DILocalVariable(name: "location", line: 16, arg: 2, scope: !17, file: !2, type: !26)
106106 !26 = !DIDerivedType(tag: DW_TAG_reference_type, name: "SVal", size: 64, align: 64, file: !47, scope: !2, baseType: !1)
107107 !27 = !DILocation(line: 17, scope: !28)
108108 !28 = distinct !DILexicalBlock(line: 16, column: 0, file: !47, scope: !17)
109109 !29 = !DILocation(line: 18, scope: !28)
110110 !30 = !DILocation(line: 20, scope: !28)
111 !31 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 11, arg: 1, scope: !16, file: !2, type: !32)
111 !31 = !DILocalVariable(name: "this", line: 11, arg: 1, scope: !16, file: !2, type: !32)
112112 !32 = !DIDerivedType(tag: DW_TAG_const_type, size: 64, align: 64, flags: DIFlagArtificial, file: !47, scope: !2, baseType: !33)
113113 !33 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !47, scope: !2, baseType: !1)
114114 !34 = !DILocation(line: 11, scope: !16)
115115 !35 = !DILocation(line: 11, scope: !36)
116116 !36 = distinct !DILexicalBlock(line: 11, column: 0, file: !47, scope: !37)
117117 !37 = distinct !DILexicalBlock(line: 11, column: 0, file: !47, scope: !16)
118 !38 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "v", line: 24, scope: !39, file: !2, type: !1)
118 !38 = !DILocalVariable(name: "v", line: 24, scope: !39, file: !2, type: !1)
119119 !39 = distinct !DILexicalBlock(line: 23, column: 0, file: !47, scope: !40)
120120 !40 = distinct !DILexicalBlock(line: 23, column: 0, file: !47, scope: !20)
121121 !41 = !DILocation(line: 24, scope: !39)
122122 !42 = !DILocation(line: 25, scope: !39)
123123 !43 = !DILocation(line: 26, scope: !39)
124 !44 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 26, scope: !39, file: !2, type: !13)
124 !44 = !DILocalVariable(name: "k", line: 26, scope: !39, file: !2, type: !13)
125125 !45 = !DILocation(line: 27, scope: !39)
126126 !47 = !DIFile(filename: "small.cc", directory: "/Users/manav/R8248330")
127127 !48 = !{}
2323 !3 = !DISubroutineType(types: !4)
2424 !4 = !{!5}
2525 !5 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
26 !6 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "i", line: 3, arg: 1, scope: !0, file: !1, type: !7)
26 !6 = !DILocalVariable(name: "i", line: 3, arg: 1, scope: !0, file: !1, type: !7)
2727 !7 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, file: !17, scope: !1, baseType: !8)
2828 !8 = !DICompositeType(tag: DW_TAG_structure_type, name: "bar", line: 2, size: 64, align: 32, file: !17, scope: !1, elements: !9)
2929 !9 = !{!10, !11}
8787 !7 = !DISubroutineType(types: !8)
8888 !8 = !{!9}
8989 !9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
90 !10 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 5, arg: 1, scope: !0, file: !1, type: !5)
91 !11 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "b", line: 5, arg: 2, scope: !0, file: !1, type: !5)
92 !12 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "c", line: 6, scope: !13, file: !1, type: !5)
90 !10 = !DILocalVariable(name: "a", line: 5, arg: 1, scope: !0, file: !1, type: !5)
91 !11 = !DILocalVariable(name: "b", line: 5, arg: 2, scope: !0, file: !1, type: !5)
92 !12 = !DILocalVariable(name: "c", line: 6, scope: !13, file: !1, type: !5)
9393 !13 = distinct !DILexicalBlock(line: 5, column: 52, file: !31, scope: !0)
94 !14 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "m", line: 26, scope: !15, file: !1, type: !16)
94 !14 = !DILocalVariable(name: "m", line: 26, scope: !15, file: !1, type: !16)
9595 !15 = distinct !DILexicalBlock(line: 25, column: 12, file: !31, scope: !6)
9696 !16 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned)
97 !17 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "z_s", line: 27, scope: !15, file: !1, type: !9)
97 !17 = !DILocalVariable(name: "z_s", line: 27, scope: !15, file: !1, type: !9)
9898 !18 = !DILocation(line: 5, column: 41, scope: !0)
9999 !19 = !DILocation(line: 5, column: 49, scope: !0)
100100 !20 = !DILocation(line: 7, column: 5, scope: !13)
3939
4040 !0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.3 (trunk 168918) (llvm/trunk 168920)", isOptimized: true, emissionKind: 0, file: !11, enums: !2, retainedTypes: !2, subprograms: !13, globals: !2)
4141 !2 = !{}
42 !4 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "hg", line: 725, arg: 4, scope: !14, file: !5, type: !6)
42 !4 = !DILocalVariable(name: "hg", line: 725, arg: 4, scope: !14, file: !5, type: !6)
4343 !5 = !DIFile(filename: "MultiSource/Benchmarks/Olden/bh/newbh.c", directory: "MultiSource/Benchmarks/Olden/bh")
4444 !6 = !DIDerivedType(tag: DW_TAG_typedef, name: "hgstruct", line: 492, file: !11, baseType: !7)
4545 !7 = !DICompositeType(tag: DW_TAG_structure_type, line: 487, size: 512, align: 64, file: !11)
6767 !0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.3 (trunk 168918) (llvm/trunk 168920)", isOptimized: true, emissionKind: 0, file: !19, enums: !2, retainedTypes: !2, subprograms: !20, globals: !2)
6868 !1 = !{!2}
6969 !2 = !{}
70 !4 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "num1", line: 815, scope: !5, file: !14, type: !15)
70 !4 = !DILocalVariable(name: "num1", line: 815, scope: !5, file: !14, type: !15)
7171 !5 = distinct !DILexicalBlock(line: 815, column: 0, file: !14, scope: !6)
7272 !6 = distinct !DILexicalBlock(line: 812, column: 0, file: !14, scope: !7)
7373 !7 = distinct !DILexicalBlock(line: 807, column: 0, file: !14, scope: !8)
134134 !llvm.dbg.cu = !{!30}
135135
136136 !30 = !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.3 (trunk 169129) (llvm/trunk 169135)", isOptimized: true, emissionKind: 0, file: !34, enums: !2, retainedTypes: !2, subprograms: !36)
137 !31 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "X", line: 29, scope: !37, type: !32)
137 !31 = !DILocalVariable(name: "X", line: 29, scope: !37, type: !32)
138138 !32 = !DIDerivedType(tag: DW_TAG_typedef, name: "HM", line: 28, file: !34, baseType: null)
139139 !33 = !DIFile(filename: "SingleSource/Benchmarks/Shootout-C++/hash.cpp", directory: "SingleSource/Benchmarks/Shootout-C++")
140140 !34 = !DIFile(filename: "SingleSource/Benchmarks/Shootout-C++/hash.cpp", directory: "SingleSource/Benchmarks/Shootout-C++")
3838 !0 = !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.3 (trunk 168984) (llvm/trunk 168983)", isOptimized: true, emissionKind: 0, file: !6, subprograms: !1)
3939 !1 = !{!2}
4040 !2 = !DISubprogram(name: "test", isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 1, file: !6, scope: !5, type: !7, function: void ()* @test)
41 !3 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "callback", line: 214, scope: !2, type: !4)
41 !3 = !DILocalVariable(name: "callback", line: 214, scope: !2, type: !4)
4242 !4 = !DICompositeType(tag: DW_TAG_structure_type, name: "btCompoundLeafCallback", line: 90, size: 512, align: 64, file: !6)
4343 !5 = !DIFile(filename: "MultiSource/Benchmarks/Bullet/btCompoundCollisionAlgorithm.cpp", directory: "MultiSource/Benchmarks/Bullet")
4444 !6 = !DIFile(filename: "MultiSource/Benchmarks/Bullet/btCompoundCollisionAlgorithm.cpp", directory: "MultiSource/Benchmarks/Bullet")
3333 !3 = !DISubroutineType(types: !4)
3434 !4 = !{!5}
3535 !5 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
36 !6 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "i", line: 2, arg: 1, scope: !1, file: !2, type: !5)
37 !7 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "c", line: 2, arg: 2, scope: !1, file: !2, type: !8)
36 !6 = !DILocalVariable(name: "i", line: 2, arg: 1, scope: !1, file: !2, type: !5)
37 !7 = !DILocalVariable(name: "c", line: 2, arg: 2, scope: !1, file: !2, type: !8)
3838 !8 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, scope: !0, baseType: !9)
3939 !9 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
40 !10 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "a", line: 3, scope: !11, file: !2, type: !9)
40 !10 = !DILocalVariable(name: "a", line: 3, scope: !11, file: !2, type: !9)
4141 !11 = distinct !DILexicalBlock(line: 2, column: 25, file: !20, scope: !1)
4242 !12 = !DILocation(line: 2, column: 13, scope: !1)
4343 !13 = !DILocation(line: 2, column: 22, scope: !1)
3030 !1 = !DIFile(filename: "t.c", directory: "")
3131 !16 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
3232 !2 = !DISubprogram()
33 !22 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "x", line: 16, scope: !2, file: !1, type: !16)
33 !22 = !DILocalVariable(name: "x", line: 16, scope: !2, file: !1, type: !16)
3434 !23 = !{i32 1, !"Debug Info Version", i32 3}
142142 !27 = !{null, !28, !28}
143143 !28 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
144144 !29 = !{!30, !31, !32, !33, !34}
145 !30 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "param1", line: 11, arg: 1, scope: !24, file: !25, type: !28)
146 !31 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "param2", line: 11, arg: 2, scope: !24, file: !25, type: !28)
147 !32 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "temp", line: 12, scope: !24, file: !25, type: !15)
148 !33 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "var1", line: 17, scope: !24, file: !25, type: !"_ZTS4AAA3")
149 !34 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "var2", line: 18, scope: !24, file: !25, type: !"_ZTS4AAA3")
145 !30 = !DILocalVariable(name: "param1", line: 11, arg: 1, scope: !24, file: !25, type: !28)
146 !31 = !DILocalVariable(name: "param2", line: 11, arg: 2, scope: !24, file: !25, type: !28)
147 !32 = !DILocalVariable(name: "temp", line: 12, scope: !24, file: !25, type: !15)
148 !33 = !DILocalVariable(name: "var1", line: 17, scope: !24, file: !25, type: !"_ZTS4AAA3")
149 !34 = !DILocalVariable(name: "var2", line: 18, scope: !24, file: !25, type: !"_ZTS4AAA3")
150150 !35 = !DISubprogram(name: "operator=", linkageName: "_ZN4AAA3aSEPKc", line: 6, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 6, file: !1, scope: !"_ZTS4AAA3", type: !12, declaration: !17, variables: !36)
151151 !36 = !{!37, !39}
152 !37 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !35, type: !38)
152 !37 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !35, type: !38)
153153 !38 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !"_ZTS4AAA3")
154 !39 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "value", line: 6, arg: 2, scope: !35, file: !25, type: !15)
154 !39 = !DILocalVariable(name: "value", line: 6, arg: 2, scope: !35, file: !25, type: !15)
155155 !40 = !DISubprogram(name: "AAA3", linkageName: "_ZN4AAA3C2EPKc", line: 5, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 5, file: !1, scope: !"_ZTS4AAA3", type: !12, declaration: !11, variables: !41)
156156 !41 = !{!42, !43}
157 !42 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !40, type: !38)
158 !43 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "value", line: 5, arg: 2, scope: !40, file: !25, type: !15)
157 !42 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !40, type: !38)
158 !43 = !DILocalVariable(name: "value", line: 5, arg: 2, scope: !40, file: !25, type: !15)
159159 !44 = !{i32 2, !"Dwarf Version", i32 4}
160160 !45 = !{i32 2, !"Debug Info Version", i32 3}
161161 !46 = !{!"clang version 3.5.0 "}
168168 !53 = distinct !DILexicalBlock(line: 14, column: 0, file: !1, scope: !51)
169169 !54 = !DILocation(line: 16, scope: !53)
170170 !55 = !DILocation(line: 17, scope: !24)
171 !56 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !40, type: !38)
171 !56 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !40, type: !38)
172172 !57 = !DILocation(line: 0, scope: !40, inlinedAt: !55)
173173 !58 = !{i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i64 0, i64 0)}
174 !59 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "value", line: 5, arg: 2, scope: !40, file: !25, type: !15)
174 !59 = !DILocalVariable(name: "value", line: 5, arg: 2, scope: !40, file: !25, type: !15)
175175 !60 = !DILocation(line: 5, scope: !40, inlinedAt: !55)
176176 !61 = !DILocation(line: 5, scope: !62, inlinedAt: !55)
177177 !62 = distinct !DILexicalBlock(line: 5, column: 0, file: !1, scope: !40)
178178 !63 = !DILocation(line: 18, scope: !24)
179 !64 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !40, type: !38)
179 !64 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !40, type: !38)
180180 !65 = !DILocation(line: 0, scope: !40, inlinedAt: !63)
181 !66 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "value", line: 5, arg: 2, scope: !40, file: !25, type: !15)
181 !66 = !DILocalVariable(name: "value", line: 5, arg: 2, scope: !40, file: !25, type: !15)
182182 !67 = !DILocation(line: 5, scope: !40, inlinedAt: !63)
183183 !68 = !DILocation(line: 5, scope: !62, inlinedAt: !63)
184184 !69 = !DILocation(line: 20, scope: !70)
185185 !70 = distinct !DILexicalBlock(line: 20, column: 0, file: !1, scope: !24)
186 !71 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !35, type: !38)
186 !71 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !35, type: !38)
187187 !72 = !DILocation(line: 21, scope: !70)
188188 !73 = !DILocation(line: 0, scope: !35, inlinedAt: !72)
189189 !74 = !{i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str1, i64 0, i64 0)}
190 !75 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "value", line: 6, arg: 2, scope: !35, file: !25, type: !15)
190 !75 = !DILocalVariable(name: "value", line: 6, arg: 2, scope: !35, file: !25, type: !15)
191191 !76 = !DILocation(line: 6, scope: !35, inlinedAt: !72)
192 !77 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !35, type: !38)
192 !77 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !35, type: !38)
193193 !78 = !DILocation(line: 23, scope: !70)
194194 !79 = !DILocation(line: 0, scope: !35, inlinedAt: !78)
195195 !80 = !{i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str2, i64 0, i64 0)}
196 !81 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "value", line: 6, arg: 2, scope: !35, file: !25, type: !15)
196 !81 = !DILocalVariable(name: "value", line: 6, arg: 2, scope: !35, file: !25, type: !15)
197197 !82 = !DILocation(line: 6, scope: !35, inlinedAt: !78)
198 !83 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !35, type: !38)
198 !83 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !35, type: !38)
199199 !84 = !DILocation(line: 24, scope: !24)
200200 !85 = !DILocation(line: 0, scope: !35, inlinedAt: !84)
201 !86 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "value", line: 6, arg: 2, scope: !35, file: !25, type: !15)
201 !86 = !DILocalVariable(name: "value", line: 6, arg: 2, scope: !35, file: !25, type: !15)
202202 !87 = !DILocation(line: 6, scope: !35, inlinedAt: !84)
203203 !88 = !DILocation(line: 25, scope: !24)
7777
7878 !17 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: null)
7979 !45 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: null)
80 !62 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "arg", line: 4, arg: 2, scope: !DISubprogram(), type: !17)
80 !62 = !DILocalVariable(name: "arg", line: 4, arg: 2, scope: !DISubprogram(), type: !17)
8181 !64 = !{%struct.Flibble* undef}
82 !65 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 13, arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !DISubprogram(), type: !45)
82 !65 = !DILocalVariable(name: "this", line: 13, arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !DISubprogram(), type: !45)
8585 !9 = !{i32 2, !"Dwarf Version", i32 4}
8686 !10 = !{i32 2, !"Debug Info Version", i32 3}
8787 !11 = !{!"clang version 3.7.0 (trunk 227074)"}
88 !12 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "elems", line: 3, scope: !4, file: !5, type: !8)
88 !12 = !DILocalVariable(name: "elems", line: 3, scope: !4, file: !5, type: !8)
8989 !13 = !DIExpression()
9090 !14 = !DILocation(line: 3, column: 8, scope: !4)
9191 !15 = !DILocation(line: 4, column: 15, scope: !4)
9292 !16 = !DILocation(line: 4, column: 4, scope: !4)
93 !17 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "array1", line: 4, scope: !4, file: !5, type: !18)
93 !17 = !DILocalVariable(name: "array1", line: 4, scope: !4, file: !5, type: !18)
9494 !18 = !DICompositeType(tag: DW_TAG_array_type, align: 32, baseType: !8, elements: !19)
9595 !19 = !{!20}
9696 !20 = !DISubrange(count: -1)
104104 !28 = !DILocation(line: 7, column: 13, scope: !4)
105105 !29 = !DILocation(line: 8, column: 15, scope: !4)
106106 !30 = !DILocation(line: 8, column: 4, scope: !4)
107 !31 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "array2", line: 8, scope: !4, file: !5, type: !18)
107 !31 = !DILocalVariable(name: "array2", line: 8, scope: !4, file: !5, type: !18)
108108 !32 = !DILocation(line: 8, column: 8, scope: !4)
109109 !33 = !DILocation(line: 9, column: 4, scope: !4)
110110 !34 = !DILocation(line: 9, column: 13, scope: !4)
5353 !8 = !{null, !9, !9}
5454 !9 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned)
5555 !10 = !{!11, !12, !13, !18, !20}
56 !11 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "", line: 11, arg: 1, scope: !4, file: !6, type: !9)
57 !12 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "", line: 11, arg: 2, scope: !4, file: !6, type: !9)
58 !13 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "x", line: 14, scope: !4, file: !6, type: !14)
56 !11 = !DILocalVariable(name: "", line: 11, arg: 1, scope: !4, file: !6, type: !9)
57 !12 = !DILocalVariable(name: "", line: 11, arg: 2, scope: !4, file: !6, type: !9)
58 !13 = !DILocalVariable(name: "x", line: 14, scope: !4, file: !6, type: !14)
5959 !14 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpu_extended", line: 3, file: !5, baseType: !15)
6060 !15 = !DIDerivedType(tag: DW_TAG_typedef, name: "fpu_register", line: 2, file: !5, baseType: !16)
6161 !16 = !DIDerivedType(tag: DW_TAG_typedef, name: "uae_f64", line: 1, file: !5, baseType: !17)
6262 !17 = !DIBasicType(tag: DW_TAG_base_type, name: "double", size: 64, align: 64, encoding: DW_ATE_float)
63 !18 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "a", line: 15, scope: !4, file: !6, type: !19)
63 !18 = !DILocalVariable(name: "a", line: 15, scope: !4, file: !6, type: !19)
6464 !19 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
65 !20 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "value", line: 16, scope: !4, file: !6, type: !14)
65 !20 = !DILocalVariable(name: "value", line: 16, scope: !4, file: !6, type: !14)
6666 !21 = !{!22, !23}
6767 !22 = !DIGlobalVariable(name: "g1", line: 5, isLocal: false, isDefinition: true, scope: null, file: !6, type: !14, variable: double* @g1)
6868 !23 = !DIGlobalVariable(name: "g2", line: 6, isLocal: false, isDefinition: true, scope: null, file: !6, type: !19, variable: i32* @g2)
5555 !2 = !{i32 2, !"Debug Info Version", i32 3}
5656 !3 = !DISubprogram(linkageName: "foo", file: !1, line: 18, isLocal: false, isDefinition: true, scopeLine: 18, function: void (%struct.A*)* @foo)
5757 !4 = !DIExpression()
58 !5 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, scope: !3, flags: DIFlagArtificial | DIFlagObjectPointer)
58 !5 = !DILocalVariable(name: "this", arg: 1, scope: !3, flags: DIFlagArtificial | DIFlagObjectPointer)
5959 !6 = !DILocation(line: 0, scope: !3)
6060
6161
7979 !15 = !DISubroutineType(types: !16)
8080 !16 = !{null}
8181 !17 = !{!18, !19}
82 !18 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "c", line: 7, scope: !13, file: !14, type: !"_ZTS1C")
83 !19 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "lc", line: 8, scope: !13, file: !14, type: !11)
82 !18 = !DILocalVariable(name: "c", line: 7, scope: !13, file: !14, type: !"_ZTS1C")
83 !19 = !DILocalVariable(name: "lc", line: 8, scope: !13, file: !14, type: !11)
8484 !20 = !{!21}
8585 !21 = !DIGlobalVariable(name: "argc", line: 1, isLocal: false, isDefinition: true, scope: null, file: !14, type: !11, variable: i8* @argc)
8686 !22 = !{i32 2, !"Dwarf Version", i32 4}
3939 !12 = !{!13}
4040 !13 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
4141 !14 = !{!15, !19}
42 !15 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 28, scope: !9, file: !10, type: !16)
42 !15 = !DILocalVariable(name: "b", line: 28, scope: !9, file: !10, type: !16)
4343 !16 = !DICompositeType(tag: DW_TAG_structure_type, name: "B", line: 16, size: 32, align: 32, file: !1, elements: !17)
4444 !17 = !{!18}
4545 !18 = !DIDerivedType(tag: DW_TAG_member, name: "end_of_file", line: 17, size: 32, align: 32, file: !1, scope: !16, baseType: !13)
46 !19 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "c", line: 29, scope: !9, file: !10, type: !13)
46 !19 = !DILocalVariable(name: "c", line: 29, scope: !9, file: !10, type: !13)
4747 !20 = !{}
4848 !21 = !{i32 2, !"Dwarf Version", i32 2}
4949 !22 = !{i64* getelementptr inbounds ({ i64, [56 x i8] }, { i64, [56 x i8] }* @a, i32 0, i32 0)}
50 !23 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p2", line: 12, arg: 2, scope: !24, file: !10, type: !32)
50 !23 = !DILocalVariable(name: "p2", line: 12, arg: 2, scope: !24, file: !10, type: !32)
5151 !24 = !DISubprogram(name: "min", linkageName: "_ZN3__13minIyEERKT_S3_RS1_", line: 12, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 12, file: !1, scope: !25, type: !27, templateParams: !33, variables: !35)
5252 !25 = !DINamespace(name: "__1", line: 1, file: !26, scope: null)
5353 !26 = !DIFile(filename: "main.cpp", directory: "/Users/matt/ryan_bug")
6060 !33 = !{!34}
6161 !34 = !DITemplateTypeParameter(name: "_Tp", type: !31)
6262 !35 = !{!36, !37}
63 !36 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p1", line: 12, arg: 1, scope: !24, file: !10, type: !29)
64 !37 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p2", line: 12, arg: 2, scope: !24, file: !10, type: !32)
63 !36 = !DILocalVariable(name: "p1", line: 12, arg: 1, scope: !24, file: !10, type: !29)
64 !37 = !DILocalVariable(name: "p2", line: 12, arg: 2, scope: !24, file: !10, type: !32)
6565 !38 = !DILocation(line: 33, scope: !9)
6666 !39 = !DILocation(line: 12, scope: !24, inlinedAt: !38)
6767 !40 = !DILocation(line: 9, scope: !41, inlinedAt: !59)
7979 !53 = !{!34, !54}
8080 !54 = !DITemplateTypeParameter(name: "_Compare", type: !44)
8181 !55 = !{!56, !57, !58}
82 !56 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p1", line: 7, arg: 1, scope: !41, file: !10, type: !29)
83 !57 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p2", line: 7, arg: 2, scope: !41, file: !10, type: !32)
84 !58 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p3", line: 8, arg: 3, scope: !41, file: !10, type: !44)
82 !56 = !DILocalVariable(name: "p1", line: 7, arg: 1, scope: !41, file: !10, type: !29)
83 !57 = !DILocalVariable(name: "p2", line: 7, arg: 2, scope: !41, file: !10, type: !32)
84 !58 = !DILocalVariable(name: "p3", line: 8, arg: 3, scope: !41, file: !10, type: !44)
8585 !59 = !DILocation(line: 13, scope: !24, inlinedAt: !38)
8686 !63 = !{i32 undef}
87 !64 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p1", line: 1, arg: 2, scope: !65, file: !10, type: !50)
87 !64 = !DILocalVariable(name: "p1", line: 1, arg: 2, scope: !65, file: !10, type: !50)
8888 !65 = !DISubprogram(name: "operator()", linkageName: "_ZN3__11AclERKiS2_", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 2, file: !1, scope: !25, type: !47, declaration: !46, variables: !66)
8989 !66 = !{!67, !69, !70}
90 !67 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !65, type: !68)
90 !67 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !65, type: !68)
9191 !68 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !44)
92 !69 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p1", line: 1, arg: 2, scope: !65, file: !10, type: !50)
93 !70 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "", line: 2, arg: 3, scope: !65, file: !10, type: !50)
92 !69 = !DILocalVariable(name: "p1", line: 1, arg: 2, scope: !65, file: !10, type: !50)
93 !70 = !DILocalVariable(name: "", line: 2, arg: 3, scope: !65, file: !10, type: !50)
9494 !71 = !DILocation(line: 1, scope: !65, inlinedAt: !40)
9595 !72 = !{i32 1, !"Debug Info Version", i32 3}
2020 !llvm.dbg.cu = !{!3}
2121 !llvm.module.flags = !{!12}
2222
23 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", line: 1, arg: 2, scope: !1, file: !2, type: !6)
23 !0 = !DILocalVariable(name: "x", line: 1, arg: 2, scope: !1, file: !2, type: !6)
2424 !1 = !DISubprogram(name: "foo", linkageName: "foo", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scopeLine: 1, file: !10, scope: !2, type: !4, function: i32 (i32, i32, i32, i32)* @foo)
2525 !2 = !DIFile(filename: "test.c", directory: "/dir")
2626 !3 = !DICompileUnit(language: DW_LANG_C99, producer: "producer", isOptimized: false, emissionKind: 0, file: !10, enums: !11, retainedTypes: !11, subprograms: !9)
3232 !8 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
3333 !9 = !{i32 2, !"Dwarf Version", i32 4}
3434 !10 = !{i32 2, !"Debug Info Version", i32 3}
35 !11 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 2, arg: 1, scope: !4, file: !1, type: !8)
35 !11 = !DILocalVariable(name: "a", line: 2, arg: 1, scope: !4, file: !1, type: !8)
3636 !12 = !DILocation(line: 2, scope: !4)
3737
2020 !7 = !DISubroutineType(types: !8)
2121 !8 = !{null}
2222 !9 = !{!11}
23 !11 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "i", line: 3, arg: 1, scope: !5, file: !17, type: !12)
23 !11 = !DILocalVariable(name: "i", line: 3, arg: 1, scope: !5, file: !17, type: !12)
2424 !12 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
2525 !13 = !DILocation(line: 3, column: 14, scope: !5)
2626 !14 = !DILocation(line: 4, column: 3, scope: !15)
88 ret void
99 }
1010
11 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "sy", line: 890, arg: 1, scope: !1, file: !2, type: !7)
11 !0 = !DILocalVariable(name: "sy", line: 890, arg: 1, scope: !1, file: !2, type: !7)
1212 !1 = !DISubprogram(name: "foo", linkageName: "foo", line: 892, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, file: !8, scope: !3, type: !4)
1313 !2 = !DIFile(filename: "qpainter.h", directory: "QtGui")
1414 !3 = !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang 1.1", isOptimized: true, emissionKind: 0, file: !9, enums: !10, retainedTypes: !10)
1111 !2 = !DICompileUnit(language: DW_LANG_Mips_Assembler, producer: "clang version 3.3 ", isOptimized: false, emissionKind: 1, file: !4, enums: !3, retainedTypes: !3, subprograms: !3, globals: !3, imports: !3)
1212 !3 = !{}
1313 !0 = !DILocation(line: 662302, column: 26, scope: !1)
14 !1 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "foo", scope: !6)
14 !1 = !DILocalVariable(name: "foo", scope: !6)
1515 !4 = !DIFile(filename: "scratch.cpp", directory: "/usr/local/google/home/blaikie/dev/scratch")
1616 !6 = !DISubprogram()
1717
3838 !llvm.dbg.cu = !{!5}
3939 !llvm.module.flags = !{!28}
4040
41 !0 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "s1", line: 3, scope: !1, file: !4, type: !9)
41 !0 = !DILocalVariable(name: "s1", line: 3, scope: !1, file: !4, type: !9)
4242 !1 = distinct !DILexicalBlock(line: 3, column: 0, file: !25, scope: !2)
4343 !2 = distinct !DILexicalBlock(line: 3, column: 0, file: !25, scope: !3)
4444 !3 = !DISubprogram(name: "bar", linkageName: "_Z3barv", line: 3, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scopeLine: 3, file: !25, scope: !4, type: !6, function: i32 ()* @_Z3barv)
5656 !15 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial, file: !25, scope: !4, baseType: !9)
5757 !16 = !DILocation(line: 3, scope: !1)
5858 !17 = !DILocation(line: 3, scope: !3)
59 !18 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 3, arg: 1, scope: !12, file: !10, type: !19)
59 !18 = !DILocalVariable(name: "this", line: 3, arg: 1, scope: !12, file: !10, type: !19)
6060 !19 = !DIDerivedType(tag: DW_TAG_const_type, size: 64, align: 64, flags: DIFlagArtificial, file: !25, scope: !4, baseType: !20)
6161 !20 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, file: !25, scope: !4, baseType: !9)
6262 !21 = !DILocation(line: 3, scope: !12)
6969 !llvm.module.flags = !{!40}
7070 !37 = !{!2, !10, !23}
7171
72 !0 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "b", line: 16, scope: !1, file: !3, type: !8)
72 !0 = !DILocalVariable(name: "b", line: 16, scope: !1, file: !3, type: !8)
7373 !1 = distinct !DILexicalBlock(line: 15, column: 12, file: !38, scope: !2)
7474 !2 = !DISubprogram(name: "main", linkageName: "main", line: 15, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scopeLine: 15, file: !38, scope: !3, type: !5, function: i32 ()* @main)
7575 !3 = !DIFile(filename: "one.cc", directory: "/tmp")
8686 !14 = !DILocation(line: 16, column: 5, scope: !1)
8787 !15 = !DILocation(line: 17, column: 3, scope: !1)
8888 !16 = !DILocation(line: 18, column: 1, scope: !2)
89 !17 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 4, arg: 1, scope: !10, file: !3, type: !13)
89 !17 = !DILocalVariable(name: "this", line: 4, arg: 1, scope: !10, file: !3, type: !13)
9090 !18 = !DILocation(line: 4, column: 7, scope: !10)
91 !19 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "a", line: 9, scope: !20, file: !3, type: !21)
91 !19 = !DILocalVariable(name: "a", line: 9, scope: !20, file: !3, type: !21)
9292 !20 = distinct !DILexicalBlock(line: 4, column: 12, file: !38, scope: !10)
9393 !21 = !DICompositeType(tag: DW_TAG_class_type, name: "A", line: 5, size: 8, align: 8, file: !38, scope: !10, elements: !22)
9494 !22 = !{!23}
9797 !25 = !{!7, !26}
9898 !26 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial, file: !38, scope: !3, baseType: !21)
9999 !27 = !DILocation(line: 9, column: 7, scope: !20)
100 !28 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 10, scope: !20, file: !3, type: !7)
100 !28 = !DILocalVariable(name: "i", line: 10, scope: !20, file: !3, type: !7)
101101 !29 = !DILocation(line: 10, column: 9, scope: !20)
102102 !30 = !DILocation(line: 10, column: 5, scope: !20)
103103 !31 = !DILocation(line: 11, column: 5, scope: !20)
104104 !32 = !DILocation(line: 12, column: 3, scope: !10)
105 !33 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 7, arg: 1, scope: !23, file: !3, type: !26)
105 !33 = !DILocalVariable(name: "this", line: 7, arg: 1, scope: !23, file: !3, type: !26)
106106 !34 = !DILocation(line: 7, column: 11, scope: !23)
107107 !35 = !DILocation(line: 7, column: 19, scope: !36)
108108 !36 = distinct !DILexicalBlock(line: 7, column: 17, file: !38, scope: !23)
1717
1818 !llvm.dbg.cu = !{!3}
1919 !llvm.module.flags = !{!19}
20 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "userUPP", line: 7, arg: 1, scope: !1, file: !2, type: !6)
20 !0 = !DILocalVariable(name: "userUPP", line: 7, arg: 1, scope: !1, file: !2, type: !6)
2121 !1 = !DISubprogram(name: "DisposeDMNotificationUPP", linkageName: "DisposeDMNotificationUPP", line: 7, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, file: !16, scope: null, type: !4)
2222 !2 = !DIFile(filename: "t.c", directory: "/Users/echeng/LLVM/radars/r7937664/")
2323 !3 = !DICompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build 9999)", isOptimized: true, emissionKind: 0, file: !16, enums: !17, retainedTypes: !17, subprograms: !18)
5757 !5 = !DISubroutineType(types: !6)
5858 !6 = !{null}
5959 !7 = !DILocation(line: 810, scope: !1)
60 !8 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "data", line: 201, arg: 1, scope: !9, file: !10, type: !11)
60 !8 = !DILocalVariable(name: "data", line: 201, arg: 1, scope: !9, file: !10, type: !11)
6161 !9 = !DISubprogram(name: "_OSSwapInt64", linkageName: "_OSSwapInt64", line: 202, isLocal: true, isDefinition: true, virtualIndex: 6, isOptimized: false, file: !10, scope: null, type: !5)
6262 !10 = !DIFile(filename: "OSByteOrder.h", directory: "/usr/include/libkern/ppc")
6363 !11 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", line: 59, file: !36, scope: !3, baseType: !13)
6464 !12 = !DIFile(filename: "stdint.h", directory: "/usr/4.2.1/include")
6565 !13 = !DIBasicType(tag: DW_TAG_base_type, name: "long long unsigned int", size: 64, align: 64, encoding: DW_ATE_unsigned)
6666 !14 = !DILocation(line: 202, scope: !9, inlinedAt: !7)
67 !15 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "base", line: 92, arg: 2, scope: !16, file: !10, type: !17)
67 !15 = !DILocalVariable(name: "base", line: 92, arg: 2, scope: !16, file: !10, type: !17)
6868 !16 = !DISubprogram(name: "OSReadSwapInt64", linkageName: "OSReadSwapInt64", line: 95, isLocal: true, isDefinition: true, virtualIndex: 6, isOptimized: false, file: !38, scope: null, type: !5)
6969 !17 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, file: !39, scope: !3, baseType: null)
7070 !18 = !{}
71 !19 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "byteOffset", line: 94, arg: 3, scope: !16, file: !10, type: !20)
71 !19 = !DILocalVariable(name: "byteOffset", line: 94, arg: 3, scope: !16, file: !10, type: !20)
7272 !20 = !DIDerivedType(tag: DW_TAG_typedef, name: "uintptr_t", line: 114, file: !37, scope: !3, baseType: !22)
7373 !21 = !DIFile(filename: "types.h", directory: "/usr/include/ppc")
7474 !22 = !DIBasicType(tag: DW_TAG_base_type, name: "long unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned)
75 !23 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "u", line: 100, scope: !24, file: !10, type: !25)
75 !23 = !DILocalVariable(name: "u", line: 100, scope: !24, file: !10, type: !25)
7676 !24 = distinct !DILexicalBlock(line: 95, column: 0, file: !38, scope: !16)
7777 !25 = !DICompositeType(tag: DW_TAG_union_type, line: 97, size: 64, align: 64, file: !38, scope: !16, elements: !26)
7878 !26 = !{!27, !28}
8383 !31 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned)
8484 !32 = !{!33}
8585 !33 = !DISubrange(count: 2)
86 !34 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "addr", line: 96, scope: !24, file: !10, type: !35)
86 !34 = !DILocalVariable(name: "addr", line: 96, scope: !24, file: !10, type: !35)
8787 !35 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, file: !39, scope: !3, baseType: !11)
8888 !36 = !DIFile(filename: "stdint.h", directory: "/usr/4.2.1/include")
8989 !37 = !DIFile(filename: "types.h", directory: "/usr/include/ppc")
3333 !6 = !DISubprogram(name: "bar", linkageName: "bar", line: 14, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, file: !27, scope: !1, type: !7, function: i32 ()* @bar)
3434 !7 = !DISubroutineType(types: !8)
3535 !8 = !{!5}
36 !9 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "j", line: 9, arg: 1, scope: !0, file: !1, type: !5)
37 !10 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xyz", line: 10, scope: !11, file: !1, type: !12)
36 !9 = !DILocalVariable(name: "j", line: 9, arg: 1, scope: !0, file: !1, type: !5)
37 !10 = !DILocalVariable(name: "xyz", line: 10, scope: !11, file: !1, type: !12)
3838
39 !59 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "j", line: 9, arg: 1, scope: !0, file: !1, type: !5)
40 !60 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xyz", line: 10, scope: !11, file: !1, type: !12)
39 !59 = !DILocalVariable(name: "j", line: 9, arg: 1, scope: !0, file: !1, type: !5)
40 !60 = !DILocalVariable(name: "xyz", line: 10, scope: !11, file: !1, type: !12)
4141
4242 !11 = distinct !DILexicalBlock(line: 9, column: 0, file: !1, scope: !0)
4343 !12 = !DICompositeType(tag: DW_TAG_structure_type, name: "X", line: 10, size: 64, align: 32, file: !27, scope: !0, elements: !13)
1818 !4 = !{!5}
1919 !5 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
2020 !6 = !DISubprogram(name: "foo", linkageName: "foo", line: 7, isLocal: true, isDefinition: true, virtualIndex: 6, isOptimized: true, file: !12, scope: !1, type: !3)
21 !7 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "one", line: 8, scope: !8, file: !1, type: !5)
21 !7 = !DILocalVariable(name: "one", line: 8, scope: !8, file: !1, type: !5)
2222 !8 = distinct !DILexicalBlock(line: 7, column: 18, file: !12, scope: !6)
2323 !9 = !DILocation(line: 4, column: 3, scope: !10)
2424 !10 = distinct !DILexicalBlock(line: 3, column: 11, file: !12, scope: !0)
1616 !1 = !DIFile(filename: "GSFusedSilica.m", directory: "/Volumes/Data/Users/sabre/Desktop")
1717 !2 = !DICompileUnit(language: DW_LANG_ObjC, producer: "clang version 2.9 (trunk 115292)", isOptimized: true, runtimeVersion: 1, emissionKind: 0, file: !25, enums: !26, retainedTypes: !26)
1818 !5 = !DIDerivedType(tag: DW_TAG_typedef, name: "CGRect", line: 49, file: !25, baseType: null)
19 !23 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "rect", line: 53, arg: 2, scope: !0, file: !1, type: !5)
19 !23 = !DILocalVariable(name: "rect", line: 53, arg: 2, scope: !0, file: !1, type: !5)
2020 !24 = !DILocation(line: 53, column: 33, scope: !0)
2121 !25 = !DIFile(filename: "GSFusedSilica.m", directory: "/Volumes/Data/Users/sabre/Desktop")
2222 !26 = !{}
9090 !27 = !{!28, !32}
9191 !28 = !DISubprogram(name: "B", linkageName: "_ZN1BC2Ev", line: 9, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 9, file: !5, scope: !"_ZTS1B", type: !9, function: %struct.B* (%struct.B*)* @_ZN1BC2Ev, declaration: !8, variables: !29)
9292 !29 = !{!30}
93 !30 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !28, type: !31)
93 !30 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !28, type: !31)
9494 !31 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !"_ZTS1B")
9595 !32 = !DISubprogram(name: "B", linkageName: "_ZN1BC1Ev", line: 9, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 9, file: !5, scope: !"_ZTS1B", type: !9, function: %struct.B* (%struct.B*)* @_ZN1BC1Ev, declaration: !8, variables: !33)
9696 !33 = !{!34}
97 !34 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !32, type: !31)
97 !34 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !32, type: !31)
9898 !35 = !{i32 2, !"Dwarf Version", i32 4}
9999 !36 = !{i32 2, !"Debug Info Version", i32 3}
100100 !37 = !{!"clang version 3.6.0 (trunk 224279) (llvm/trunk 224283)"}
105105 !42 = !{!"vtable pointer", !43, i64 0}
106106 !43 = !{!"Simple C/C++ TBAA"}
107107 !44 = !DILocation(line: 0, scope: !32)
108 !45 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !28, type: !31)
108 !45 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !28, type: !31)
109109 !46 = !DILocation(line: 9, scope: !32)
110110 !47 = !DILocation(line: 0, scope: !28, inlinedAt: !46)
111111 !48 = !DILocation(line: 9, scope: !28, inlinedAt: !46)
5353 !7 = !DISubroutineType(types: !8)
5454 !8 = !{null}
5555 !9 = !{!10}
56 !10 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "size", line: 4, scope: !4, file: !6, type: !11)
56 !10 = !DILocalVariable(name: "size", line: 4, scope: !4, file: !6, type: !11)
5757 !11 = !DIBasicType(tag: DW_TAG_base_type, name: "unsigned int", size: 32, align: 32, encoding: DW_ATE_unsigned)
5858 !12 = !{i32 2, !"Dwarf Version", i32 2}
5959 !13 = !{i32 2, !"Debug Info Version", i32 3}
189189 !27 = !DISubroutineType(types: !28)
190190 !28 = !{null, !"_ZTS1A"}
191191 !29 = !{!30}
192 !30 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p1", line: 13, arg: 1, scope: !25, file: !26, type: !"_ZTS1A")
192 !30 = !DILocalVariable(name: "p1", line: 13, arg: 1, scope: !25, file: !26, type: !"_ZTS1A")
193193 !31 = !DISubprogram(name: "f11", linkageName: "_Z3f111A", line: 17, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 17, file: !5, scope: !26, type: !27, function: void (%struct.A*)* @_Z3f111A, variables: !32)
194194 !32 = !{!33}
195 !33 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p1", line: 17, arg: 1, scope: !31, file: !26, type: !"_ZTS1A")
195 !33 = !DILocalVariable(name: "p1", line: 17, arg: 1, scope: !31, file: !26, type: !"_ZTS1A")
196196 !34 = !DISubprogram(name: "f16", linkageName: "_Z3f16v", line: 18, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 18, file: !5, scope: !26, type: !35, function: void ()* @_Z3f16v, variables: !37)
197197 !35 = !DISubroutineType(types: !36)
198198 !36 = !{null}
199199 !37 = !{!38, !39}
200 !38 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "c", line: 19, scope: !34, file: !26, type: !"_ZTS1A")
201 !39 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "d", line: 20, scope: !34, file: !26, type: !"_ZTS1B")
200 !38 = !DILocalVariable(name: "c", line: 19, scope: !34, file: !26, type: !"_ZTS1A")
201 !39 = !DILocalVariable(name: "d", line: 20, scope: !34, file: !26, type: !"_ZTS1B")
202202 !40 = !{!41, !42}
203203 !41 = !DIGlobalVariable(name: "a", line: 1, isLocal: false, isDefinition: true, scope: null, file: !26, type: !20, variable: i64* @a)
204204 !42 = !DIGlobalVariable(name: "b", line: 7, isLocal: false, isDefinition: true, scope: null, file: !26, type: !12, variable: i32** @b)
233233 !71 = !DILocation(line: 15, column: 3, scope: !25, inlinedAt: !66)
234234 !72 = !DILocation(line: 16, column: 1, scope: !25, inlinedAt: !66)
235235 !73 = !DILocation(line: 17, column: 27, scope: !31)
236 !74 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p1", line: 17, arg: 1, scope: !31, file: !26, type: !"_ZTS1A")
236 !74 = !DILocalVariable(name: "p1", line: 17, arg: 1, scope: !31, file: !26, type: !"_ZTS1A")
237237 !75 = distinct !DILocation(line: 22, column: 3, scope: !34)
238238 !76 = !DIExpression(DW_OP_bit_piece, 8, 120)
239239 !77 = !DILocation(line: 17, column: 12, scope: !31, inlinedAt: !75)
6464 !14 = !DIDerivedType(tag: DW_TAG_member, name: "d", line: 6, size: 32, align: 32, offset: 96, file: !1, scope: !9, baseType: !8)
6565 !15 = !DIDerivedType(tag: DW_TAG_member, name: "e", line: 7, size: 32, align: 32, offset: 128, file: !1, scope: !9, baseType: !8)
6666 !16 = !{i32 2, !"Dwarf Version", i32 2}
67 !17 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "f", line: 13, arg: 1, scope: !4, file: !5, type: !9)
67 !17 = !DILocalVariable(name: "f", line: 13, arg: 1, scope: !4, file: !5, type: !9)
6868 !18 = !DILocation(line: 13, scope: !4)
6969 !19 = !DILocation(line: 16, scope: !4)
7070 !20 = !{i32 1, !"Debug Info Version", i32 3}
5252 !9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
5353 !10 = !DIBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)
5454 !11 = !{!12, !13, !14, !15, !16}
55 !12 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "", line: 3, arg: 1, scope: !4, file: !6, type: !9)
56 !13 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "", line: 3, arg: 2, scope: !4, file: !6, type: !9)
57 !14 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "", line: 3, arg: 3, scope: !4, file: !6, type: !9)
58 !15 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "", line: 3, arg: 4, scope: !4, file: !6, type: !9)
59 !16 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", line: 3, arg: 5, scope: !4, file: !6, type: !10)
55 !12 = !DILocalVariable(name: "", line: 3, arg: 1, scope: !4, file: !6, type: !9)
56 !13 = !DILocalVariable(name: "", line: 3, arg: 2, scope: !4, file: !6, type: !9)
57 !14 = !DILocalVariable(name: "", line: 3, arg: 3, scope: !4, file: !6, type: !9)
58 !15 = !DILocalVariable(name: "", line: 3, arg: 4, scope: !4, file: !6, type: !9)
59 !16 = !DILocalVariable(name: "x", line: 3, arg: 5, scope: !4, file: !6, type: !10)
6060 !17 = !{i32 2, !"Dwarf Version", i32 4}
6161 !18 = !DILocation(line: 3, scope: !4)
6262 !19 = !DILocation(line: 4, scope: !4)
9191 !27 = !{!28, !32}
9292 !28 = !DISubprogram(name: "B", linkageName: "_ZN1BC2Ev", line: 9, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 9, file: !5, scope: !"_ZTS1B", type: !9, function: %struct.B* (%struct.B*)* @_ZN1BC2Ev, declaration: !8, variables: !29)
9393 !29 = !{!30}
94 !30 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !28, type: !31)
94 !30 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !28, type: !31)
9595 !31 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 32, align: 32, baseType: !"_ZTS1B")
9696 !32 = !DISubprogram(name: "B", linkageName: "_ZN1BC1Ev", line: 9, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 9, file: !5, scope: !"_ZTS1B", type: !9, function: %struct.B* (%struct.B*)* @_ZN1BC1Ev, declaration: !8, variables: !33)
9797 !33 = !{!34}
98 !34 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !32, type: !31)
98 !34 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !32, type: !31)
9999 !35 = !{i32 2, !"Dwarf Version", i32 4}
100100 !36 = !{i32 2, !"Debug Info Version", i32 3}
101101 !37 = !{i32 1, !"wchar_size", i32 4}
108108 !44 = !{!"vtable pointer", !45, i64 0}
109109 !45 = !{!"Simple C/C++ TBAA"}
110110 !46 = !DILocation(line: 0, scope: !32)
111 !47 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !28, type: !31)
111 !47 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !28, type: !31)
112112 !48 = !DILocation(line: 9, scope: !32)
113113 !49 = !DILocation(line: 0, scope: !28, inlinedAt: !48)
114114 !50 = !DILocation(line: 9, scope: !28, inlinedAt: !48)
7777 !8 = !{null, !9}
7878 !9 = !DIBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)
7979 !10 = !{!11, !12, !14, !18}
80 !11 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "r", line: 1, arg: 1, scope: !4, file: !6, type: !9)
81 !12 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "count", line: 3, scope: !4, file: !6, type: !13)
80 !11 = !DILocalVariable(name: "r", line: 1, arg: 1, scope: !4, file: !6, type: !9)
81 !12 = !DILocalVariable(name: "count", line: 3, scope: !4, file: !6, type: !13)
8282 !13 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
83 !14 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "vla", line: 4, scope: !4, file: !6, type: !15)
83 !14 = !DILocalVariable(name: "vla", line: 4, scope: !4, file: !6, type: !15)
8484 !15 = !DICompositeType(tag: DW_TAG_array_type, align: 32, baseType: !9, elements: !16)
8585 !16 = !{!17}
8686 !17 = !DISubrange(count: -1)
87 !18 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 6, scope: !19, file: !6, type: !13)
87 !18 = !DILocalVariable(name: "i", line: 6, scope: !19, file: !6, type: !13)
8888 !19 = distinct !DILexicalBlock(line: 6, column: 0, file: !5, scope: !4)
8989 !20 = !{i32 2, !"Dwarf Version", i32 2}
9090 !21 = !{!"clang version 3.4 "}
4444 !2 = !DIFile(filename: "k.cc", directory: "/private/tmp")
4545 !3 = !DISubroutineType(types: !4)
4646 !4 = !{null}
47 !5 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "k", line: 6, scope: !6, file: !2, type: !7)
47 !5 = !DILocalVariable(name: "k", line: 6, scope: !6, file: !2, type: !7)
4848 !6 = distinct !DILexicalBlock(line: 5, column: 12, file: !18, scope: !1)
4949 !7 = !DIBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)
50 !8 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "y", line: 8, scope: !9, file: !2, type: !7)
50 !8 = !DILocalVariable(name: "y", line: 8, scope: !9, file: !2, type: !7)
5151 !9 = distinct !DILexicalBlock(line: 7, column: 25, file: !18, scope: !10)
5252 !10 = distinct !DILexicalBlock(line: 7, column: 3, file: !18, scope: !6)
5353 !11 = !DILocation(line: 6, column: 18, scope: !6)
2323 !39 = !DISubprogram(name: "GetMatrix", linkageName: "_Z9GetMatrixv", line: 32, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 32, file: !5, scope: !40, type: !41, function: void (%class.Matrix3.0.6.10*)* @_Z9GetMatrixv)
2424 !40 = !DIFile(filename: "test.ii", directory: "/Volumes/Data/radar/15094721")
2525 !41 = !DISubroutineType(types: null)
26 !45 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "matrix", line: 35, scope: !39, file: !40, type: !4)
26 !45 = !DILocalVariable(name: "matrix", line: 35, scope: !39, file: !40, type: !4)
5757 !7 = !DIBasicType(name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
5858 !8 = !{i32 2, !"Dwarf Version", i32 4}
5959 !9 = !{i32 2, !"Debug Info Version", i32 3}
60 !10 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "x", scope: !4, file: !1, line: 3, type: !7)
60 !10 = !DILocalVariable(name: "x", scope: !4, file: !1, line: 3, type: !7)
6161 !11 = !DIExpression()
6262 !12 = !DILocation(line: 3, column: 9, scope: !4)
6363 !13 = !DILocation(line: 4, column: 9, scope: !14)
3333 !6 = !DISubprogram(name: "bar", linkageName: "bar", line: 14, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, file: !27, scope: !1, type: !7, function: i32 ()* @bar)
3434 !7 = !DISubroutineType(types: !8)
3535 !8 = !{!5}
36 !9 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "j", line: 9, arg: 1, scope: !0, file: !1, type: !5)
37 !10 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xyz", line: 10, scope: !11, file: !1, type: !12)
36 !9 = !DILocalVariable(name: "j", line: 9, arg: 1, scope: !0, file: !1, type: !5)
37 !10 = !DILocalVariable(name: "xyz", line: 10, scope: !11, file: !1, type: !12)
3838
39 !59 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "j", line: 9, arg: 1, scope: !0, file: !1, type: !5)
40 !60 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xyz", line: 10, scope: !11, file: !1, type: !12)
39 !59 = !DILocalVariable(name: "j", line: 9, arg: 1, scope: !0, file: !1, type: !5)
40 !60 = !DILocalVariable(name: "xyz", line: 10, scope: !11, file: !1, type: !12)
4141
4242 !11 = distinct !DILexicalBlock(line: 9, column: 0, file: !1, scope: !0)
4343 !12 = !DICompositeType(tag: DW_TAG_structure_type, name: "X", line: 10, size: 64, align: 32, file: !27, scope: !0, elements: !13)
6767 !9 = !{i32 2, !"Dwarf Version", i32 4}
6868 !10 = !{i32 2, !"Debug Info Version", i32 3}
6969 !11 = !{!"clang version 3.5.0"}
70 !12 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", line: 1, arg: 1, scope: !4, file: !5, type: !8)
70 !12 = !DILocalVariable(name: "x", line: 1, arg: 1, scope: !4, file: !5, type: !8)
7171 !13 = !DILocation(line: 1, scope: !4)
7272 !14 = !DILocation(line: 2, scope: !15)
7373 !15 = distinct !DILexicalBlock(line: 2, column: 0, file: !1, scope: !4)
148148 !26 = distinct !DILexicalBlock(line: 5, column: 0, file: !5, scope: !12)
149149 !27 = !DILocation(line: 5, scope: !28)
150150 !28 = distinct !DILexicalBlock(line: 5, column: 0, file: !5, scope: !12)
151 !29 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !17, type: !30)
151 !29 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !17, type: !30)
152152 !30 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !"_ZTS1C")
153153 !31 = !DILocation(line: 0, scope: !17, inlinedAt: !22)
154 !32 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !16, type: !30)
154 !32 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !16, type: !30)
155155 !33 = !DILocation(line: 0, scope: !16, inlinedAt: !21)
156156
157 !129 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !17, type: !30)
158 !132 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !16, type: !30)
159 !232 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !16, type: !30)
157 !129 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !17, type: !30)
158 !132 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !16, type: !30)
159 !232 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !16, type: !30)
160160
161161 !34 = !DILocation(line: 5, scope: !35)
162162 !35 = distinct !DILexicalBlock(line: 5, column: 0, file: !5, scope: !36)
6666 !14 = !DISubprogram(name: "main", line: 18, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 18, file: !29, scope: !6, type: !15, function: i32 ()* @main, variables: !1)
6767 !15 = !DISubroutineType(types: !16)
6868 !16 = !{!10}
69 !17 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "main_arr", line: 19, scope: !18, file: !6, type: !19)
69 !17 = !DILocalVariable(name: "main_arr", line: 19, scope: !18, file: !6, type: !19)
7070 !18 = distinct !DILexicalBlock(line: 18, column: 16, file: !29, scope: !14)
7171 !19 = !DICompositeType(tag: DW_TAG_array_type, size: 3200, align: 32, baseType: !10, elements: !{!20})
7272 !20 = !DISubrange(count: 99)
7373 !22 = !DILocation(line: 19, column: 7, scope: !18)
74 !23 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "val", line: 20, scope: !18, file: !6, type: !10)
74 !23 = !DILocalVariable(name: "val", line: 20, scope: !18, file: !6, type: !10)
7575 !24 = !DILocation(line: 20, column: 7, scope: !18)
7676 !25 = !DILocation(line: 22, column: 3, scope: !18)
7777 !26 = !DILocation(line: 23, column: 9, scope: !18)
3030 !llvm.dbg.cu = !{!3}
3131 !llvm.module.flags = !{!20}
3232
33 !0 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", line: 7, arg: 1, scope: !1, file: !2, type: !7)
33 !0 = !DILocalVariable(name: "x", line: 7, arg: 1, scope: !1, file: !2, type: !7)
3434 !1 = !DISubprogram(name: "foo", linkageName: "foo", line: 7, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scopeLine: 7, file: !18, scope: !2, type: !4, function: i32 (%struct.X*, %struct.Y*)* @foo)
3535 !2 = !DIFile(filename: "a.c", directory: "/tmp/")
3636 !3 = !DICompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", isOptimized: false, emissionKind: 0, file: !18, enums: !19, retainedTypes: !19, subprograms: !17, imports: null)
4444 !11 = !{!12}
4545 !12 = !DIDerivedType(tag: DW_TAG_member, name: "x", line: 5, size: 32, align: 32, file: !18, scope: !10, baseType: !6)
4646 !13 = !DILocation(line: 7, scope: !1)
47 !14 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "y", line: 7, arg: 2, scope: !1, file: !2, type: !9)
47 !14 = !DILocalVariable(name: "y", line: 7, arg: 2, scope: !1, file: !2, type: !9)
4848 !15 = !DILocation(line: 7, scope: !16)
4949 !16 = distinct !DILexicalBlock(line: 7, column: 0, file: !18, scope: !1)
5050 !17 = !{!1}
2828 !9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
2929 !12 = !{!14}
3030 !14 = !DIGlobalVariable(name: "GLB", line: 1, isLocal: false, isDefinition: true, scope: null, file: !6, type: !9, variable: i32* @GLB)
31 !15 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "LOC", line: 4, scope: !16, file: !6, type: !9)
31 !15 = !DILocalVariable(name: "LOC", line: 4, scope: !16, file: !6, type: !9)
3232 !16 = distinct !DILexicalBlock(line: 3, column: 9, file: !20, scope: !5)
3333 !17 = !DILocation(line: 4, column: 9, scope: !16)
3434 !18 = !DILocation(line: 4, column: 23, scope: !16)
128128 !44 = !{!45}
129129 !45 = !{} ; previously: invalid DW_TAG_base_type
130130 !46 = !DISubprogram(name: "baz", linkageName: "_ZN3bazC2Ei", line: 6, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, file: !82, scope: null, type: !14, function: void (%struct.baz*, i32)* @_ZN3bazC2Ei, declaration: !13)
131 !49 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argc", line: 16, arg: 1, scope: !29, file: !6, type: !12)
131 !49 = !DILocalVariable(name: "argc", line: 16, arg: 1, scope: !29, file: !6, type: !12)
132132 !50 = !DILocation(line: 16, column: 14, scope: !29)
133 !51 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argv", line: 16, arg: 2, scope: !29, file: !6, type: !32)
133 !51 = !DILocalVariable(name: "argv", line: 16, arg: 2, scope: !29, file: !6, type: !32)
134134 !52 = !DILocation(line: 16, column: 27, scope: !29)
135 !53 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "myBar", line: 18, scope: !54, file: !6, type: !5)
135 !53 = !DILocalVariable(name: "myBar", line: 18, scope: !54, file: !6, type: !5)
136136 !54 = distinct !DILexicalBlock(line: 17, column: 1, file: !82, scope: !29)
137137 !55 = !DILocation(line: 18, column: 9, scope: !54)
138138 !56 = !DILocation(line: 18, column: 17, scope: !54)
139139 !57 = !DILocation(line: 19, column: 5, scope: !54)
140 !58 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 13, arg: 1, flags: DIFlagArtificial, scope: !37, file: !6, type: !24)
140 !58 = !DILocalVariable(name: "this", line: 13, arg: 1, flags: DIFlagArtificial, scope: !37, file: !6, type: !24)
141141 !59 = !DILocation(line: 13, column: 5, scope: !37)
142 !60 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", line: 13, arg: 2, scope: !37, file: !6, type: !12)
142 !60 = !DILocalVariable(name: "x", line: 13, arg: 2, scope: !37, file: !6, type: !12)
143143 !61 = !DILocation(line: 13, column: 13, scope: !37)
144144 !62 = !DILocation(line: 13, column: 34, scope: !37)
145 !63 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 13, arg: 1, flags: DIFlagArtificial, scope: !40, file: !6, type: !24)
145 !63 = !DILocalVariable(name: "this", line: 13, arg: 1, flags: DIFlagArtificial, scope: !40, file: !6, type: !24)
146146 !64 = !DILocation(line: 13, column: 5, scope: !40)
147 !65 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "x", line: 13, arg: 2, scope: !40, file: !6, type: !12)
147 !65 = !DILocalVariable(name: "x", line: 13, arg: 2, scope: !40, file: !6, type: !12)
148148 !66 = !DILocation(line: 13, column: 13, scope: !40)
149149 !67 = !DILocation(line: 13, column: 33, scope: !40)
150150 !68 = !DILocation(line: 13, column: 34, scope: !69)
151151 !69 = distinct !DILexicalBlock(line: 13, column: 33, file: !82, scope: !40)
152 !70 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 6, arg: 1, flags: DIFlagArtificial, scope: !43, file: !6, type: !16)
152 !70 = !DILocalVariable(name: "this", line: 6, arg: 1, flags: DIFlagArtificial, scope: !43, file: !6, type: !16)
153153 !71 = !DILocation(line: 6, column: 5, scope: !43)
154 !72 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 6, arg: 2, scope: !43, file: !6, type: !12)
154 !72 = !DILocalVariable(name: "a", line: 6, arg: 2, scope: !43, file: !6, type: !12)
155155 !73 = !DILocation(line: 6, column: 13, scope: !43)
156156 !74 = !DILocation(line: 6, column: 24, scope: !43)
157 !75 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 6, arg: 1, flags: DIFlagArtificial, scope: !46, file: !6, type: !16)
157 !75 = !DILocalVariable(name: "this", line: 6, arg: 1, flags: DIFlagArtificial, scope: !46, file: !6, type: !16)
158158 !76 = !DILocation(line: 6, column: 5, scope: !46)
159 !77 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 6, arg: 2, scope: !46, file: !6, type: !12)
159 !77 = !DILocalVariable(name: "a", line: 6, arg: 2, scope: !46, file: !6, type: !12)
160160 !78 = !DILocation(line: 6, column: 13, scope: !46)
161161 !79 = !DILocation(line: 6, column: 23, scope: !46)
162162 !80 = !DILocation(line: 6, column: 24, scope: !81)
3737 !11 = !DICompositeType(tag: DW_TAG_class_type, name: "A", line: 1, size: 32, align: 32, file: !20, elements: !12)
3838 !12 = !{!13}
3939 !13 = !DIDerivedType(tag: DW_TAG_member, name: "b", line: 1, size: 32, align: 32, file: !20, scope: !11, baseType: !9)
40 !16 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "a", line: 3, arg: 1, scope: !5, file: !6, type: !10)
40 !16 = !DILocalVariable(name: "a", line: 3, arg: 1, scope: !5, file: !6, type: !10)
4141 !17 = !DILocation(line: 3, column: 13, scope: !5)
4242 !18 = !DILocation(line: 4, column: 3, scope: !19)
4343 !19 = distinct !DILexicalBlock(line: 3, column: 16, file: !20, scope: !5)
100100 !23 = !{i32 2, !"Dwarf Version", i32 2}
101101 !24 = !{i32 1, !"Debug Info Version", i32 3}
102102 !25 = !{!"clang version 3.5.0 "}
103 !26 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !17, type: !27)
103 !26 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !17, type: !27)
104104 !27 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !"_ZTS1A")
105105 !28 = !DILocation(line: 0, scope: !17)
106106 !29 = !DILocation(line: 8, scope: !17)
107 !30 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !18, type: !27)
107 !30 = !DILocalVariable(name: "this", arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !18, type: !27)
108108 !31 = !DILocation(line: 0, scope: !18)
109109 !32 = !DILocation(line: 6, scope: !18)
110110 !33 = !DILocation(line: 8, scope: !18)
111 !34 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "a", line: 11, scope: !19, file: !20, type: !"_ZTS1A")
111 !34 = !DILocalVariable(name: "a", line: 11, scope: !19, file: !20, type: !"_ZTS1A")
112112 !35 = !DILocation(line: 11, scope: !19)
113113 !36 = !DILocation(line: 12, scope: !19)
106106 !2 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.0 (trunk)", isOptimized: true, emissionKind: 1, file: !23, enums: !{}, retainedTypes: !{}, subprograms: !21, imports: null)
107107 !3 = !DISubroutineType(types: !4)
108108 !4 = !{null}
109 !5 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "x", line: 5, scope: !6, file: !1, type: !7)
109 !5 = !DILocalVariable(name: "x", line: 5, scope: !6, file: !1, type: !7)
110110 !6 = distinct !DILexicalBlock(line: 4, column: 14, file: !23, scope: !0)
111111 !7 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
112112 !8 = !DILocation(line: 6, column: 3, scope: !6)
6767 !16 = !DIDerivedType(tag: DW_TAG_member, name: "m_a", line: 4, size: 32, align: 32, file: !37, scope: !14, baseType: !9)
6868 !17 = !DISubprogram(name: "A", line: 3, isLocal: false, isDefinition: false, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 3, file: !6, scope: !14, type: !11)
6969 !20 = !DISubprogram(name: "A", linkageName: "_ZN1AC2Ev", line: 3, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 3, file: !6, scope: null, type: !11, function: void (%class.A*)* @_ZN1AC2Ev, declaration: !17, variables: !1)
70 !21 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "a", line: 8, scope: !22, file: !6, type: !14)
70 !21 = !DILocalVariable(name: "a", line: 8, scope: !22, file: !6, type: !14)
7171 !22 = distinct !DILexicalBlock(line: 7, column: 11, file: !6, scope: !5)
7272 !23 = !DILocation(line: 8, column: 5, scope: !22)
7373 !24 = !DILocation(line: 8, column: 6, scope: !22)
7474 !25 = !DILocation(line: 9, column: 3, scope: !22)
75 !26 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 3, arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !10, file: !6, type: !27)
75 !26 = !DILocalVariable(name: "this", line: 3, arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !10, file: !6, type: !27)
7676 !27 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !14)
7777 !28 = !DILocation(line: 3, column: 3, scope: !10)
7878 !29 = !DILocation(line: 3, column: 18, scope: !10)
79 !30 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 3, arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !20, file: !6, type: !27)
79 !30 = !DILocalVariable(name: "this", line: 3, arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !20, file: !6, type: !27)
8080 !31 = !DILocation(line: 3, column: 3, scope: !20)
8181 !32 = !DILocation(line: 3, column: 9, scope: !33)
8282 !33 = distinct !DILexicalBlock(line: 3, column: 7, file: !6, scope: !20)
8383 !34 = !DILocation(line: 3, column: 18, scope: !33)
8484 !35 = !DILocation(line: 7, scope: !5)
85 !36 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "", line: 7, arg: 1, scope: !5, file: !6, type: !9)
85 !36 = !DILocalVariable(name: "", line: 7, arg: 1, scope: !5, file: !6, type: !9)
8686 !37 = !DIFile(filename: "bar.cpp", directory: "/Users/echristo/debug-tests")
8787 !38 = !{i32 1, !"Debug Info Version", i32 3}
3333 !6 = !DISubprogram(name: "bar", linkageName: "bar", line: 14, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: true, file: !27, scope: !1, type: !7, function: i32 ()* @bar)
3434 !7 = !DISubroutineType(types: !8)
3535 !8 = !{!5}
36 !9 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "j", line: 9, arg: 1, scope: !0, file: !1, type: !5)
37 !10 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xyz", line: 10, scope: !11, file: !1, type: !12)
36 !9 = !DILocalVariable(name: "j", line: 9, arg: 1, scope: !0, file: !1, type: !5)
37 !10 = !DILocalVariable(name: "xyz", line: 10, scope: !11, file: !1, type: !12)
3838
39 !109 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "j", line: 9, arg: 1, scope: !0, file: !1, type: !5)
40 !110 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "xyz", line: 10, scope: !11, file: !1, type: !12)
39 !109 = !DILocalVariable(name: "j", line: 9, arg: 1, scope: !0, file: !1, type: !5)
40 !110 = !DILocalVariable(name: "xyz", line: 10, scope: !11, file: !1, type: !12)
4141
4242 !11 = distinct !DILexicalBlock(line: 9, column: 0, file: !1, scope: !0)
4343 !12 = !DICompositeType(tag: DW_TAG_structure_type, name: "X", line: 10, size: 64, align: 32, file: !27, scope: !0, elements: !13)
3333 !6 = !DIFile(filename: "test.cc", directory: "/home/samsonov/debuginfo")
3434 !7 = !DISubroutineType(types: !8)
3535 !8 = !{null}
36 !9 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "x", line: 2, scope: !10, file: !6, type: !11)
36 !9 = !DILocalVariable(name: "x", line: 2, scope: !10, file: !6, type: !11)
3737 !10 = distinct !DILexicalBlock(line: 1, column: 12, file: !14, scope: !5)
3838 !11 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
3939 !12 = !DILocation(line: 2, column: 7, scope: !10)
6666 !15 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, flags: DIFlagArtificial | DIFlagObjectPointer, baseType: !8)
6767 !16 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !17)
6868 !17 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !8)
69 !19 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "f", line: 6, arg: 1, scope: !4, file: !5, type: !8)
69 !19 = !DILocalVariable(name: "f", line: 6, arg: 1, scope: !4, file: !5, type: !8)
7070 !20 = !DILocation(line: 6, scope: !4)
71 !21 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "g", line: 6, arg: 2, scope: !4, file: !5, type: !8)
71 !21 = !DILocalVariable(name: "g", line: 6, arg: 2, scope: !4, file: !5, type: !8)
7272 !22 = !DILocation(line: 7, scope: !4)
7373 !23 = !DILocation(line: 8, scope: !4)
7474 !24 = !{i32 1, !"Debug Info Version", i32 3}
7070 !8 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
7171 !9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
7272 !10 = !{!11}
73 !11 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p", line: 1, arg: 1, scope: !4, file: !5, type: !8)
73 !11 = !DILocalVariable(name: "p", line: 1, arg: 1, scope: !4, file: !5, type: !8)
7474 !12 = !DISubprogram(name: "main", line: 5, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 5, file: !1, scope: !5, type: !13, function: i32 (i32, i8**)* @main, variables: !18)
7575 !13 = !DISubroutineType(types: !14)
7676 !14 = !{!9, !9, !15}
7878 !16 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !17)
7979 !17 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
8080 !18 = !{!19, !20, !21}
81 !19 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argc", line: 5, arg: 1, scope: !12, file: !5, type: !9)
82 !20 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argv", line: 5, arg: 2, scope: !12, file: !5, type: !15)
83 !21 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "array", line: 6, scope: !12, file: !5, type: !22)
81 !19 = !DILocalVariable(name: "argc", line: 5, arg: 1, scope: !12, file: !5, type: !9)
82 !20 = !DILocalVariable(name: "argv", line: 5, arg: 2, scope: !12, file: !5, type: !15)
83 !21 = !DILocalVariable(name: "array", line: 6, scope: !12, file: !5, type: !22)
8484 !22 = !DICompositeType(tag: DW_TAG_array_type, size: 128, align: 32, baseType: !9, elements: !23)
8585 !23 = !{!24}
8686 !24 = !DISubrange(count: 4)
1616 ;
1717 ; CHECK: define i32 @main
1818 ; CHECK: call void @llvm.dbg.value(metadata i32 42, i64 0, metadata ![[ARRAY:[0-9]+]], metadata ![[EXPR:[0-9]+]])
19 ; CHECK: ![[ARRAY]] = !DILocalVariable(tag: DW_TAG_auto_variable, name: "array",{{.*}} line: 6
19 ; CHECK: ![[ARRAY]] = !DILocalVariable(name: "array",{{.*}} line: 6
2020 ; CHECK: ![[EXPR]] = !DIExpression(DW_OP_bit_piece, 0, 32)
2121 target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
2222 target triple = "x86_64-apple-macosx10.9.0"
9090 !16 = !{i32 2, !"Dwarf Version", i32 2}
9191 !17 = !{i32 1, !"Debug Info Version", i32 3}
9292 !18 = !{!"clang version 3.5.0 "}
93 !19 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "p", line: 1, arg: 1, scope: !4, file: !5, type: !8)
93 !19 = !DILocalVariable(name: "p", line: 1, arg: 1, scope: !4, file: !5, type: !8)
9494 !20 = !DILocation(line: 1, scope: !4)
9595 !21 = !DILocation(line: 2, scope: !4)
9696 !22 = !DILocation(line: 3, scope: !4)
97 !23 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argc", line: 5, arg: 1, scope: !10, file: !5, type: !9)
97 !23 = !DILocalVariable(name: "argc", line: 5, arg: 1, scope: !10, file: !5, type: !9)
9898 !24 = !DILocation(line: 5, scope: !10)
99 !25 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "argv", line: 5, arg: 2, scope: !10, file: !5, type: !13)
100 !26 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "array", line: 6, scope: !10, file: !5, type: !27)
99 !25 = !DILocalVariable(name: "argv", line: 5, arg: 2, scope: !10, file: !5, type: !13)
100 !26 = !DILocalVariable(name: "array", line: 6, scope: !10, file: !5, type: !27)
101101 !27 = !DICompositeType(tag: DW_TAG_array_type, size: 128, align: 32, baseType: !9, elements: !28)
102102 !28 = !{!29}
103103 !29 = !DISubrange(count: 4)
101101 !41 = !DIBasicType(tag: DW_TAG_base_type, name: "long unsigned int", size: 64, align: 64, encoding: DW_ATE_unsigned)
102102 !42 = !DIDerivedType(tag: DW_TAG_member, name: "Size", size: 64, align: 64, offset: 64, file: !1, scope: !5, baseType: !41)
103103 !43 = !DIExpression()
104 !47 = !DILocalVariable(tag: DW_TAG_arg_variable, name: ".block_descriptor", line: 2, arg: 1, flags: DIFlagArtificial, scope: !8, file: !5, type: !48)
104 !47 = !DILocalVariable(name: ".block_descriptor", line: 2, arg: 1, flags: DIFlagArtificial, scope: !8, file: !5, type: !48)
105105 !48 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, baseType: !49)
106106 !49 = !DICompositeType(tag: DW_TAG_structure_type, name: "__block_literal_1", line: 2, size: 320, align: 64, file: !1, scope: !5, elements: !50)
107107 !50 = !{!51, !52, !53, !54, !56, !65}
122122 !65 = !DIDerivedType(tag: DW_TAG_member, name: "block", line: 2, size: 64, align: 64, offset: 256, flags: DIFlagPublic, file: !1, scope: !5, baseType: !25)
123123 !66 = !DILocation(line: 2, column: 20, scope: !8)
124124 !67 = !DILocation(line: 2, column: 21, scope: !8)
125 !68 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "block", line: 2, scope: !8, file: !5, type: !25)
125 !68 = !DILocalVariable(name: "block", line: 2, scope: !8, file: !5, type: !25)
126126 !69 = !DIExpression(DW_OP_deref, DW_OP_plus, 32)
127127 !70 = !DILocation(line: 2, column: 9, scope: !8)
128128 !71 = !DILocation(line: 2, column: 23, scope: !72)
114114 !25 = !{i32 1, !"Objective-C Image Info Version", i32 0}
115115 !26 = !{i32 1, !"Objective-C Image Info Section", !"__DATA, __objc_imageinfo, regular, no_dead_strip"}
116116 !27 = !{i32 4, !"Objective-C Garbage Collection", i32 0}
117 !28 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "self", line: 9, arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !7, file: !5, type: !14)
117 !28 = !DILocalVariable(name: "self", line: 9, arg: 1, flags: DIFlagArtificial | DIFlagObjectPointer, scope: !7, file: !5, type: !14)
118118 !29 = !DILocation(line: 9, scope: !7)
119 !30 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "_cmd", line: 9, arg: 2, flags: DIFlagArtificial, scope: !7, file: !5, type: !31)
119 !30 = !DILocalVariable(name: "_cmd", line: 9, arg: 2, flags: DIFlagArtificial, scope: !7, file: !5, type: !31)
120120 !31 = !DIDerivedType(tag: DW_TAG_typedef, name: "SEL", line: 9, file: !1, baseType: !12)
121 !32 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "otherBitmap", line: 9, arg: 3, scope: !7, file: !5, type: !14)
122 !33 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "info", line: 10, arg: 4, scope: !7, file: !5, type: !15)
121 !32 = !DILocalVariable(name: "otherBitmap", line: 9, arg: 3, scope: !7, file: !5, type: !14)
122 !33 = !DILocalVariable(name: "info", line: 10, arg: 4, scope: !7, file: !5, type: !15)
123123 !34 = !DILocation(line: 10, scope: !7)
124 !35 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "length", line: 11, arg: 5, scope: !7, file: !5, type: !19)
124 !35 = !DILocalVariable(name: "length", line: 11, arg: 5, scope: !7, file: !5, type: !19)
125125 !36 = !DILocation(line: 11, scope: !7)
126126 !37 = !DILocation(line: 13, scope: !7)
127127 !38 = !{i32 1, !"Debug Info Version", i32 3}
9393 !17 = !{null, !10}
9494 !18 = !{}
9595 !20 = !{!22}
96 !22 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 14, arg: 1, flags: DIFlagArtificial, scope: !5, file: !6, type: !10)
96 !22 = !DILocalVariable(name: "this", line: 14, arg: 1, flags: DIFlagArtificial, scope: !5, file: !6, type: !10)
9797 !23 = !DISubprogram(name: "~nsAutoRefCnt", linkageName: "_ZN17nsAutoRefCntD1Ev", line: 18, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 18, file: !6, scope: null, type: !16, function: void ()* @_ZN17nsAutoRefCntD1Ev, declaration: !15, variables: !24)
9898 !24 = !{!26}
99 !26 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 18, arg: 1, flags: DIFlagArtificial, scope: !23, file: !6, type: !10)
99 !26 = !DILocalVariable(name: "this", line: 18, arg: 1, flags: DIFlagArtificial, scope: !23, file: !6, type: !10)
100100 !27 = !DISubprogram(name: "~nsAutoRefCnt", linkageName: "_ZN17nsAutoRefCntD2Ev", line: 18, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 18, file: !6, scope: null, type: !16, function: i32 ()* null, declaration: !15, variables: !28)
101101 !28 = !{!30}
102 !30 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 18, arg: 1, flags: DIFlagArtificial, scope: !27, file: !6, type: !10)
102 !30 = !DILocalVariable(name: "this", line: 18, arg: 1, flags: DIFlagArtificial, scope: !27, file: !6, type: !10)
103103 !31 = !DISubprogram(name: "operator=", linkageName: "_ZN12nsAutoRefCntaSEi", line: 4, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 4, file: !6, scope: null, type: !32, declaration: !36, variables: !43)
104104 !32 = !DISubroutineType(types: !33)
105105 !33 = !{!9, !34, !9}
113113 !41 = !DISubroutineType(types: !42)
114114 !42 = !{null, !34}
115115 !43 = !{!45, !46}
116 !45 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "this", line: 4, arg: 1, flags: DIFlagArtificial, scope: !31, file: !6, type: !34)
117 !46 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "aValue", line: 4, arg: 2, scope: !31, file: !6, type: !9)
116 !45 = !DILocalVariable(name: "this", line: 4, arg: 1, flags: DIFlagArtificial, scope: !31, file: !6, type: !34)
117 !46 = !DILocalVariable(name: "aValue", line: 4, arg: 2, scope: !31, file: !6, type: !9)
118118 !47 = !{!49}
119119 !49 = !DIGlobalVariable(name: "mRefCnt", line: 9, isLocal: false, isDefinition: true, scope: null, file: !6, type: !37, variable: i32* null)
120120 !50 = !DILocation(line: 5, column: 5, scope: !51, inlinedAt: !52)
8989 !15 = !{!7, !16}
9090 !16 = !DIDerivedType(tag: DW_TAG_typedef, name: "S", line: 1, file: !1, baseType: !"_ZTS1S")
9191 !17 = !{!18}
92 !18 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "s", line: 3, arg: 1, scope: !12, file: !13, type: !16)
92 !18 = !DILocalVariable(name: "s", line: 3, arg: 1, scope: !12, file: !13, type: !16)
9393 !19 = !DISubprogram(name: "foo", linkageName: "_Z3foo1C", line: 10, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 10, file: !1, scope: !13, type: !20, function: i32 (i32)* @_Z3foo1C, variables: !22)
9494 !20 = !DISubroutineType(types: !21)
9595 !21 = !{!7, !"_ZTS1C"}