search for: dw_tag_namespace

Displaying 13 results from an estimated 13 matches for "dw_tag_namespace".

2014 Jul 09
4
[LLVMdev] Issues with clang-llvm debug info validity
...ample: >>>> >>>> namespace a { namespace b {} } -> “_ZN1a", “_ZN1a1b" >>>> >>>> !0 = [compile unit] >>>> !1 = metadata !{i32 786489, metadata !0, metadata !”_ZN1a", metadata !”b", i32 1, metadata !”_ZN1a1b"} ; [ DW_TAG_namespace ] [a] >>>> !2 = metadata !{i32 786489, metadata !0, null, metadata !”a", i32 1, metadata !”_ZN1a"} ; [ DW_TAG_namespace ] [a] [line 1] >>>> >>>> namespace a1b {} -> “_ZN3a1b" >>>> namespace {} -> null (!= “”) // Anonymous namespac...
2014 Jun 27
2
[LLVMdev] Issues with clang-llvm debug info validity
...namespace to use as UID -> the UID of the anonymous namespace is null. For example: namespace a { namespace b {} } -> “_ZN1a", “_ZN1a1b" !0 = [compile unit] !1 = metadata !{i32 786489, metadata !0, metadata !”_ZN1a", metadata !”b", i32 1, metadata !”_ZN1a1b"} ; [ DW_TAG_namespace ] [a] !2 = metadata !{i32 786489, metadata !0, null, metadata !”a", i32 1, metadata !”_ZN1a"} ; [ DW_TAG_namespace ] [a] [line 1] namespace a1b {} -> “_ZN3a1b" namespace {} -> null (!= “”) // Anonymous namespaces will remain old-fashioned MDNode references to prevent uniquing....
2013 Nov 26
2
[LLVMdev] llvm-dwarfdump offsets
...DW_AT_byte_size [DW_FORM_data1] (0x04) 0x00000058: NULL 0x000001ec: Compile Unit: length = 0x0000002b version = 0x0004 abbr_offset = 0x0000 addr_size = 0x08 (next unit at 0x0000021b) 0x0000000b: DW_TAG_type_unit [25] * DW_AT_language [DW_FORM_data2] (0x0004) 0x0000000e: DW_TAG_namespace [9] * It is a bit weird using the same syntax to print the section relative offest for the unit header, then unit-relative offsets for the DIEs, but other than that this seems to me like a useful improvement. (I was going to use this change to help me print out the unit-relative offsets for types...
2014 Jun 27
2
[LLVMdev] Issues with clang-llvm debug info validity
...ace is null. >> >> For example: >> >> namespace a { namespace b {} } -> “_ZN1a", “_ZN1a1b" >> >> !0 = [compile unit] >> !1 = metadata !{i32 786489, metadata !0, metadata !”_ZN1a", metadata !”b", i32 1, metadata !”_ZN1a1b"} ; [ DW_TAG_namespace ] [a] >> !2 = metadata !{i32 786489, metadata !0, null, metadata !”a", i32 1, metadata !”_ZN1a"} ; [ DW_TAG_namespace ] [a] [line 1] >> >> namespace a1b {} -> “_ZN3a1b" >> namespace {} -> null (!= “”) // Anonymous namespaces will remain old-fashioned MD...
2013 Mar 20
0
[LLVMdev] Debug info for namespaces and "using"
...) I thought I should also bring up another aspect of how Clang/LLVM handles namespaces, in case you hadn't noticed. If you have something like this: namespace MYSPACE { typedef int MYINT; }; // ... other stuff namespace MYSPACE { typedef long MYLONG; }; then Clang will emit two separate DW_TAG_namespace DIEs, one with a child MYINT and one with a child MYLONG. However, these namespace DIEs are not connected by DW_AT_extension, so a "using namespace MYSPACE;" that emits a single DW_TAG_imported_module isn't going to catch both namespace DIEs. I looked at gcc, and an EDG-based compile...
2014 Jun 24
2
[LLVMdev] Issues with clang-llvm debug info validity
+Adrian & Manman, Looks like this is a case of non-DIRef references ending up in the IR, and thus the references not being deduplicated. This could lead to some of the IR bloat that you guys implemented the DIRef stuff to reduce/avoid. The specific issue is that the type is slightly different in the two TUs (since the namespace scope it's contained within is different in the two TUs -
2011 Dec 29
2
[LLVMdev] DW_AT_location not getting generated for local variables
...quot;, metadata !"\01_main", metadata !7, i32 1, metadata !8, i1 false, i1 true, i32 0, i32 0, i32 0, i32 0, i1 false, i32 ()* @"\01_main", null, null, metadata !11} ; [ DW_TAG_subprogram ] !6 = metadata !{i32 720953, null, metadata !"__main__", metadata !7, i32 1} ; [ DW_TAG_namespace ] !7 = metadata !{i32 720937, metadata !"foo.clay", metadata !"", null} ; [ DW_TAG_file_type ] !8 = metadata !{i32 720917, i32 0, metadata !"", i32 0, i32 0, i64 0, i64 0, i32 0, i32 0, i32 0, metadata !9, i32 0, i32 0} ; [ DW_TAG_subroutine_type ] !9 = metadata !{meta...
2014 Jun 24
2
[LLVMdev] Issues with clang-llvm debug info validity
...Jun 24, 2014 at 2:38 PM, Adrian Prantl <aprantl at apple.com> wrote: > I will take this. > > !5 = metadata !{metadata !"./test.h", metadata !"/Volumes/Data/radar/17052973"} > !6 = metadata !{i32 786489, metadata !5, null, metadata !"test", i32 1} ; [ DW_TAG_namespace ] [test] [line 1] > !4 = metadata !{i32 786434, metadata !5, metadata !6, metadata !"Test<int>", i32 3, i64 8, i64 8, i32 0, i32 0, null, metadata !2, i32 0, null, metadata !7, metadata !"_ZTSN4test4TestIiEE"} ; [ DW_TAG_class_type ] [Test<int>] [line 3, size 8, a...
2012 Jan 02
0
[LLVMdev] DW_AT_location not getting generated for local variables
...ot;\01_main", metadata !7, i32 1, metadata !8, i1 false, i1 > true, i32 0, i32 0, i32 0, i32 0, i1 false, i32 ()* @"\01_main", null, null, > metadata !11} ; [ DW_TAG_subprogram ] > !6 = metadata !{i32 720953, null, metadata !"__main__", metadata !7, i32 1} > ; [ DW_TAG_namespace ] > !7 = metadata !{i32 720937, metadata !"foo.clay", metadata !"", null} ; [ > DW_TAG_file_type ] > !8 = metadata !{i32 720917, i32 0, metadata !"", i32 0, i32 0, i64 0, i64 0, > i32 0, i32 0, i32 0, metadata !9, i32 0, i32 0} ; [ DW_TAG_subroutine_type ]...
2014 Jun 24
2
[LLVMdev] Issues with clang-llvm debug info validity
>> Without needing to change how namespaces are handled. >> >> Yes, using DIRefs for namespaces would cause the actual type nodes to >> be deduplicated when they aren't even with the patch above, and that >> would help reduce debug info metadata further if that's >> useful/necessary. > > Exactly. While the above patch will cover up the problem, we
2014 Oct 14
2
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...Tag = 36, Count = 15, Ops = 45, Name = DW_TAG_base_type Tag = 17, Count = 1164, Ops = 8148, Name = DW_TAG_compile_unit Tag = 31, Count = 19, Ops = 95, Name = DW_TAG_ptr_to_member_type Tag = 57, Count = 2034, Ops = 6102, Name = DW_TAG_namespace Tag = 38, Count = 32133, Ops = 128532, Name = DW_TAG_const_type Tag = 19, Count = 72995, Ops = 583960, Name = DW_TAG_structure_type (Note: the InlinedLineTables stat is included in LineTables stat.) You can determine the rough memory footprint of each type of node by mul...
2013 Aug 05
2
[LLVMdev] Many PPC64 failures with llvm 3.3
...d/rpmbuild/BUILD/llvm-3.3/test/DebugInfo/namespace.ll [ 1541s] -- [ 1541s] Exit Code: 1 [ 1541s] Command Output (stderr): [ 1541s] -- [ 1541s] /home/abuild/rpmbuild/BUILD/llvm-3.3/test/DebugInfo/namespace.ll:6:10: error: expected string not found in input [ 1541s] ; CHECK: [[NS1:0x[0-9a-f]*]]:{{ *}}DW_TAG_namespace [ 1541s] ^ [ 1541s] <stdin>:6:21: note: scanning from here [ 1541s] .debug_info contents: [ 1541s] ^ [ 1541s] <stdin>:25:2: note: possible intended match here [ 1541s] Offset Name [ 1541s] ^ [ 1541s] -- [ 1541s] [ 1541s] ******************** [ 1543s] Test...
2014 Oct 13
9
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
In r219010, I merged integer and string fields into a single header field. By reducing the number of metadata operands used in debug info, this saved 2.2GB on an `llvm-lto` bootstrap. I've done some profiling of DW_TAGs to see what parts of PR17891 and PR17892 to tackle next, and I've concluded that they will be insufficient. Instead, I'd like to implement a more aggressive plan,