search for: retainedtypes

Displaying 20 results from an estimated 35 matches for "retainedtypes".

2015 Aug 21
2
Canonical representation for empty lists in debug info metadata
While checking for serialization/deserialization without using pointee types, I've come across a few test cases that crash at head, without my debugging assertions for accessing pointee types. One of them is test/Transforms/StripSymbols/2010-06-30-StripDebug.ll Its retainedTypes metadata points to a metadata array of a single null element. This crashes the dyn_cast (because it's not a dyn_cast_or_null) Verifier.cpp:3785 Do you have a preferred/canonical representation intended in this case - an extant, but zero-length list, or no list at all? I tend to prefer no list...
2016 Apr 15
2
[RFC] Lazy-loading of debug info metadata
...irections; I'll add a RUN > line to test/Linker/type-unique-odr-a.ll). > > I came across this because the testcase started failing with 0006. The > current (but not-quite-sufficient) logic relies on the resolve() logic > in DwarfDebug.cpp, which indirects through the merged 'retainedTypes:' > map (the asymmetry in building the merged map explains why the in-tree > logic only works for one linking direction). > Not sure I'm quite following. I think I understand the circumstance you're describing (indeed, the type itself can be defined on different lines/files w...
2016 Mar 30
3
[RFC] Lazy-loading of debug info metadata
...les linearly.) > > >>> Even so, non-types are substantial. > >>> > >>> Proposal > >>> ======== > >>> > >>> Short version > >>> ------------- > >>> > >>> 4. Remove `DICompositeType`s from `retainedTypes:`, similar to (2). > > This is the part that's relevant to the new RFC Eric just posted. > > >>> Long version > >>> ------------- > >>> > >>> 4. Implement my proposal to remove the `DICompositeType` name map from > >>> `r...
2016 Apr 15
2
[RFC] Lazy-loading of debug info metadata
...right - we just pick one instance of the type & the user gets to keep the pieces. Is there a particular motivation for changing that? Some place where it's more problematic, we have to support it, etc? > - 0006: Remove DITypeRef (string-based references) and strip down > 'retainedTypes:'. > > Once this is done, I expect the bitcode block layout improvements for > lazy-loading of subprograms and composite types (steps 3 and 5 from > this RFC) to be fairly straightforward. > > > > > > On 2016-Mar-29, at 19:11, Eric Christopher <echristo at gmail...
2016 Mar 30
0
[RFC] Lazy-loading of debug info metadata
...s memory. Also important, but at least it scales linearly.) >>> Even so, non-types are substantial. >>> >>> Proposal >>> ======== >>> >>> Short version >>> ------------- >>> >>> 4. Remove `DICompositeType`s from `retainedTypes:`, similar to (2). This is the part that's relevant to the new RFC Eric just posted. >>> Long version >>> ------------- >>> >>> 4. Implement my proposal to remove the `DICompositeType` name map from >>> `retainedTypes:`. >>> >&gt...
2018 Jul 30
2
ThinLTO Bug ?
...ule.flags = !{!0, !1} > > > > !llvm.dbg.cu = !{!2} > > > > !0 = !{i32 2, !"Debug Info Version", i32 3} > > > > !1 = !{i32 1, !"ThinLTO", i32 0} > > > > !2 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !3, > > retainedTypes: !4) > > > > !3 = !DIFile(filename: "f2", directory: "") > > > > !4 = !{!5} > > > > !5 = !DICompositeType(tag: DW_TAG_class_type, file: !3, flags: > > DIFlagFwdDecl, identifier: "SHARED") > > > > !6 = distinct !DISu...
2016 Mar 23
2
[RFC] Lazy-loading of debug info metadata
...rialize metadata in Function blocks where possible. >> 2. Reverse the `DISubprogram`/`DICompileUnit` link. >> 3. Create a `METADATA_SUBPROGRAM_BLOCK`. >> >> Type-related work Eric will make unnecessary if he's fast: >> >> 4. Remove `DICompositeType`s from `retainedTypes:`, similar to (2). >> 5. Create a `METADATA_COMPOSITE_TYPE_BLOCK`, similar to (3). >> >> Long version >> ------------ >> >> 1. If a piece of metadata is referenced from only a single `Function`, >> serialize that metadata in the function's metadat...
2016 Apr 16
4
[RFC] Lazy-loading of debug info metadata
...ine to test/Linker/type-unique-odr-a.ll). > >> > >> I came across this because the testcase started failing with 0006. The > >> current (but not-quite-sufficient) logic relies on the resolve() logic > >> in DwarfDebug.cpp, which indirects through the merged 'retainedTypes:' > >> map (the asymmetry in building the merged map explains why the in-tree > >> logic only works for one linking direction). > > > > Not sure I'm quite following. > > > > I think I understand the circumstance you're describing (indeed, the &g...
2018 Jul 28
2
ThinLTO Bug ?
...32 @c() !dbg !6 { bitcast %struct.TA ** @gv to i8* unreachable } !llvm.module.flags = !{!0, !1} !llvm.dbg.cu = !{!2} !0 = !{i32 2, !"Debug Info Version", i32 3} !1 = !{i32 1, !"ThinLTO", i32 0} !2 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !3, retainedTypes: !4) !3 = !DIFile(filename: "f2", directory: "") !4 = !{!5} !5 = !DICompositeType(tag: DW_TAG_class_type, file: !3, flags: DIFlagFwdDecl, identifier: "SHARED") !6 = distinct !DISubprogram(unit: !2) [~/thinltobug]$ cat b.ll target datalayout = "e-m:e-i64:64...
2016 Apr 18
1
[RFC] Lazy-loading of debug info metadata
...er/type-unique-odr-a.ll). >> >> >> >> I came across this because the testcase started failing with 0006. The >> >> current (but not-quite-sufficient) logic relies on the resolve() logic >> >> in DwarfDebug.cpp, which indirects through the merged 'retainedTypes:' >> >> map (the asymmetry in building the merged map explains why the in-tree >> >> logic only works for one linking direction). >> > >> > Not sure I'm quite following. >> > >> > I think I understand the circumstance you're de...
2018 Jan 12
2
StripDeadDebugInfo for static inline functions.
...= alloca i16, align 1 ... } !llvm.dbg.cu = !{!0} !llvm.module.flags = !{!84, !85} !llvm.ident = !{!86} !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.8.0 Revision 72230", isOptimized: true, runtimeVersion: 0, emissionKind: 1, enums: !2, retainedTypes: !3, subprograms: !12, globals: !73) ... !12 = !{!13, !54, !57, !60, !61, !62, !65, !66, !67, !68, !69} !13 = distinct !DISubprogram(name: "main", scope: !14, file: !14, line: 15, type: !15, isLocal: false, isDefinition: true, scopeLine: 15, isOptimized: true, variables: !17) ... !54...
2016 Mar 23
7
[RFC] Lazy-loading of debug info metadata
...oposal ======== Short version ------------- 1. Serialize metadata in Function blocks where possible. 2. Reverse the `DISubprogram`/`DICompileUnit` link. 3. Create a `METADATA_SUBPROGRAM_BLOCK`. Type-related work Eric will make unnecessary if he's fast: 4. Remove `DICompositeType`s from `retainedTypes:`, similar to (2). 5. Create a `METADATA_COMPOSITE_TYPE_BLOCK`, similar to (3). Long version ------------ 1. If a piece of metadata is referenced from only a single `Function`, serialize that metadata in the function's metadata block instead of the global metadata block. This a...
2016 Mar 23
0
[RFC] Lazy-loading of debug info metadata
...------- > > 1. Serialize metadata in Function blocks where possible. > 2. Reverse the `DISubprogram`/`DICompileUnit` link. > 3. Create a `METADATA_SUBPROGRAM_BLOCK`. > > Type-related work Eric will make unnecessary if he's fast: > > 4. Remove `DICompositeType`s from `retainedTypes:`, similar to (2). > 5. Create a `METADATA_COMPOSITE_TYPE_BLOCK`, similar to (3). > > Long version > ------------ > > 1. If a piece of metadata is referenced from only a single `Function`, > serialize that metadata in the function's metadata block instead of >...
2015 Sep 01
2
RFC: DI: Stop preserving types from dead functions
...Subprogram links. r107027 effectively forces us to hold onto subprogram definitions that describe deleted functions. This seems quite weird to me :/. I'm talking to people internally and hoping to find that we just don't care anymore. Even if we do, perhaps shoving these types into 'retainedTypes:' in `DICompileUnit` (only if -gkeep-all-types or some such) will solve the problem for the ctfconvert use case (without burdening others). While I sort that out... does anyone else rely on this? How? Why? (The attach patch effectively reverts r107027.) -------------- next part -----------...
2016 Mar 23
2
[RFC] Lazy-loading of debug info metadata
...alize metadata in Function blocks where possible. >> 2. Reverse the `DISubprogram`/`DICompileUnit` link. >> 3. Create a `METADATA_SUBPROGRAM_BLOCK`. >> >> Type-related work Eric will make unnecessary if he's fast: >> >> 4. Remove `DICompositeType`s from `retainedTypes:`, similar to (2). >> 5. Create a `METADATA_COMPOSITE_TYPE_BLOCK`, similar to (3). >> >> Long version >> ------------ >> >> 1. If a piece of metadata is referenced from only a single `Function`, >> serialize that metadata in the function's metad...
2018 Jan 12
2
StripDeadDebugInfo for static inline functions.
.... } !llvm.dbg.cu<http://llvm.dbg.cu> = !{!0} !llvm.module.flags = !{!84, !85} !llvm.ident = !{!86} !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.8.0 Revision 72230", isOptimized: true, runtimeVersion: 0, emissionKind: 1, enums: !2, retainedTypes: !3, subprograms: !12, globals: !73) ... !12 = !{!13, !54, !57, !60, !61, !62, !65, !66, !67, !68, !69} !13 = distinct !DISubprogram(name: "main", scope: !14, file: !14, line: 15, type: !15, isLocal: false, isDefinition: true, scopeLine: 15, isOptimized: true, variables: !17) ... !54...
2018 Jan 12
0
StripDeadDebugInfo for static inline functions.
...dbg.cu = !{!0} > > !llvm.module.flags = !{!84, !85} > > !llvm.ident = !{!86} > > > !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: > "clang version 3.8.0 Revision 72230", isOptimized: true, runtimeVersion: 0, > emissionKind: 1, enums: !2, retainedTypes: !3, subprograms: !12, globals: > !73) > > ... > > !12 = !{!13, !54, !57, !60, !61, !62, !65, !66, !67, !68, !69} > > !13 = distinct !DISubprogram(name: "main", scope: !14, file: !14, line: > 15, type: !15, isLocal: false, isDefinition: true, scopeLine: 15, > is...
2016 Mar 23
0
[RFC] Lazy-loading of debug info metadata
...------- > > 1. Serialize metadata in Function blocks where possible. > 2. Reverse the `DISubprogram`/`DICompileUnit` link. > 3. Create a `METADATA_SUBPROGRAM_BLOCK`. > > Type-related work Eric will make unnecessary if he's fast: > > 4. Remove `DICompositeType`s from `retainedTypes:`, similar to (2). > 5. Create a `METADATA_COMPOSITE_TYPE_BLOCK`, similar to (3). > > Long version > ------------ > > 1. If a piece of metadata is referenced from only a single `Function`, > serialize that metadata in the function's metadata block instead of >...
2018 Jan 14
0
StripDeadDebugInfo for static inline functions.
...u = !{!0} > > !llvm.module.flags = !{!84, !85} > > !llvm.ident = !{!86} > > > > !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: > "clang version 3.8.0 Revision 72230", isOptimized: true, runtimeVersion: 0, > emissionKind: 1, enums: !2, retainedTypes: !3, subprograms: !12, globals: > !73) > > ... > > !12 = !{!13, !54, !57, !60, !61, !62, !65, !66, !67, !68, !69} > > !13 = distinct !DISubprogram(name: "main", scope: !14, file: !14, line: > 15, type: !15, isLocal: false, isDefinition: true, scopeLine: 15, > is...
2018 Mar 21
3
lld/lto/win32 crash on DIE code
...Elements_d_System_d_____Global.IDispatchUID", scope: !2, file: !3, type: !622, isLocal: false, isDefinition: true) !2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "RemObjects Island", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, retainedTypes: !4, globals: !5, imports: !703) !3 = !DIFile(filename: "island.windows.elements-e54b3dc8c0536e29a65f8548b5ae7958-global", directory: "/__windows_drive__c/ci/b/elements/1301/source/islandrtl/source") !4 = !{} !5 = !{!0, !6, !620, !635, !637, !639, !660, !669, !671, !673, !675,...