Displaying 6 results from an estimated 6 matches for "786489".
2014 Jul 09
4
[LLVMdev] Issues with clang-llvm debug info validity
...t;>> -> 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]
>>>>
>>>&...
2014 Jun 27
2
[LLVMdev] Issues with clang-llvm debug info validity
...positeType)
- add an extra case to DIScope::getRef()
- Let CGDebugInfo create a mangled name for each 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"
namespac...
2014 Jun 27
2
[LLVMdev] Issues with clang-llvm debug info validity
...create a mangled name for each 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 {} -&...
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 -
2014 Jun 24
2
[LLVMdev] Issues with clang-llvm debug info validity
On Tue, 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 !"_ZTSN4test4...
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