Page MenuHomePhabricator
Feed Advanced Search

Yesterday

vsk updated the summary of D83359: [Function] Lock the function when parsing call site info.
Tue, Jul 7, 5:38 PM · Restricted Project
vsk updated the diff for D83359: [Function] Lock the function when parsing call site info.

Move locking up into lldb::Function, and leave a comment in SymbolFileDWARF explaining why.

Tue, Jul 7, 5:38 PM · Restricted Project
vsk planned changes to D83359: [Function] Lock the function when parsing call site info.

Hm, this doesn't totally fix the race. If the mutex is contested, the Function instance may overwrite its m_call_edges vector.

Tue, Jul 7, 5:05 PM · Restricted Project
Herald added a project to D83359: [Function] Lock the function when parsing call site info: Restricted Project.
Tue, Jul 7, 4:59 PM · Restricted Project

Mon, Jul 6

vsk accepted D83236: [DWARF] Add cutoff guarding validThroughout to avoid near-quadratic behaviour.

Thanks, lgtm.

Mon, Jul 6, 12:07 PM · Restricted Project
vsk added a comment to D83047: [LiveDebugValues] 2/4 Add instruction-referencing LiveDebugValues implementation.

Thanks for this, Jeremy. It'll take me multiple passes to page all of this in. I hope to get to the core algorithm changes in my next review. In the interest of getting some feedback to you sooner rather than later, I've included some minor suggestions and questions inline.

Mon, Jul 6, 11:52 AM · debug-info, Restricted Project

Sun, Jul 5

vsk added inline comments to D81939: [deadargelim] Attach dbg info to the insert/extractvalue instructions.
Sun, Jul 5, 6:07 PM · debug-info, Restricted Project
vsk added a comment to D83046: [LiveDebugValues] 1/4 Install an implementation-picking LiveDebugValues pass.

Neat! Could you please clang-format the diff and add in license headers?

Sun, Jul 5, 6:07 PM · debug-info, Restricted Project
vsk requested changes to D82547: [Debugify] Expose debugify (original mode) as CC1 option.
Sun, Jul 5, 5:35 PM · Restricted Project, Restricted Project, debug-info

Thu, Jul 2

vsk committed rG47481cbffbef: [test] Deflake test/profile/ContinuousSyncMode/online-merging.c (authored by vsk).
[test] Deflake test/profile/ContinuousSyncMode/online-merging.c
Thu, Jul 2, 1:32 PM

Tue, Jun 30

vsk added a comment to D75270: [DebugInfo] Do not emit entry values for composite locations.

@dstenb thanks for kicking off the thread on dwarf-discuss, and sorry for the delay here. Please go ahead, it looks like there's strong consensus that a composite location description can't be emitted where a DWARF expression or simple register location is expected.

Tue, Jun 30, 12:29 PM · Restricted Project, debug-info

Mon, Jun 29

vsk added inline comments to D82804: Do not set LLDB_DEBUGSERVER_PATH if --out-of-tree-debugserver is passed..
Mon, Jun 29, 5:13 PM · Restricted Project

Fri, Jun 26

vsk committed rG9649c2095f07: [InstCombine] Drop debug loc in TryToSinkInstruction (reland) (authored by vsk).
[InstCombine] Drop debug loc in TryToSinkInstruction (reland)
Fri, Jun 26, 5:21 PM
vsk added a comment to D82487: [InstCombine] Drop debug loc in TryToSinkInstruction.

@tbosch I've reverted this commit in ee3620643dfc88a178fa4ca116cf83014e4ee547 as it was causing another issue (errors about inlinable instructions without debug locations). After fixing that problem, I could not reproduce the error you reported in a stage2 clang build.

Fri, Jun 26, 4:48 PM · Restricted Project
vsk committed rGee3620643dfc: Revert "[InstCombine] Drop debug loc in TryToSinkInstruction" (authored by vsk).
Revert "[InstCombine] Drop debug loc in TryToSinkInstruction"
Fri, Jun 26, 3:13 PM
vsk added a reverting change for rG903cf140d011: [InstCombine] Drop debug loc in TryToSinkInstruction: rGee3620643dfc: Revert "[InstCombine] Drop debug loc in TryToSinkInstruction".
Fri, Jun 26, 3:13 PM
vsk committed rGc1cad151b03c: [debugify] Demote an error about empty locations to a warning (authored by vsk).
[debugify] Demote an error about empty locations to a warning
Fri, Jun 26, 3:12 PM
vsk committed rG903cf140d011: [InstCombine] Drop debug loc in TryToSinkInstruction (authored by vsk).
[InstCombine] Drop debug loc in TryToSinkInstruction
Fri, Jun 26, 1:42 PM
vsk closed D82487: [InstCombine] Drop debug loc in TryToSinkInstruction.
Fri, Jun 26, 1:42 PM · Restricted Project
vsk added a comment to D82487: [InstCombine] Drop debug loc in TryToSinkInstruction.

Thanks!

Fri, Jun 26, 1:08 PM · Restricted Project
vsk updated the diff for D71491: [ubsan] Check implicit casts in ObjC for-in statements.

Use the IsKindOfClass CallArgList when emitting the check, and add a runtime test to ensure that an objc-cast diagnostic is not emitted on correct code.

Fri, Jun 26, 12:35 PM · Restricted Project, Restricted Project, Restricted Project
vsk added inline comments to D71491: [ubsan] Check implicit casts in ObjC for-in statements.
Fri, Jun 26, 12:35 PM · Restricted Project, Restricted Project, Restricted Project

Wed, Jun 24

vsk committed rGd65cdb498f90: [docs] Fix typo (authored by vsk).
[docs] Fix typo
Wed, Jun 24, 11:56 AM
vsk created D82487: [InstCombine] Drop debug loc in TryToSinkInstruction.
Wed, Jun 24, 11:55 AM · Restricted Project

Tue, Jun 23

vsk committed rGf8bd6a75edac: [SimplifyCFG] Drop debug loc in SpeculativelyExecuteBB (authored by vsk).
[SimplifyCFG] Drop debug loc in SpeculativelyExecuteBB
Tue, Jun 23, 6:54 PM
vsk closed D82420: [SimplifyCFG] Drop debug loc in SpeculativelyExecuteBB.
Tue, Jun 23, 6:54 PM · Restricted Project
vsk added a comment to D82420: [SimplifyCFG] Drop debug loc in SpeculativelyExecuteBB.

The issue triggers quite often in a stage2 build: I count 50K instances and the build is less than half complete.

Tue, Jun 23, 6:21 PM · Restricted Project
vsk updated the diff for D82420: [SimplifyCFG] Drop debug loc in SpeculativelyExecuteBB.

Back out the change for speculated store instructions: a merged location is applied to this instruction.

Tue, Jun 23, 4:44 PM · Restricted Project
vsk created D82420: [SimplifyCFG] Drop debug loc in SpeculativelyExecuteBB.
Tue, Jun 23, 4:43 PM · Restricted Project

Fri, Jun 19

vsk accepted D81852: [DebugInfo] Update MachineInstr interface to better support variadic DBG_VALUE instructions.

Thank you!

Fri, Jun 19, 12:32 PM · debug-info, Restricted Project

Thu, Jun 18

vsk accepted D81980: Repair support for launching iphone/tv/watch simulator binaries through platform.
Thu, Jun 18, 9:47 PM · Restricted Project
vsk committed rGb4459b597a67: [docs] Specify rules for updating debug locations (authored by vsk).
[docs] Specify rules for updating debug locations
Thu, Jun 18, 2:17 PM
vsk closed D81198: [docs] Specify rules for updating debug locations.
Thu, Jun 18, 2:17 PM · Restricted Project
vsk added a comment to D81198: [docs] Specify rules for updating debug locations.

We recently ran into a case where it looks like the variable's location was correct but the containing scope was wrong. I guess we'll need a separate update for how to manage scopes.
Not an objection to this patch, just observing there are more cases to think about.

Thu, Jun 18, 2:15 PM · Restricted Project
vsk added inline comments to D81852: [DebugInfo] Update MachineInstr interface to better support variadic DBG_VALUE instructions.
Thu, Jun 18, 1:06 PM · debug-info, Restricted Project
vsk accepted D82062: [SimplifyCFG] Update debug location when folding branch to common destination.

Thanks, lgtm!

Thu, Jun 18, 12:01 PM · Restricted Project
vsk added a comment to D81980: Repair support for launching iphone/tv/watch simulator binaries through platform.

Generally this looks really nice!

Thu, Jun 18, 10:54 AM · Restricted Project

Wed, Jun 17

vsk updated the diff for D71491: [ubsan] Check implicit casts in ObjC for-in statements.

Rebase.

Wed, Jun 17, 4:12 PM · Restricted Project, Restricted Project, Restricted Project
vsk added a comment to D81198: [docs] Specify rules for updating debug locations.

I think I've addressed all the outstanding feedback. I'll plan to land this in 24h if there aren't any more comments. Thanks!

Wed, Jun 17, 3:40 PM · Restricted Project
vsk added a comment to D81852: [DebugInfo] Update MachineInstr interface to better support variadic DBG_VALUE instructions.

I think this is a really nice step towards hiding some of the implementation details of debug instructions. I especially appreciate that code that operates on debug instructions becomes clearer.

Wed, Jun 17, 3:40 PM · debug-info, Restricted Project
vsk accepted D82000: [CSInfo][MIPS] Don't describe parameters loaded by sub- or super- register copy.

Lgtm!

Wed, Jun 17, 12:56 PM · Restricted Project, debug-info

Tue, Jun 16

vsk accepted D81437: [CGP] Reset the debug location when promoting zext(s).

Lgtm with minor nitpicks inline, thanks!

Tue, Jun 16, 4:29 PM · Restricted Project
vsk added inline comments to D81437: [CGP] Reset the debug location when promoting zext(s).
Tue, Jun 16, 3:56 PM · Restricted Project
vsk added a comment to D81939: [deadargelim] Attach dbg info to the insert/extractvalue instructions.

Hi @djtodoro, this popped up in my mail filter so I thought I'd drop a line :). It sounds like there's a substantial amount of overlap with the debugify stuff and the tool here (https://github.com/djolertrk/llvm-di-checker). Do we need both?

Tue, Jun 16, 12:39 PM · debug-info, Restricted Project

Mon, Jun 15

vsk accepted D81879: [CGP] Reset the debug location when promoting trunc(s).

Thanks, lgtm. I had a look at the other TypePromotionActions in CodeGenPrepare: I think it'd be better to default to these /not/ carrying over debug locations, even though in some cases it would be appropriate to do so (e.g. if the instruction reordering is block-local), just because there's so much cross-BB movement.

Mon, Jun 15, 2:20 PM · Restricted Project
vsk accepted D81685: BypassSlowDivision: Fix dropping debug info.

This looks good to me. I think using update_test_checks here is fine, but could you leave this up for another day or so to give Adrian a chance to review?

Mon, Jun 15, 2:20 PM · Restricted Project

Fri, Jun 12

vsk accepted D81612: [lldb/Test] Assert that no targets or global modules remain after a test completes..

Lgtm.

Fri, Jun 12, 2:14 PM · Restricted Project
vsk added inline comments to D81685: BypassSlowDivision: Fix dropping debug info.
Fri, Jun 12, 10:52 AM · Restricted Project

Thu, Jun 11

vsk accepted D81696: [lldb/Test] Fix ASan/TSan workaround for Xcode Python 3.

Lgtm, thanks.

Thu, Jun 11, 7:15 PM · Restricted Project
vsk added a comment to D81685: BypassSlowDivision: Fix dropping debug info.

Re: "This constructs a new IRBuilder and reconstructs the original divides rather than moving the original", you're not changing the algorithm here, just the way locations are assigned, right? Not sure I understand what's meant by 'reconstructs the original divides'.

Thu, Jun 11, 7:15 PM · Restricted Project
vsk updated the diff for D81198: [docs] Specify rules for updating debug locations.

Address some review feedback.

Thu, Jun 11, 6:43 PM · Restricted Project
vsk added inline comments to D81198: [docs] Specify rules for updating debug locations.
Thu, Jun 11, 6:43 PM · Restricted Project
vsk added inline comments to D81696: [lldb/Test] Fix ASan/TSan workaround for Xcode Python 3.
Thu, Jun 11, 5:38 PM · Restricted Project

Wed, Jun 10

vsk added inline comments to D81612: [lldb/Test] Assert that no targets or global modules remain after a test completes..
Wed, Jun 10, 4:41 PM · Restricted Project
vsk updated the diff for D81198: [docs] Specify rules for updating debug locations.

Incorporate review feedback. Mainly:

Wed, Jun 10, 11:41 AM · Restricted Project
vsk added inline comments to D81198: [docs] Specify rules for updating debug locations.
Wed, Jun 10, 11:41 AM · Restricted Project

Tue, Jun 9

vsk added a comment to D81269: Fix null pointer dereference in `ProfileSummaryInfo::getPSI()`.

Near the web UI for adding comments, you should be able to "Abandon Revision" from the "Add Action..." dropdown menu. If not, that's ok, the history here should be sufficient info for future readers.

Tue, Jun 9, 5:09 PM · Restricted Project
vsk added inline comments to D81516: [lldb/Test] Ensure inline tests have a unique build directory.
Tue, Jun 9, 5:09 PM · Restricted Project

Mon, Jun 8

vsk added a comment to D81269: Fix null pointer dereference in `ProfileSummaryInfo::getPSI()`.

@fez thanks for explaining. Changing the library to initialize passes properly seems like the way to go, otherwise we'd be advertising that the pass initialization API is in general optional to call (which it's not). Re: chasing down the UB, I realize that's not a great experience, but istm the way to fix that is to modernize getPSI usage to expect a reference and test with -fsanitize=null to qualify the change.

Mon, Jun 8, 10:29 AM · Restricted Project
vsk accepted D81300: Enable -DLLDB_ENERGY when compiling against an internal SDK.
Mon, Jun 8, 10:29 AM · Restricted Project

Jun 5 2020

vsk added inline comments to D81198: [docs] Specify rules for updating debug locations.
Jun 5 2020, 12:54 PM · Restricted Project
vsk added reviewers for D81269: Fix null pointer dereference in `ProfileSummaryInfo::getPSI()`: mtrofin, eraman, davidxl, rcorcs.

When is a null PSI accessed? It's not clear to me how this happens (based on ProfileSummaryInfoWrapperPass::doInitialization).

Jun 5 2020, 11:12 AM · Restricted Project

Jun 4 2020

vsk committed rG198762680e1e: [LiveDebugValues] Cache LexicalScopes::getMachineBasicBlocks, NFCI (authored by vsk).
[LiveDebugValues] Cache LexicalScopes::getMachineBasicBlocks, NFCI
Jun 4 2020, 5:09 PM
vsk closed D80957: [LiveDebugValues] Cache LexicalScopes::getMachineBasicBlocks, NFCI.
Jun 4 2020, 5:09 PM · Restricted Project
vsk updated subscribers of D81198: [docs] Specify rules for updating debug locations.
Jun 4 2020, 5:09 PM · Restricted Project
vsk added inline comments to D80602: [BranchFolding] Drop location when hoisting.
Jun 4 2020, 4:03 PM · Restricted Project
vsk added a reviewer for D81198: [docs] Specify rules for updating debug locations: debug-info.
Jun 4 2020, 3:29 PM · Restricted Project
vsk created D81198: [docs] Specify rules for updating debug locations.
Jun 4 2020, 3:29 PM · Restricted Project
vsk committed rG24660ea11cb1: [docs] HowToUpdateDebugInfo: Minor cleanups (authored by vsk).
[docs] HowToUpdateDebugInfo: Minor cleanups
Jun 4 2020, 2:59 PM
vsk updated subscribers of D81122: Reland: Use -fdebug-compilation-dir to form absolute paths in coverage mappings.

FYI I actually removed that piece this morning since I felt like since this now supports -path-equivalence=.,foo which is the "expected" behavior from lldb, that was "good enough". lmk if you want me to add it back!

Jun 4 2020, 12:09 PM · Restricted Project, Restricted Project
vsk accepted D81122: Reland: Use -fdebug-compilation-dir to form absolute paths in coverage mappings.

Lgtm. Thanks for making the addition to the command guide!

Jun 4 2020, 11:00 AM · Restricted Project, Restricted Project

Jun 3 2020

vsk committed rG4699a7e23010: [lldb/StringPrinter] Support strings with invalid utf8 sub-sequences (authored by vsk).
[lldb/StringPrinter] Support strings with invalid utf8 sub-sequences
Jun 3 2020, 12:40 PM
vsk committed rG7822b8a817d8: [lldb/StringPrinter] Convert DecodedCharBuffer to a class, NFC (authored by vsk).
[lldb/StringPrinter] Convert DecodedCharBuffer to a class, NFC
Jun 3 2020, 12:40 PM
vsk accepted D81010: [lldb/DWARF] Fix PC value for artificial tail call frames for the "GNU" case.

Lgtm.

Jun 3 2020, 10:58 AM · Restricted Project
vsk added inline comments to D80957: [LiveDebugValues] Cache LexicalScopes::getMachineBasicBlocks, NFCI.
Jun 3 2020, 9:53 AM · Restricted Project

Jun 2 2020

vsk added inline comments to D80955: Fix UB in EmulateInstructionARM64.cpp.
Jun 2 2020, 6:07 PM · Restricted Project
vsk updated the diff for D80957: [LiveDebugValues] Cache LexicalScopes::getMachineBasicBlocks, NFCI.

Simplify further by deleting the UserValueScopes class, as it no longer holds on to anything interesting.

Jun 2 2020, 2:50 PM · Restricted Project
vsk added inline comments to D80519: [lldb/DWARF] Add support for pre-standard GNU call site attributes.
Jun 2 2020, 2:15 PM · Restricted Project
vsk added a comment to D81010: [lldb/DWARF] Fix PC value for artificial tail call frames for the "GNU" case.

Thanks, this ended up being a lot cleaner than I expected!

Jun 2 2020, 10:25 AM · Restricted Project
vsk added a comment to D81014: Add legacy GNU entry value support to dsymutil.

Looks like all the DW_AT_low_pc handling is done earlier, on line 1045: if (AttrSpec.Attr == dwarf::DW_AT_low_pc) { ....

Jun 2 2020, 10:25 AM · Restricted Project
vsk updated the diff for D80957: [LiveDebugValues] Cache LexicalScopes::getMachineBasicBlocks, NFCI.

Move the caching into LexicalScopes.

Jun 2 2020, 9:52 AM · Restricted Project
vsk added a comment to D80957: [LiveDebugValues] Cache LexicalScopes::getMachineBasicBlocks, NFCI.

This makes sense to me.

If you're going to subclass and are paying for the callback indirection in LexicalScopes now anyway, would it not make sense to make getMachineBasicBlocks virtual instead of using a callback? Seems like it could be simpler that way but I don't know if one way is better than the other, I'm just curious.

Jun 2 2020, 9:52 AM · Restricted Project
vsk updated the summary of D80957: [LiveDebugValues] Cache LexicalScopes::getMachineBasicBlocks, NFCI.
Jun 2 2020, 9:52 AM · Restricted Project
vsk added inline comments to D80519: [lldb/DWARF] Add support for pre-standard GNU call site attributes.
Jun 2 2020, 9:52 AM · Restricted Project

Jun 1 2020

vsk committed rGa66e1d2aa943: [os_log][test] Remove -O1 from a test, NFC (authored by vsk).
[os_log][test] Remove -O1 from a test, NFC
Jun 1 2020, 5:22 PM
vsk added inline comments to D60108: [os_log] Mark os_log_helper `nounwind`.
Jun 1 2020, 5:21 PM · Restricted Project
vsk committed rGb429a0fef047: [docs] Sketch outline for HowToUpdateDebugInfo.rst (authored by vsk).
[docs] Sketch outline for HowToUpdateDebugInfo.rst
Jun 1 2020, 4:49 PM
vsk closed D80052: [docs] Sketch outline for HowToUpdateDebugInfo.rst.
Jun 1 2020, 4:49 PM · debug-info, Restricted Project
vsk committed rG776708b00bdd: [LiveDebugValues] Remove early-exit when testing regmasks, NFC (authored by vsk).
[LiveDebugValues] Remove early-exit when testing regmasks, NFC
Jun 1 2020, 3:44 PM
vsk added a comment to D80955: Fix UB in EmulateInstructionARM64.cpp.

I should add: otherwise, this looks good!

Jun 1 2020, 3:11 PM · Restricted Project
vsk added a comment to D80955: Fix UB in EmulateInstructionARM64.cpp.

Any chance we can export AddWithCarry via EmulateInstructionARM64.h, then add a unit test in TestArm64InstEmulation.cpp?

Jun 1 2020, 3:11 PM · Restricted Project
vsk created D80957: [LiveDebugValues] Cache LexicalScopes::getMachineBasicBlocks, NFCI.
Jun 1 2020, 3:11 PM · Restricted Project
vsk accepted D78369: [DebugInfo] Reduce SalvageDebugInfo() functions.

This looks good to me. We should consolidate the salvageDebugInfo* APIs. I think the conversation about renaming the API is a bit moot post-D80264 (afaict the motivation for the rename was that /not/ calling the API could result in invalid debug info -- that should be fixed now).

Jun 1 2020, 12:25 PM · Restricted Project, debug-info
vsk committed rG11c617c41776: [LiveDebugValues] Add LocIndex::u32_{location,index}_t types for readability… (authored by vsk).
[LiveDebugValues] Add LocIndex::u32_{location,index}_t types for readability…
Jun 1 2020, 11:19 AM
vsk committed rG2ecaf93525fe: [LiveDebugValues] Speed up removeEntryValue, NFC (authored by vsk).
[LiveDebugValues] Speed up removeEntryValue, NFC
Jun 1 2020, 11:19 AM
vsk closed D80684: [LiveDebugValues] Speed up removeEntryValue, NFC.
Jun 1 2020, 11:19 AM · Restricted Project
vsk accepted D80929: [NFC][LiveDebugvalues] Document how LiveDebugValues operates.

Looks great!

Jun 1 2020, 10:45 AM · Restricted Project
vsk accepted D80519: [lldb/DWARF] Add support for pre-standard GNU call site attributes.

Thanks, lgtm!

Jun 1 2020, 10:12 AM · Restricted Project
vsk accepted D80868: [LiveDebugValues] Remove PendingInLocs (NFCI).

@nikic Thanks!

Jun 1 2020, 9:39 AM · Restricted Project
vsk added a comment to D80929: [NFC][LiveDebugvalues] Document how LiveDebugValues operates.

This is really nice, thanks.

Jun 1 2020, 9:39 AM · Restricted Project