Page MenuHomePhabricator
Feed Advanced Search

Mon, Aug 19

dstenb added a comment to D64595: [Debuginfo][SROA] Need to handle dbg.value in SROA pass..

(A bit related to aprantl's latest comment.)

Mon, Aug 19, 12:10 PM · Restricted Project, debug-info
dstenb added inline comments to D64595: [Debuginfo][SROA] Need to handle dbg.value in SROA pass..
Mon, Aug 19, 9:38 AM · Restricted Project, debug-info
dstenb committed rG88df53e6eaf3: [DebugInfo] Allow bundled calls in the MIR's call site info (authored by dstenb).
[DebugInfo] Allow bundled calls in the MIR's call site info
Mon, Aug 19, 5:41 AM
dstenb committed rL369256: [DebugInfo] Allow bundled calls in the MIR's call site info.
[DebugInfo] Allow bundled calls in the MIR's call site info
Mon, Aug 19, 5:40 AM
dstenb closed D66145: [DebugInfo] Allow bundled calls in the MIR's call site info.
Mon, Aug 19, 5:40 AM · Restricted Project, debug-info

Thu, Aug 15

dstenb added a comment to D66145: [DebugInfo] Allow bundled calls in the MIR's call site info.

Thanks for the reviews! I can let this sit in Phabricator for a few more days to see if there are any more comments before landing it.

Thu, Aug 15, 12:57 AM · Restricted Project, debug-info

Wed, Aug 14

dstenb updated the diff for D66145: [DebugInfo] Allow bundled calls in the MIR's call site info.

Update test case according to comments.

Wed, Aug 14, 1:30 AM · Restricted Project, debug-info

Tue, Aug 13

dstenb created D66145: [DebugInfo] Allow bundled calls in the MIR's call site info.
Tue, Aug 13, 8:43 AM · Restricted Project, debug-info

Mon, Aug 12

dstenb committed rG9b29ec58b70e: [DebugInfo] Remove call sites when eliminating unreachable blocks (authored by dstenb).
[DebugInfo] Remove call sites when eliminating unreachable blocks
Mon, Aug 12, 6:25 AM
dstenb committed rL368566: [DebugInfo] Remove call sites when eliminating unreachable blocks.
[DebugInfo] Remove call sites when eliminating unreachable blocks
Mon, Aug 12, 6:24 AM
dstenb closed D64500: [DebugInfo] Remove call sites when eliminating unreachable blocks.
Mon, Aug 12, 6:24 AM · Restricted Project, debug-info
dstenb added a comment to D64500: [DebugInfo] Remove call sites when eliminating unreachable blocks.

Thanks for the reviews, and sorry for taking some time to land this!

Mon, Aug 12, 6:20 AM · Restricted Project, debug-info

Jul 12 2019

dstenb added a comment to D60716: [DwarfDebug] Dump call site debug info into DWARF.

@dstenb Thanks a lot!

That seems like a good catch and we should support such scenario.

I think that it will be expensive to return a MachineOperand object.

Jul 12 2019, 4:48 AM · Restricted Project, debug-info
dstenb added a comment to D64500: [DebugInfo] Remove call sites when eliminating unreachable blocks.

I just want to add that I was a bit hesitant about generalizing the removal as I think it can be quite hard to tell when call site information has been removed, so I thought it would be better to have asserts trigger for each individual case, so that we can detect and assess what to do there, rather than dropping the information silently at the risk of false negatives.

Jul 12 2019, 2:03 AM · Restricted Project, debug-info

Jul 10 2019

dstenb created D64500: [DebugInfo] Remove call sites when eliminating unreachable blocks.
Jul 10 2019, 8:12 AM · Restricted Project, debug-info
dstenb added a comment to D60716: [DwarfDebug] Dump call site debug info into DWARF.

Thanks a lot for your work with this patch series! It seems very useful.

Jul 10 2019, 6:14 AM · Restricted Project, debug-info

Jul 9 2019

dstenb added a comment to D64421: [unittest] Add bogus register info..

Thanks a lot for putting the patch together so fast!

Jul 9 2019, 8:42 AM · Restricted Project
dstenb added a comment to D64261: [CodeGen] Enhance `MachineInstrSpan` to allow the end of MBB to be used..

The tests introduced in this commit currently fail when running UBSan, due to invoking getRegInfo() with RegInfo being null:

Jul 9 2019, 7:27 AM · Restricted Project

Jul 8 2019

dstenb added a comment to D58042: [LiveDebugValues] Emit parameter's entry value.

@dstenb We could land this right now, and the patch for the 'llvm-dwarfdump' stats could be a separate patch. Do you agree?

Jul 8 2019, 3:02 AM · Restricted Project, debug-info

Jul 5 2019

dstenb added a comment to D58042: [LiveDebugValues] Emit parameter's entry value.

Did you consider what should be done with llvm-dwarfdump's "scope bytes covered" statistics?

I think that it sounds reasonable to add an additional field there, something like "non-entry-val scope bytes covered".

Jul 5 2019, 1:03 AM · Restricted Project, debug-info

Jul 4 2019

dstenb added inline comments to D60716: [DwarfDebug] Dump call site debug info into DWARF.
Jul 4 2019, 7:09 AM · Restricted Project, debug-info
dstenb added a comment to D58042: [LiveDebugValues] Emit parameter's entry value.

The 'llvm-dwarfdump' does calculate the debug location statistics, but maybe we could think of reporting it with more information, since the debug location info is such important debug info. Please find a proposal for having a separate tool that will calculate only the debug location statistics on my github (https://github.com/djolertrk/llvm-locstats) and let me know if it can be useful for us. Potentially, we could add more options, functionalities, etc..

Jul 4 2019, 7:07 AM · Restricted Project, debug-info

Jul 2 2019

dstenb added a comment to D58042: [LiveDebugValues] Emit parameter's entry value.

Can you change this comment from describing what the code does (which is fairly obvious), to why it does it?

@aprantl Sure. Thanks for the comment!

I'm sorry for the late comment, but in the future I guess this could be extended so that entry_values are emitted for locals that are expressed in terms of parameters, as GCC does?

@dstenb Thanks for your attention and comments. Sure, that is the plan. This is initial set of patches that covers just non-modified function parameters. Even the initial patch within the GCC was handling just this situation. The ways for improving this (using benefits of the debug entry values) are extending the support for modified parameters (if its modification could be described as an expression over its entry value), supporting local variables, etc.

As far as I can tell, we don't tag non-parameter variables as NotModified, but can Clang later on be extended to mark them as such?

Yes, it can be extended.

Jul 2 2019, 4:10 AM · Restricted Project, debug-info
dstenb added inline comments to D58042: [LiveDebugValues] Emit parameter's entry value.
Jul 2 2019, 1:14 AM · Restricted Project, debug-info

Jun 13 2019

dstenb committed rG1278a1928231: Remove ';' after namespace's closing bracket [NFC] (authored by dstenb).
Remove ';' after namespace's closing bracket [NFC]
Jun 13 2019, 7:01 AM
dstenb committed rL363267: Remove ';' after namespace's closing bracket [NFC].
Remove ';' after namespace's closing bracket [NFC]
Jun 13 2019, 6:59 AM

Jun 7 2019

dstenb added inline comments to D62904: [DebugInfo] Honour variable fragments in LiveDebugValues.
Jun 7 2019, 8:36 AM · Restricted Project
dstenb added inline comments to D62904: [DebugInfo] Honour variable fragments in LiveDebugValues.
Jun 7 2019, 7:10 AM · Restricted Project

Jun 5 2019

dstenb added a comment to D58042: [LiveDebugValues] Emit parameter's entry value.

@dstenb Thanks for the comment!

Yes, we are constantly measuring debug location statistics. It is possible (and it makes sense) to extend the existing location statistic reporting, within LLVM, by avoiding locations that are entry values (we are actually working on that).

We will share the numbers.

Jun 5 2019, 10:59 AM · Restricted Project, debug-info
dstenb added a comment to D58042: [LiveDebugValues] Emit parameter's entry value.

Have you measured what the effect the emission of entry value locations has on the "scope bytes covered" statistics? I guess that it can increase quite a bit (especially later if we start describing non-parameter variables using parameter entry values)? If so, if the caller(s) do not have call site information, it will still not be able to print the variable. Would it make sense, and would it be possible, to introduce a "scope bytes covered without entry values" statistic, or some other statistic, which helps you assess how large part of the locations that rely on entry values?

Jun 5 2019, 5:40 AM · Restricted Project, debug-info

Jun 3 2019

dstenb added a comment to D61600: [DebugInfo] More precise variable range for stack locations.

Have you tested the performance when compiling Clang with ASAN enabled to make sure we're not accidentally regressing because of the more thorough single-location check?

I've built LLVM with '-DLLVM_USE_SANITIZER=Address' using downloaded clang binary to produce private clang binary. I've run tests and compiled latest version of gdb with new private binary and I didn't see any regression there. Is that what you meant?

Jun 3 2019, 3:00 AM · Restricted Project, debug-info

May 28 2019

dstenb committed rG5d0e6b6755da: Stop undef fragments from closing non-overlapping fragments (authored by dstenb).
Stop undef fragments from closing non-overlapping fragments
May 28 2019, 6:23 AM
dstenb committed rL361820: Stop undef fragments from closing non-overlapping fragments.
Stop undef fragments from closing non-overlapping fragments
May 28 2019, 6:23 AM
dstenb closed D62379: [DebugInfo] Stop undef fragments from closing non-overlapping fragments.
May 28 2019, 6:23 AM · Restricted Project, debug-info
dstenb updated the diff for D62379: [DebugInfo] Stop undef fragments from closing non-overlapping fragments.

Add a comment to the query function (undef debug values are mentioned in SourceLevelDebugging.rst, but I did not find any central explanations of such debug values in the code base).

May 28 2019, 4:29 AM · Restricted Project, debug-info

May 27 2019

dstenb accepted D61600: [DebugInfo] More precise variable range for stack locations.

Do you think that this is ready for landing now?

May 27 2019, 7:09 AM · Restricted Project, debug-info
dstenb updated the diff for D62379: [DebugInfo] Stop undef fragments from closing non-overlapping fragments.

Address comments (add MachineInstr:isUndefDebugValue query function)

May 27 2019, 7:03 AM · Restricted Project, debug-info
dstenb added inline comments to D60716: [DwarfDebug] Dump call site debug info into DWARF.
May 27 2019, 5:50 AM · Restricted Project, debug-info
dstenb added a comment to D61600: [DebugInfo] More precise variable range for stack locations.

Nit: Perhaps we should move the Value class out of DebugLocEntry now that we use it for DbgVariable also? However, I don't have any good ideas on in where to place it (e.g. which header file). I think we can land this without doing such a refactoring though.

May 27 2019, 5:17 AM · Restricted Project, debug-info
dstenb added a comment to D61600: [DebugInfo] More precise variable range for stack locations.

Thanks a lot! This "location list -> single location description" detection seems more robust, and should help us moving towards supporting rewrites of single-entry location lists containing fragments also.

May 27 2019, 4:31 AM · Restricted Project, debug-info

May 24 2019

dstenb added inline comments to D62379: [DebugInfo] Stop undef fragments from closing non-overlapping fragments.
May 24 2019, 8:23 AM · Restricted Project, debug-info
dstenb updated the diff for D62379: [DebugInfo] Stop undef fragments from closing non-overlapping fragments.

Update test cases after review comments.

May 24 2019, 8:17 AM · Restricted Project, debug-info
dstenb created D62379: [DebugInfo] Stop undef fragments from closing non-overlapping fragments.
May 24 2019, 4:49 AM · Restricted Project, debug-info
dstenb added inline comments to D62314: [DebugInfo] Use FrameDestroy to extend stack locations to the end of a function.
May 24 2019, 2:06 AM · Restricted Project

May 23 2019

dstenb added inline comments to D62196: [LiveDebugValues] Close range for previous variable's location when deducing new variable's location.
May 23 2019, 3:20 PM · Restricted Project, debug-info
dstenb added inline comments to D62196: [LiveDebugValues] Close range for previous variable's location when deducing new variable's location.
May 23 2019, 8:34 AM · Restricted Project, debug-info

May 22 2019

dstenb added a comment to D61600: [DebugInfo] More precise variable range for stack locations.

Adding a comment about another hand-written example.

May 22 2019, 3:16 PM · Restricted Project, debug-info

May 20 2019

dstenb added inline comments to D62002: [DwarfExpression] Refactor dwarf expression (NFC).
May 20 2019, 6:29 AM · Restricted Project, debug-info

May 15 2019

dstenb added inline comments to D61940: [DebugInfo] Don't always extend variable locations when the reg location is unchanging.
May 15 2019, 5:50 AM · Restricted Project
dstenb added inline comments to D61890: [LiveDebugValues] End variable's range with multiple locations at block entry.
May 15 2019, 2:03 AM · debug-info

May 7 2019

dstenb added a reviewer for D61600: [DebugInfo] More precise variable range for stack locations: jmorse.

(Adding Jeremy as reviewer as he has also been working in this area recently.)

May 7 2019, 6:22 AM · Restricted Project, debug-info
dstenb added inline comments to D61600: [DebugInfo] More precise variable range for stack locations.
May 7 2019, 3:43 AM · Restricted Project, debug-info

May 6 2019

dstenb added inline comments to D61600: [DebugInfo] More precise variable range for stack locations.
May 6 2019, 11:56 PM · Restricted Project, debug-info
dstenb added a comment to D58042: [LiveDebugValues] Emit parameter's entry value.

I cherry-picked the patches on top of r359425, and tried out some examples. Doing that, I encountered a case where entry values are not inserted with this patch.

May 6 2019, 8:47 AM · Restricted Project, debug-info

May 2 2019

dstenb added inline comments to D60716: [DwarfDebug] Dump call site debug info into DWARF.
May 2 2019, 5:47 AM · Restricted Project, debug-info

Apr 30 2019

dstenb added a comment to D58042: [LiveDebugValues] Emit parameter's entry value.

I cherry-picked the patches on top of r359425, and tried out some examples. Doing that, I encountered a case where entry values are not inserted with this patch.

Apr 30 2019, 6:50 AM · Restricted Project, debug-info

Apr 29 2019

dstenb added inline comments to D60866: [DWARF] Handle DW_OP_entry_value operand.
Apr 29 2019, 8:39 AM · Restricted Project, debug-info
dstenb added a comment to D60961: [TargetOption] Add option for enabling param entry val tracking dbg info.

(A minor comment, which is not related to the code changes themselves, is that this should be a parent revision to D58033, and not vice-versa as it is now.)

Apr 29 2019, 8:11 AM · Restricted Project, debug-info

Apr 26 2019

dstenb added inline comments to D61184: [Salvage] Change salvage debug info implementation to use new DW_OP_LLVM_convert where needed.
Apr 26 2019, 6:31 AM · Restricted Project
dstenb added inline comments to D61184: [Salvage] Change salvage debug info implementation to use new DW_OP_LLVM_convert where needed.
Apr 26 2019, 5:55 AM · Restricted Project

Apr 25 2019

dstenb added inline comments to D59431: [DebugInfo] Terminate more kinds of location-list ranges at the end of basic blocks.
Apr 25 2019, 2:47 PM · debug-info, Restricted Project
dstenb added inline comments to D59431: [DebugInfo] Terminate more kinds of location-list ranges at the end of basic blocks.
Apr 25 2019, 12:22 PM · debug-info, Restricted Project
dstenb added inline comments to D60716: [DwarfDebug] Dump call site debug info into DWARF.
Apr 25 2019, 1:55 AM · Restricted Project, debug-info

Apr 10 2019

dstenb committed rGb96943b6a00d: [DebugInfo] Track multiple registers in DbgEntityHistoryCalculator (authored by dstenb).
[DebugInfo] Track multiple registers in DbgEntityHistoryCalculator
Apr 10 2019, 4:27 AM
dstenb committed rG5ffec6deef0a: [DebugInfo] Improve handling of clobbered fragments (authored by dstenb).
[DebugInfo] Improve handling of clobbered fragments
Apr 10 2019, 4:27 AM
dstenb committed rL358073: [DebugInfo] Track multiple registers in DbgEntityHistoryCalculator.
[DebugInfo] Track multiple registers in DbgEntityHistoryCalculator
Apr 10 2019, 4:27 AM
dstenb closed D59942: [DebugInfo] Track multiple registers in DbgEntityHistoryCalculator.
Apr 10 2019, 4:27 AM · Restricted Project, debug-info
dstenb committed rL358072: [DebugInfo] Improve handling of clobbered fragments.
[DebugInfo] Improve handling of clobbered fragments
Apr 10 2019, 4:27 AM
dstenb closed D59941: [DebugInfo] Improve handling of clobbered fragments.
Apr 10 2019, 4:27 AM · Restricted Project, debug-info
dstenb committed rG6feef56d1bdb: [DebugInfo] Rename DbgValueHistoryMap::{InstrRange -> Entry}, NFC (authored by dstenb).
[DebugInfo] Rename DbgValueHistoryMap::{InstrRange -> Entry}, NFC
Apr 10 2019, 2:07 AM
dstenb committed rG3739979c2031: [DebugInfo] Make InstrRange into a class, NFC (authored by dstenb).
[DebugInfo] Make InstrRange into a class, NFC
Apr 10 2019, 2:07 AM
dstenb committed rL358060: [DebugInfo] Rename DbgValueHistoryMap::{InstrRange -> Entry}, NFC.
[DebugInfo] Rename DbgValueHistoryMap::{InstrRange -> Entry}, NFC
Apr 10 2019, 2:07 AM
dstenb closed D59939: [DebugInfo] Rename DbgValueHistoryMap::{InstrRange -> Entry}, NFC.
Apr 10 2019, 2:07 AM · Restricted Project
dstenb committed rL358059: [DebugInfo] Make InstrRange into a class, NFC.
[DebugInfo] Make InstrRange into a class, NFC
Apr 10 2019, 2:07 AM
dstenb closed D59938: [DebugInfo] Make InstrRange into a class, NFC.
Apr 10 2019, 2:07 AM · Restricted Project
dstenb committed rGfab4bdf4b93e: Add REQUIRES: asserts to test using -debug-only (authored by dstenb).
Add REQUIRES: asserts to test using -debug-only
Apr 10 2019, 1:45 AM
dstenb added a comment to D59952: [VPLAN] Minor improvement to testing and debug messages..

Hi! One of the tests was missing "REQUIRES: asserts", so it failed on a non-assert build. I took the liberty to add that to the test in r358057. I hope that was okay!

Apr 10 2019, 1:44 AM · Restricted Project
dstenb committed rL358057: Add REQUIRES: asserts to test using -debug-only.
Add REQUIRES: asserts to test using -debug-only
Apr 10 2019, 1:43 AM
dstenb added inline comments to D59938: [DebugInfo] Make InstrRange into a class, NFC.
Apr 10 2019, 1:34 AM · Restricted Project

Apr 9 2019

dstenb updated the diff for D59938: [DebugInfo] Make InstrRange into a class, NFC.

Slight adjustment: Add an isEnded() query function rather than using getEnd(). An isEnded() function is added in the follow-up patch D59941, so we can avoid unnecessary diffs in that patch by adding such a function here also.

Apr 9 2019, 8:00 AM · Restricted Project
dstenb added inline comments to D59938: [DebugInfo] Make InstrRange into a class, NFC.
Apr 9 2019, 6:58 AM · Restricted Project
dstenb updated the diff for D59938: [DebugInfo] Make InstrRange into a class, NFC.

Address review comments.

Apr 9 2019, 6:47 AM · Restricted Project
dstenb committed rG2028ae975c6a: [DebugInfo] Pass all values in DebugLocEntry's constructor, NFC (authored by dstenb).
[DebugInfo] Pass all values in DebugLocEntry's constructor, NFC
Apr 9 2019, 3:09 AM
dstenb committed rL357988: [DebugInfo] Pass all values in DebugLocEntry's constructor, NFC.
[DebugInfo] Pass all values in DebugLocEntry's constructor, NFC
Apr 9 2019, 3:06 AM
dstenb closed D59303: [DebugInfo] Pass all values in DebugLocEntry's constructor, NFC.
Apr 9 2019, 3:06 AM · Restricted Project, debug-info
dstenb added inline comments to D59303: [DebugInfo] Pass all values in DebugLocEntry's constructor, NFC.
Apr 9 2019, 2:59 AM · Restricted Project, debug-info
dstenb updated the diff for D59303: [DebugInfo] Pass all values in DebugLocEntry's constructor, NFC.

Rebase, and add Doxygen comment.

Apr 9 2019, 2:57 AM · Restricted Project, debug-info
dstenb committed rG93b497a61d20: [DebugInfo] Remove redundant DebugLocEntry::MergeValues() function, NFC (authored by dstenb).
[DebugInfo] Remove redundant DebugLocEntry::MergeValues() function, NFC
Apr 9 2019, 12:48 AM
dstenb committed rL357974: [DebugInfo] Remove redundant DebugLocEntry::MergeValues() function, NFC.
[DebugInfo] Remove redundant DebugLocEntry::MergeValues() function, NFC
Apr 9 2019, 12:48 AM
dstenb closed D59301: [DebugInfo] Remove redundant DebugLocEntry::MergeValues() function, NFC.
Apr 9 2019, 12:48 AM · Restricted Project, debug-info

Apr 8 2019

dstenb added a comment to D59942: [DebugInfo] Track multiple registers in DbgEntityHistoryCalculator.

If there are remaining patches that I haven't accepted yet, please ping them.

Apr 8 2019, 9:12 AM · Restricted Project, debug-info
dstenb added a reviewer for D59939: [DebugInfo] Rename DbgValueHistoryMap::{InstrRange -> Entry}, NFC: aprantl.
Apr 8 2019, 6:43 AM · Restricted Project
dstenb added a reviewer for D59938: [DebugInfo] Make InstrRange into a class, NFC: aprantl.
Apr 8 2019, 6:42 AM · Restricted Project
dstenb added a comment to D59303: [DebugInfo] Pass all values in DebugLocEntry's constructor, NFC.

Ping.

Apr 8 2019, 6:42 AM · Restricted Project, debug-info
dstenb added a comment to D59301: [DebugInfo] Remove redundant DebugLocEntry::MergeValues() function, NFC.

Ping.

Apr 8 2019, 6:42 AM · Restricted Project, debug-info

Apr 5 2019

dstenb added a comment to D59942: [DebugInfo] Track multiple registers in DbgEntityHistoryCalculator.

Thanks for the review! Just so that I don't misunderstand something; is the LGTM specifically for the changes in this patch, or does that imply the entire patch series?

Apr 5 2019, 8:55 AM · Restricted Project, debug-info

Apr 3 2019

dstenb added inline comments to D59941: [DebugInfo] Improve handling of clobbered fragments.
Apr 3 2019, 6:53 AM · Restricted Project, debug-info
dstenb added inline comments to D59942: [DebugInfo] Track multiple registers in DbgEntityHistoryCalculator.
Apr 3 2019, 3:45 AM · Restricted Project, debug-info
dstenb updated the diff for D59942: [DebugInfo] Track multiple registers in DbgEntityHistoryCalculator.

Address review comments.

Apr 3 2019, 3:42 AM · Restricted Project, debug-info

Apr 2 2019

dstenb updated the diff for D59942: [DebugInfo] Track multiple registers in DbgEntityHistoryCalculator.

Rebase after update of D59941.

Apr 2 2019, 7:36 AM · Restricted Project, debug-info