Page MenuHomePhabricator

krisb (Kristina Bessonova)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 1 2018, 11:54 PM (268 w, 4 d)

Recent Activity

Mon, Mar 13

krisb added a comment to D144008: [DebugMetadata][DwarfDebug] Support function-local static variables in lexical block scopes (7/7).

@dblaikie

@krisb - how's this handle cases of old IR being used in a newer compiler/linker?

Mon, Mar 13, 5:40 AM · debug-info, Restricted Project, Restricted Project
krisb added a comment to D144008: [DebugMetadata][DwarfDebug] Support function-local static variables in lexical block scopes (7/7).

@jmmartinez

I've just finished reading and playing with the whole set of patches. Beside some minor nitpicks I've already posted everything else looks good to me.

I also tried compiling LLVM with the patches to see if there was any difference in size in clang's binary (w/debug info and static linking): 1454920 Kb before the patch vs 1454684 Kb after. I've got simiar results when trying with split bash.

I tested the code on some simple examples and it worked as expected.

Mon, Mar 13, 5:40 AM · debug-info, Restricted Project, Restricted Project
krisb updated the diff for D144008: [DebugMetadata][DwarfDebug] Support function-local static variables in lexical block scopes (7/7).

Rebase.

Mon, Mar 13, 5:38 AM · debug-info, Restricted Project, Restricted Project
krisb added a comment to D144007: [DwarfDebug] Move emission of globals from beginModule() to endModule() (6/7).

I guess this one's a bit clearer than the type one about why changing the order is important for getting local entities correctly scoped - local static is a global variable for the debug info and IR, so we need to emit the scopes before we'll know where to put the globals, etc.

Mon, Mar 13, 5:36 AM · debug-info, Restricted Project, Restricted Project
krisb updated the diff for D144007: [DwarfDebug] Move emission of globals from beginModule() to endModule() (6/7).

Apply comments and rebase.

Mon, Mar 13, 5:36 AM · debug-info, Restricted Project, Restricted Project
krisb updated the diff for D144006: [DebugMetadata][DwarfDebug] Support function-local types in lexical block scopes (5/7).

Apply review comments and rebase.

Mon, Mar 13, 5:34 AM · Restricted Project, debug-info, Restricted Project, Restricted Project
krisb added inline comments to D144006: [DebugMetadata][DwarfDebug] Support function-local types in lexical block scopes (5/7).
Mon, Mar 13, 5:34 AM · Restricted Project, debug-info, Restricted Project, Restricted Project
krisb updated the diff for D144005: [DwarfDebug] Move emission of types from beginModule() to endModule() (4/7).

Rebase.

Mon, Mar 13, 5:33 AM · debug-info, Restricted Project, Restricted Project
krisb added a comment to D144005: [DwarfDebug] Move emission of types from beginModule() to endModule() (4/7).

Change seems OK - but might be nice to know a bit more about why this is helpful for correcting function-local entities?

Mon, Mar 13, 5:33 AM · debug-info, Restricted Project, Restricted Project
krisb updated the diff for D144004: [DebugMetadata][DwarfDebug] Fix DWARF emisson of function-local imported entities (3/7).

Rebase.

Mon, Mar 13, 5:30 AM · Restricted Project, debug-info, Restricted Project, Restricted Project
krisb added a comment to D143985: [DwarfDebug] Move emission of imported entities from beginModule() to endModule() (2/7).

@dblaikie thank you for looking at this! Hope this will be the final and successful iteration of the patchset.

Mon, Mar 13, 5:29 AM · debug-info, Restricted Project, Restricted Project
krisb updated the diff for D143985: [DwarfDebug] Move emission of imported entities from beginModule() to endModule() (2/7).

Apply comments & rebase.

Mon, Mar 13, 5:29 AM · debug-info, Restricted Project, Restricted Project
krisb updated the diff for D143984: [DebugMetadata] Simplify handling subprogram's retainedNodes field. NFCI (1/7).

Rebase.

Mon, Mar 13, 5:27 AM · Restricted Project, debug-info, Restricted Project, Restricted Project

Tue, Mar 7

krisb added inline comments to D143984: [DebugMetadata] Simplify handling subprogram's retainedNodes field. NFCI (1/7).
Tue, Mar 7, 1:57 AM · Restricted Project, debug-info, Restricted Project, Restricted Project

Sun, Mar 5

krisb added reviewers for D143984: [DebugMetadata] Simplify handling subprogram's retainedNodes field. NFCI (1/7): aprantl, probinson.
Sun, Mar 5, 11:55 PM · Restricted Project, debug-info, Restricted Project, Restricted Project
krisb added a comment to D37626: [ELF] Scan .eh_frame sections precisely in order to eliminate unused LSDAs and personality routines..

Hello @MaskRay, thanks for the review! And sorry for the delay with response.
The patch is useful in a probably rare case, indeed. It reproduces with a statically linked application that does not use exceptions itself, but hooks the personality routine because of some indirect dependencies that are removed by GC. Unfortunately, we cannot share our sample, but we will try to find something meaningful in the public domain.
Note that GNU ld produces smaller binaries because it analyzes the liveness of sections/pieces more thoroughly.

Sun, Mar 5, 11:53 PM · Restricted Project, Restricted Project, lld

Thu, Mar 2

krisb added a comment to D143984: [DebugMetadata] Simplify handling subprogram's retainedNodes field. NFCI (1/7).

Friendly ping.

Thu, Mar 2, 7:54 AM · Restricted Project, debug-info, Restricted Project, Restricted Project
krisb added inline comments to D144008: [DebugMetadata][DwarfDebug] Support function-local static variables in lexical block scopes (7/7).
Thu, Mar 2, 7:54 AM · debug-info, Restricted Project, Restricted Project

Feb 23 2023

krisb added inline comments to D144004: [DebugMetadata][DwarfDebug] Fix DWARF emisson of function-local imported entities (3/7).
Feb 23 2023, 7:17 AM · Restricted Project, debug-info, Restricted Project, Restricted Project
krisb updated the diff for D144004: [DebugMetadata][DwarfDebug] Fix DWARF emisson of function-local imported entities (3/7).

Apply review comments.

Feb 23 2023, 7:16 AM · Restricted Project, debug-info, Restricted Project, Restricted Project

Feb 22 2023

krisb added a comment to D143984: [DebugMetadata] Simplify handling subprogram's retainedNodes field. NFCI (1/7).

@jmmartinez thank you for looking at this!

Feb 22 2023, 12:25 AM · Restricted Project, debug-info, Restricted Project, Restricted Project

Feb 19 2023

krisb committed rG98b9f8620abf: [BOLT] Attempt to fix bolt/test/runtime/AArch64/adrrelaxationpass.s after… (authored by krisb).
[BOLT] Attempt to fix bolt/test/runtime/AArch64/adrrelaxationpass.s after…
Feb 19 2023, 12:12 AM · Restricted Project
krisb closed D144344: [BOLT] Attempt to fix bolt/test/runtime/AArch64/adrrelaxationpass.s after D144079.
Feb 19 2023, 12:12 AM · Restricted Project, Restricted Project
krisb requested review of D144344: [BOLT] Attempt to fix bolt/test/runtime/AArch64/adrrelaxationpass.s after D144079.
Feb 19 2023, 12:10 AM · Restricted Project, Restricted Project

Feb 18 2023

krisb committed rG5dde2bcdd172: [AArch64InstPrinter][llvm-objdump] Print ADR PC-relative label as a target… (authored by krisb).
[AArch64InstPrinter][llvm-objdump] Print ADR PC-relative label as a target…
Feb 18 2023, 8:32 AM · Restricted Project, Restricted Project
krisb closed D144079: [AArch64InstPrinter][llvm-objdump] Print ADR PC-relative label as a target address hexadecimal form.
Feb 18 2023, 8:32 AM · Restricted Project, Restricted Project

Feb 17 2023

krisb abandoned D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).

Abandon in favor of https://discourse.llvm.org/t/rfc-dwarfdebug-fix-and-improve-handling-imported-entities-types-and-static-local-in-subprogram-and-lexical-block-scopes/68544.

Feb 17 2023, 6:38 AM · debug-info, Restricted Project, Restricted Project, Restricted Project
krisb abandoned D114705: [DwarfDebug] Move emission of global vars, types and imports to endModule() (2/5).

Abandon in favor of https://discourse.llvm.org/t/rfc-dwarfdebug-fix-and-improve-handling-imported-entities-types-and-static-local-in-subprogram-and-lexical-block-scopes/68544.

Feb 17 2023, 6:38 AM · Restricted Project, debug-info, Restricted Project
krisb abandoned D113741: [RFC][DwarfDebug][AsmPrinter] Support emitting function-local declaration for a lexical block.

Abandon in favor of https://discourse.llvm.org/t/rfc-dwarfdebug-fix-and-improve-handling-imported-entities-types-and-static-local-in-subprogram-and-lexical-block-scopes/68544.

Feb 17 2023, 6:37 AM · Restricted Project, debug-info, Restricted Project
krisb published D144008: [DebugMetadata][DwarfDebug] Support function-local static variables in lexical block scopes (7/7) for review.
Feb 17 2023, 6:36 AM · debug-info, Restricted Project, Restricted Project
krisb published D144007: [DwarfDebug] Move emission of globals from beginModule() to endModule() (6/7) for review.
Feb 17 2023, 6:35 AM · debug-info, Restricted Project, Restricted Project
krisb published D144006: [DebugMetadata][DwarfDebug] Support function-local types in lexical block scopes (5/7) for review.
Feb 17 2023, 6:33 AM · Restricted Project, debug-info, Restricted Project, Restricted Project
krisb published D144005: [DwarfDebug] Move emission of types from beginModule() to endModule() (4/7) for review.
Feb 17 2023, 6:32 AM · debug-info, Restricted Project, Restricted Project
krisb published D144004: [DebugMetadata][DwarfDebug] Fix DWARF emisson of function-local imported entities (3/7) for review.
Feb 17 2023, 6:30 AM · Restricted Project, debug-info, Restricted Project, Restricted Project
krisb published D143985: [DwarfDebug] Move emission of imported entities from beginModule() to endModule() (2/7) for review.
Feb 17 2023, 6:26 AM · debug-info, Restricted Project, Restricted Project
krisb published D143984: [DebugMetadata] Simplify handling subprogram's retainedNodes field. NFCI (1/7) for review.
Feb 17 2023, 6:24 AM · Restricted Project, debug-info, Restricted Project, Restricted Project

Feb 15 2023

krisb added a comment to D144079: [AArch64InstPrinter][llvm-objdump] Print ADR PC-relative label as a target address hexadecimal form.

@simon_tatham thank you for looking at this!

Feb 15 2023, 7:40 AM · Restricted Project, Restricted Project
krisb added a comment to D144079: [AArch64InstPrinter][llvm-objdump] Print ADR PC-relative label as a target address hexadecimal form.

@peter.smith thank you for your comments!

Feb 15 2023, 7:37 AM · Restricted Project, Restricted Project
krisb updated the diff for D144079: [AArch64InstPrinter][llvm-objdump] Print ADR PC-relative label as a target address hexadecimal form.

Make test checks more readable.

Feb 15 2023, 7:36 AM · Restricted Project, Restricted Project
krisb updated the summary of D144079: [AArch64InstPrinter][llvm-objdump] Print ADR PC-relative label as a target address hexadecimal form.
Feb 15 2023, 7:35 AM · Restricted Project, Restricted Project
krisb published D144079: [AArch64InstPrinter][llvm-objdump] Print ADR PC-relative label as a target address hexadecimal form for review.
Feb 15 2023, 1:15 AM · Restricted Project, Restricted Project

Jan 25 2023

krisb added a comment to D141679: [CodeGen][Dwarf] Generate global variable DIEs after all subprogram (and their abstract origin) DIEs.

@jmmartinez Just FYI, I'm going to resurrect/update the whole patchset related to D125693 in a week or two, and will appreciate any help in reviewing the patches.

Jan 25 2023, 6:02 AM · Restricted Project, Restricted Project
krisb added a comment to D37626: [ELF] Scan .eh_frame sections precisely in order to eliminate unused LSDAs and personality routines..

Ping

Jan 25 2023, 1:27 AM · Restricted Project, Restricted Project, lld

Jan 17 2023

krisb updated the diff for D37626: [ELF] Scan .eh_frame sections precisely in order to eliminate unused LSDAs and personality routines..

Rebase on ToT

Jan 17 2023, 11:23 PM · Restricted Project, Restricted Project, lld
krisb commandeered D37626: [ELF] Scan .eh_frame sections precisely in order to eliminate unused LSDAs and personality routines..

Let's give this another chance.

Jan 17 2023, 11:22 PM · Restricted Project, Restricted Project, lld

Dec 18 2022

krisb committed rG54418125191c: [llvm-objdump][AArch64] Fix ADRP target label calculation (authored by krisb).
[llvm-objdump][AArch64] Fix ADRP target label calculation
Dec 18 2022, 4:26 AM · Restricted Project, Restricted Project
krisb closed D139407: [llvm-objdump][AArch64] Fix ADRP target label calculation.
Dec 18 2022, 4:25 AM · Restricted Project, Restricted Project

Dec 13 2022

krisb added inline comments to D139407: [llvm-objdump][AArch64] Fix ADRP target label calculation.
Dec 13 2022, 7:24 AM · Restricted Project, Restricted Project
krisb updated the diff for D139407: [llvm-objdump][AArch64] Fix ADRP target label calculation.

Keep original test case and add another one.

Dec 13 2022, 7:18 AM · Restricted Project, Restricted Project
krisb added inline comments to D138531: [PATCH] [NVPTX] Backend support for variadic functions.
Dec 13 2022, 4:27 AM · Restricted Project, Restricted Project

Dec 12 2022

krisb updated the diff for D139407: [llvm-objdump][AArch64] Fix ADRP target label calculation.

Rebase & ping

Dec 12 2022, 10:30 AM · Restricted Project, Restricted Project

Dec 6 2022

krisb added inline comments to D139407: [llvm-objdump][AArch64] Fix ADRP target label calculation.
Dec 6 2022, 12:32 PM · Restricted Project, Restricted Project
krisb requested review of D139407: [llvm-objdump][AArch64] Fix ADRP target label calculation.
Dec 6 2022, 2:34 AM · Restricted Project, Restricted Project
krisb committed rG4e958b4d7cd3: [llvm-objdump] Avoid using mapping symbols as branch target labels (authored by krisb).
[llvm-objdump] Avoid using mapping symbols as branch target labels
Dec 6 2022, 2:20 AM · Restricted Project, Restricted Project
krisb closed D139131: [llvm-objdump] Avoid using mapping symbols as branch target labels.
Dec 6 2022, 2:19 AM · Restricted Project, Restricted Project

Dec 2 2022

krisb updated the diff for D139131: [llvm-objdump] Avoid using mapping symbols as branch target labels.

Fix lld test

Dec 2 2022, 3:17 AM · Restricted Project, Restricted Project

Dec 1 2022

krisb requested review of D139131: [llvm-objdump] Avoid using mapping symbols as branch target labels.
Dec 1 2022, 11:17 AM · Restricted Project, Restricted Project

Nov 3 2022

krisb committed rG4ecb2b8ef6be: [DebugInfo][Metadata] Make AllEnumTypes holding TrackingMDNodeRef (authored by krisb).
[DebugInfo][Metadata] Make AllEnumTypes holding TrackingMDNodeRef
Nov 3 2022, 1:30 AM · Restricted Project, Restricted Project, Restricted Project
krisb closed D137067: [DebugInfo][Metadata] Make AllEnumTypes holding TrackingMDNodeRef.
Nov 3 2022, 1:30 AM · Restricted Project, Restricted Project, Restricted Project

Oct 31 2022

krisb added a comment to D137067: [DebugInfo][Metadata] Make AllEnumTypes holding TrackingMDNodeRef.

Test case can be simplified a bit further:

Thank you!

Oct 31 2022, 11:18 AM · Restricted Project, Restricted Project, Restricted Project
krisb updated the diff for D137067: [DebugInfo][Metadata] Make AllEnumTypes holding TrackingMDNodeRef.

Apply review comments.

Oct 31 2022, 11:17 AM · Restricted Project, Restricted Project, Restricted Project
krisb requested review of D137067: [DebugInfo][Metadata] Make AllEnumTypes holding TrackingMDNodeRef.
Oct 31 2022, 3:16 AM · Restricted Project, Restricted Project, Restricted Project

Aug 1 2022

krisb committed rGfacb3ac385c3: [GlobalISel][DebugInfo] salvageDebugInfo analogue for gMIR (authored by dzhidzhoev).
[GlobalISel][DebugInfo] salvageDebugInfo analogue for gMIR
Aug 1 2022, 2:15 AM · Restricted Project, Restricted Project
krisb closed D129909: [GlobalISel][DebugInfo] salvageDebugInfo analogue for gMIR.
Aug 1 2022, 2:15 AM · debug-info, Restricted Project, Restricted Project

Jul 25 2022

krisb updated the diff for D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).

Fix misprint.

Jul 25 2022, 8:18 AM · debug-info, Restricted Project, Restricted Project, Restricted Project
krisb updated the summary of D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).
Jul 25 2022, 7:59 AM · debug-info, Restricted Project, Restricted Project, Restricted Project
krisb updated the diff for D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).
  • Rebase on top of 'main'.
  • Reuse DIsubprogram's retainedNodes to track function-local types, imports and static locals.
Jul 25 2022, 7:55 AM · debug-info, Restricted Project, Restricted Project, Restricted Project
krisb updated the diff for D114705: [DwarfDebug] Move emission of global vars, types and imports to endModule() (2/5).

Rebase

Jul 25 2022, 7:53 AM · Restricted Project, debug-info, Restricted Project
krisb updated the diff for D114705: [DwarfDebug] Move emission of global vars, types and imports to endModule() (2/5).

Rebase

Jul 25 2022, 1:40 AM · Restricted Project, debug-info, Restricted Project
krisb abandoned D125691: [DebugInfo] Add localDecls field to DISubprogram and DILexicalBlock (1/5).

Tracking function-local entities per-scope is good from optimization point (we may remove DILexicalBlock if there are no instruction left in it), but it makes handling abstract trees in AsmPrinter difficult.
We want to create an abstract scope if it is a parent scope for any of tracked nodes (this is true for local variables/labels as well as for other local entities). Since there are no easy ways to find which DILexicalBlocks belong to a particular subprogram, I'm not sure this approach is profitable.

Jul 25 2022, 12:44 AM · debug-info, Restricted Project, Restricted Project

Jul 24 2022

krisb added a comment to D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).

@dblaikie, could you please take a look at this and/or D113741? Do you see any ways to proceed?

My concern with this direction is that anything that adds lists to the IR metadata makes it difficult for that data to be dropped when it becomes unused (the type graph, apart from the "retained types" on the CU, is structured so that if a variable, say, gets optimized away, or a function gets optimized away and its parameters along with it, the types get dropped too - similarly with function descriptions, they aren't in a list (they used to be) and are instead referenced from the llvm::Function ensuring that if the function is optimized away entirely, the debug info for that goes away too). Admittedly function-local things are handled somewhat differently, for instance there is a list on the DISubprogram of the local variables to ensure they are retained through optimizations so name lookup does the right things at function-scope. So /maybe/ it's OK to move in that direction here, but it might look more like that, add these other function-local things to the DISubprogram-scoped list (rename the list to generalize over more than just variables), rather than adding per-scope lists?

Initially, I made the dedicated per-scope list of local static vars/imports/types to make possible to remove unused entities if their parent scope gets optimized out. This doesn't fully resolve your concern about local types that might be emitted even if they are not used, but this makes the things a bit better. Moreover, such local entities as well as variables/labels are not going to be emitted to a final DWARF if their scope was optimized away. Currently, to emit any local entity we need its scope to have LexicalScope defined. If there are no DILocations in such a scope (so that it may be considered as optimized out), it will not have LexicalScope defined for it, thus no variables/labels/other local things will be emitted for it. So, if we are not going to change this design in a near future, it might be worse to consider switching local variables/labels to per-scope list as well.

What about merging variables/labels/other entities to a single list, I fully support this idea (it would require some additional checks in the backend, but would look more consistent).

Ah, fair point about implicitly dropping some debug info if it's in a dead scope. & yeah, maybe moving the existing optimized local variables list into a per-scope list might be a nice improvement regardless.

Well, this isn't as good as I thought. We are skipping optimized scopes and entities belong to them iff the scope is concrete (either inline or out-of-line). But we never skip abstract scopes; instead we create LexicalScope's just before constructing an abstract tree (see DwarfDebug::ensureAbstractEntityIsCreated()) if there are some retained nodes in them (currently, local variables or labels).

Jul 24 2022, 10:49 PM · debug-info, Restricted Project, Restricted Project, Restricted Project

Jul 21 2022

krisb requested review of D130235: [WIP] Initial attempt to emit debug line record for an inlined callsite.
Jul 21 2022, 2:46 AM · debug-info, Restricted Project, Restricted Project

Jul 18 2022

krisb committed rG44736c1d497f: [CloneFunction][DebugInfo] Avoid cloning DILexicalBlocks of inlined subprograms (authored by krisb).
[CloneFunction][DebugInfo] Avoid cloning DILexicalBlocks of inlined subprograms
Jul 18 2022, 4:16 AM · Restricted Project, Restricted Project
krisb closed D127102: [CloneFunction][DebugInfo] Avoid cloning DILexicalBlocks of inlined subprograms.
Jul 18 2022, 4:16 AM · debug-info, Restricted Project, Restricted Project
krisb updated the diff for D127102: [CloneFunction][DebugInfo] Avoid cloning DILexicalBlocks of inlined subprograms.

Rebase

Jul 18 2022, 2:22 AM · debug-info, Restricted Project, Restricted Project

Jul 13 2022

krisb added a comment to D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).

@dblaikie, could you please take a look at this and/or D113741? Do you see any ways to proceed?

My concern with this direction is that anything that adds lists to the IR metadata makes it difficult for that data to be dropped when it becomes unused (the type graph, apart from the "retained types" on the CU, is structured so that if a variable, say, gets optimized away, or a function gets optimized away and its parameters along with it, the types get dropped too - similarly with function descriptions, they aren't in a list (they used to be) and are instead referenced from the llvm::Function ensuring that if the function is optimized away entirely, the debug info for that goes away too). Admittedly function-local things are handled somewhat differently, for instance there is a list on the DISubprogram of the local variables to ensure they are retained through optimizations so name lookup does the right things at function-scope. So /maybe/ it's OK to move in that direction here, but it might look more like that, add these other function-local things to the DISubprogram-scoped list (rename the list to generalize over more than just variables), rather than adding per-scope lists?

Jul 13 2022, 10:44 AM · debug-info, Restricted Project, Restricted Project, Restricted Project

Jul 11 2022

krisb added inline comments to D113741: [RFC][DwarfDebug][AsmPrinter] Support emitting function-local declaration for a lexical block.
Jul 11 2022, 12:46 AM · Restricted Project, debug-info, Restricted Project
krisb added a comment to D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).

@dblaikie, could you please take a look at this and/or D113741? Do you see any ways to proceed?

Jul 11 2022, 12:45 AM · debug-info, Restricted Project, Restricted Project, Restricted Project

Jul 6 2022

krisb added inline comments to D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).
Jul 6 2022, 3:45 PM · debug-info, Restricted Project, Restricted Project, Restricted Project
krisb added inline comments to D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).
Jul 6 2022, 2:21 AM · debug-info, Restricted Project, Restricted Project, Restricted Project

Jul 5 2022

krisb added a comment to D113741: [RFC][DwarfDebug][AsmPrinter] Support emitting function-local declaration for a lexical block.

Ping?

Jul 5 2022, 7:27 AM · Restricted Project, debug-info, Restricted Project

Jun 29 2022

krisb added a comment to D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).

Ping

Jun 29 2022, 8:46 AM · debug-info, Restricted Project, Restricted Project, Restricted Project
krisb updated the diff for D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).

Make DwarfDebug::endModule() to skip function-local decls
CUs 'imports', 'globals' and 'enums' instead of asserting.

Jun 29 2022, 8:45 AM · debug-info, Restricted Project, Restricted Project, Restricted Project

Jun 27 2022

krisb added a comment to D125691: [DebugInfo] Add localDecls field to DISubprogram and DILexicalBlock (1/5).

Ping

Jun 27 2022, 4:08 AM · debug-info, Restricted Project, Restricted Project

Jun 21 2022

krisb updated the diff for D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).

Rebase.

Jun 21 2022, 3:03 AM · debug-info, Restricted Project, Restricted Project, Restricted Project

Jun 16 2022

krisb committed rG5cfbfa035fc1: [sanitizer_common] Fix SanitizerCommon.ChainedOriginDepotStats test (authored by krisb).
[sanitizer_common] Fix SanitizerCommon.ChainedOriginDepotStats test
Jun 16 2022, 3:02 AM · Restricted Project, Restricted Project
krisb closed D127621: [sanitizer_common] Fix SanitizerCommon.ChainedOriginDepotStats test.
Jun 16 2022, 3:01 AM · Restricted Project, Restricted Project

Jun 14 2022

krisb updated the diff for D114705: [DwarfDebug] Move emission of global vars, types and imports to endModule() (2/5).

Rebased

Jun 14 2022, 2:55 PM · Restricted Project, debug-info, Restricted Project
krisb added a comment to D125691: [DebugInfo] Add localDecls field to DISubprogram and DILexicalBlock (1/5).

Do you need to add any special handling to CloneFunction.cpp or will it work correctly?

Jun 14 2022, 2:45 AM · debug-info, Restricted Project, Restricted Project

Jun 13 2022

krisb updated the summary of D127621: [sanitizer_common] Fix SanitizerCommon.ChainedOriginDepotStats test.
Jun 13 2022, 1:37 PM · Restricted Project, Restricted Project
krisb retitled D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5) from [DebugInfo][WIP] Support types, imports and static locals declared in a lexical block (3/5) to [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).
Jun 13 2022, 10:26 AM · debug-info, Restricted Project, Restricted Project, Restricted Project
krisb added a comment to D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).

Tested the whole patchset with various combinations of

  • opt levels (O0, O2, O3, ThinLTO, FullLTO),
  • debug info options (-fdebug-types-section, -gline-tables-only, -fno-eliminate-unused-debug-types -gsplit-dwarf, -fsplit-dwarf-inlining),
  • and some additional checks / asserts (like additional verification of abstract / concrete out-of-line tree to be sure local entities are not duplicated, do not go to the wrong tree)

on clang bootstrapping build. No issues so far (except PR55680, which caused not by this and related patches).

Jun 13 2022, 10:25 AM · debug-info, Restricted Project, Restricted Project, Restricted Project
krisb retitled D125691: [DebugInfo] Add localDecls field to DISubprogram and DILexicalBlock (1/5) from [DebugInfo][WIP] Add localDecls field to DISubprogram and DILexicalBlock (1/5) to [DebugInfo] Add localDecls field to DISubprogram and DILexicalBlock (1/5).
Jun 13 2022, 2:30 AM · debug-info, Restricted Project, Restricted Project
krisb added a comment to D127102: [CloneFunction][DebugInfo] Avoid cloning DILexicalBlocks of inlined subprograms.

Ping

Jun 13 2022, 2:29 AM · debug-info, Restricted Project, Restricted Project
krisb requested review of D127621: [sanitizer_common] Fix SanitizerCommon.ChainedOriginDepotStats test.
Jun 13 2022, 2:28 AM · Restricted Project, Restricted Project

Jun 6 2022

krisb updated the diff for D125695: [clang][DebugInfo] Allow function-local type-like entities to be scoped within a lexical block (5/5).

Applied review comments.

Jun 6 2022, 11:10 AM · debug-info, Restricted Project, Restricted Project
krisb requested review of D127102: [CloneFunction][DebugInfo] Avoid cloning DILexicalBlocks of inlined subprograms.
Jun 6 2022, 5:15 AM · debug-info, Restricted Project, Restricted Project
krisb updated the diff for D125693: [DebugInfo] Support types, imports and static locals declared in a lexical block (3/5).

Add two tests from D113741.
Fixed crash in DwarfCompileUnit in case of PR55680 (the issue itself wasn't fixed), add a test.

Jun 6 2022, 4:49 AM · debug-info, Restricted Project, Restricted Project, Restricted Project
krisb added inline comments to D113741: [RFC][DwarfDebug][AsmPrinter] Support emitting function-local declaration for a lexical block.
Jun 6 2022, 2:27 AM · Restricted Project, debug-info, Restricted Project
krisb updated the diff for D113741: [RFC][DwarfDebug][AsmPrinter] Support emitting function-local declaration for a lexical block.

Add tests:

  • llvm/test/DebugInfo/Generic/split-dwarf-local-import-fulllto.ll (temporary)
  • llvm/test/DebugInfo/Generic/split-dwarf-local-import3.ll
Jun 6 2022, 2:27 AM · Restricted Project, debug-info, Restricted Project