Page MenuHomePhabricator

dstenb (David Stenberg)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 10 2016, 1:55 AM (188 w, 1 d)

Recent Activity

Tue, Jan 7

dstenb added a comment to D71870: [llvm-locstats] Add the --compare option.

Some nits.

Tue, Jan 7, 9:08 AM · Restricted Project, debug-info
dstenb added a comment to D71869: [llvm-locstats] Add the --draw-plot option.

Looks good to me! I'll let the others have their say about the code or the output format.

Tue, Jan 7, 9:08 AM · Restricted Project, debug-info
dstenb accepted D71868: [llvm-locstats][NFC] Support OOP concept.

Seems like a good refactoring. Two minor inline comments.

Tue, Jan 7, 8:58 AM · Restricted Project, debug-info

Dec 19 2019

dstenb added a comment to D71611: [cmake] Add llvm-locstats to LLVM_TEST_DEPENDS.

How is this change supposed to interact with LLVM_BUILD_TOOLS?
"LLVM_BUILD_TOOLS: Build the LLVM tools. If OFF, just generate build targets."

We have a downstream build that sets this OFF, then builds llvm-mc only. You can reproduce the same thing with upstream llvm:

$ cmake -G Ninja ../llvm-project/llvm/ -DLLVM_BUILD_TOOLS=OFF
CMake Error at cmake/modules/AddLLVM.cmake:1457 (add_dependencies):
   The dependency target "llvm-locstats" of target "check-llvm-tools-llvm-rc"
   does not exist.
 Call Stack (most recent call first):
   cmake/modules/AddLLVM.cmake:1509 (add_lit_target)
   test/CMakeLists.txt:179 (add_lit_testsuites)
 <repeats for lots of targets>

Perhaps build tools isn't defining the targets as it claims.

Dec 19 2019, 2:35 AM · Restricted Project

Dec 18 2019

dstenb committed rGa6be12dbb143: [cmake] Add llvm-locstats to LLVM_TEST_DEPENDS (authored by dstenb).
[cmake] Add llvm-locstats to LLVM_TEST_DEPENDS
Dec 18 2019, 12:57 AM
dstenb closed D71611: [cmake] Add llvm-locstats to LLVM_TEST_DEPENDS.
Dec 18 2019, 12:57 AM · Restricted Project

Dec 17 2019

dstenb created D71611: [cmake] Add llvm-locstats to LLVM_TEST_DEPENDS.
Dec 17 2019, 7:49 AM · Restricted Project

Dec 14 2019

dstenb added a comment to D71508: [DebugInfo] Duplicate file names in debug info.

It should be possible to create a test for this using something like:

Dec 14 2019, 3:48 PM · Restricted Project, debug-info

Dec 13 2019

dstenb committed rG5c7cc6f83d1f: [LiveDebugValues] Omit entry values for DBG_VALUEs with pre-existing expressions (authored by dstenb).
[LiveDebugValues] Omit entry values for DBG_VALUEs with pre-existing expressions
Dec 13 2019, 2:03 AM
dstenb closed D71416: [LiveDebugValues] Omit entry values for DBG_VALUEs with pre-existing expressions.
Dec 13 2019, 2:02 AM · Restricted Project, debug-info
dstenb added inline comments to D71416: [LiveDebugValues] Omit entry values for DBG_VALUEs with pre-existing expressions.
Dec 13 2019, 1:53 AM · Restricted Project, debug-info

Dec 12 2019

dstenb created D71416: [LiveDebugValues] Omit entry values for DBG_VALUEs with pre-existing expressions.
Dec 12 2019, 5:57 AM · Restricted Project, debug-info

Dec 9 2019

dstenb committed rG6965f835b476: [DebugInfo] Make describeLoadedValue() reg aware (authored by dstenb).
[DebugInfo] Make describeLoadedValue() reg aware
Dec 9 2019, 1:53 AM
dstenb closed D70431: [DebugInfo] Make describeLoadedValue() reg aware.
Dec 9 2019, 1:53 AM · Restricted Project, debug-info
dstenb committed rGf3696533f224: Revert "[DebugInfo] Make describeLoadedValue() reg aware" (authored by dstenb).
Revert "[DebugInfo] Make describeLoadedValue() reg aware"
Dec 9 2019, 1:46 AM
dstenb added a reverting change for rG3cd93a4efcde: [DebugInfo] Make describeLoadedValue() reg aware: rGf3696533f224: Revert "[DebugInfo] Make describeLoadedValue() reg aware".
Dec 9 2019, 1:46 AM
dstenb committed rG3cd93a4efcde: [DebugInfo] Make describeLoadedValue() reg aware (authored by dstenb).
[DebugInfo] Make describeLoadedValue() reg aware
Dec 9 2019, 1:46 AM

Dec 6 2019

dstenb added a comment to D70431: [DebugInfo] Make describeLoadedValue() reg aware.

Thanks for the reviews!

Dec 6 2019, 9:53 AM · Restricted Project, debug-info
dstenb updated the diff for D70431: [DebugInfo] Make describeLoadedValue() reg aware.

Address review comments.

Dec 6 2019, 7:06 AM · Restricted Project, debug-info
dstenb added inline comments to D70431: [DebugInfo] Make describeLoadedValue() reg aware.
Dec 6 2019, 7:06 AM · Restricted Project, debug-info

Dec 5 2019

dstenb committed rG54682d871d9e: [DebugInfo] Handle call site values for instructions before call bundle (authored by dstenb).
[DebugInfo] Handle call site values for instructions before call bundle
Dec 5 2019, 2:58 AM
dstenb closed D71024: [DebugInfo] Handle call site values for instructions before call bundle.
Dec 5 2019, 2:57 AM · Restricted Project, debug-info
dstenb added inline comments to D71024: [DebugInfo] Handle call site values for instructions before call bundle.
Dec 5 2019, 1:53 AM · Restricted Project, debug-info
dstenb updated the diff for D71024: [DebugInfo] Handle call site values for instructions before call bundle.

Remove unnecessary debug information from test case.

Dec 5 2019, 1:53 AM · Restricted Project, debug-info

Dec 4 2019

dstenb created D71024: [DebugInfo] Handle call site values for instructions before call bundle.
Dec 4 2019, 9:14 AM · Restricted Project, debug-info

Nov 28 2019

dstenb added inline comments to D70431: [DebugInfo] Make describeLoadedValue() reg aware.
Nov 28 2019, 7:52 AM · Restricted Project, debug-info
dstenb updated the diff for D70431: [DebugInfo] Make describeLoadedValue() reg aware.

Address review comments.

Nov 28 2019, 7:43 AM · Restricted Project, debug-info

Nov 27 2019

dstenb updated the diff for D70431: [DebugInfo] Make describeLoadedValue() reg aware.

Update the patch. Sorry for the delay!

Nov 27 2019, 7:22 AM · Restricted Project, debug-info

Nov 21 2019

dstenb added a comment to D68209: [LiveDebugValues] Introduce entry values of unmodified params.

At the moment, we should avoid creating the entry value for the sink variable.

Nov 21 2019, 8:38 AM · Restricted Project, Restricted Project, debug-info
dstenb committed rG3889ff82bf40: [DebugInfo] Refactor DIExpression [SZ]Ext creation into function [NFC] (authored by dstenb).
[DebugInfo] Refactor DIExpression [SZ]Ext creation into function [NFC]
Nov 21 2019, 1:49 AM
dstenb closed D70498: [DebugInfo] Refactor DIExpression [SZ]Ext creation into function [NFC].
Nov 21 2019, 1:49 AM · Restricted Project

Nov 20 2019

dstenb added inline comments to D70431: [DebugInfo] Make describeLoadedValue() reg aware.
Nov 20 2019, 2:24 PM · Restricted Project, debug-info
dstenb added inline comments to D70497: [DBG] Teach DebugEntityHistoryCalculator about Kill instructions..
Nov 20 2019, 8:52 AM · Restricted Project, debug-info
dstenb added inline comments to D70497: [DBG] Teach DebugEntityHistoryCalculator about Kill instructions..
Nov 20 2019, 8:52 AM · Restricted Project, debug-info
dstenb created D70498: [DebugInfo] Refactor DIExpression [SZ]Ext creation into function [NFC].
Nov 20 2019, 8:43 AM · Restricted Project

Nov 19 2019

dstenb added inline comments to D70431: [DebugInfo] Make describeLoadedValue() reg aware.
Nov 19 2019, 2:42 PM · Restricted Project, debug-info
dstenb added inline comments to D70431: [DebugInfo] Make describeLoadedValue() reg aware.
Nov 19 2019, 4:28 AM · Restricted Project, debug-info
dstenb created D70431: [DebugInfo] Make describeLoadedValue() reg aware.
Nov 19 2019, 4:16 AM · Restricted Project, debug-info
dstenb accepted D70293: Fix PR44001: assert failure in getFunctionLocalOffsetAfterInsn.

LGTM. Thanks!

Nov 19 2019, 3:18 AM · Restricted Project

Nov 18 2019

dstenb added inline comments to D70293: Fix PR44001: assert failure in getFunctionLocalOffsetAfterInsn.
Nov 18 2019, 5:37 AM · Restricted Project
dstenb added a comment to D70293: Fix PR44001: assert failure in getFunctionLocalOffsetAfterInsn.

This seems good!

Nov 18 2019, 5:27 AM · Restricted Project

Nov 13 2019

dstenb committed rG7417cc149bee: Fix typo in DwarfDebug [NFC] (authored by dstenb).
Fix typo in DwarfDebug [NFC]
Nov 13 2019, 9:07 AM
dstenb committed rG5e646ff53052: [DebugInfo] Avoid creating entry values for clobbered registers (authored by dstenb).
[DebugInfo] Avoid creating entry values for clobbered registers
Nov 13 2019, 2:14 AM
dstenb committed rG4fec44cd6151: [DebugInfo] Add helper for finding entry value candidates [NFC] (authored by dstenb).
[DebugInfo] Add helper for finding entry value candidates [NFC]
Nov 13 2019, 2:14 AM
dstenb closed D69889: [DebugInfo] Avoid creating entry values for clobbered registers.
Nov 13 2019, 2:14 AM · Restricted Project, debug-info
dstenb closed D69955: [DebugInfo] Add helper for finding entry value candidates [NFC].
Nov 13 2019, 2:14 AM · Restricted Project
dstenb added a comment to D69889: [DebugInfo] Avoid creating entry values for clobbered registers.

Any more comments on this, @djtodoro?

Nov 13 2019, 12:33 AM · Restricted Project, debug-info

Nov 11 2019

dstenb added a comment to D69999: [DebugInfo] Support for DW_OP_implicit_pointer (IR Verifier and Bitcode).

My first thought was that this might be an opportunity to finally implement explicit dbg.value arguments. (There is prior discussion of this online somewhere but I couldn't find it in my mailbox).

Nov 11 2019, 2:29 PM · debug-info, Restricted Project
dstenb added inline comments to D69889: [DebugInfo] Avoid creating entry values for clobbered registers.
Nov 11 2019, 8:13 AM · Restricted Project, debug-info
dstenb updated the diff for D69889: [DebugInfo] Avoid creating entry values for clobbered registers.

Address review comments.

Nov 11 2019, 8:13 AM · Restricted Project, debug-info
dstenb updated the diff for D69955: [DebugInfo] Add helper for finding entry value candidates [NFC].

Merge if statements.

Nov 11 2019, 3:58 AM · Restricted Project

Nov 8 2019

dstenb added inline comments to D69889: [DebugInfo] Avoid creating entry values for clobbered registers.
Nov 8 2019, 5:38 AM · Restricted Project, debug-info
dstenb updated the diff for D69889: [DebugInfo] Avoid creating entry values for clobbered registers.

Rebase (IsEntryValueCandidate function moved to a separate function), and include full diff context.

Nov 8 2019, 4:45 AM · Restricted Project, debug-info
dstenb added a comment to D69955: [DebugInfo] Add helper for finding entry value candidates [NFC].

Please remember to provide full-context diffs.

Nov 8 2019, 4:39 AM · Restricted Project
dstenb updated the diff for D69955: [DebugInfo] Add helper for finding entry value candidates [NFC].

Move the helper to a separate function rather than a lambda. Include full diff context.

Nov 8 2019, 4:39 AM · Restricted Project

Nov 7 2019

dstenb abandoned D66746: [LiveDebugValues] Omit entry values for DBG_VALUEs with pre-existing expressions.

Sorry for the delay!

Nov 7 2019, 10:19 AM · Restricted Project, debug-info
dstenb added inline comments to D69889: [DebugInfo] Avoid creating entry values for clobbered registers.
Nov 7 2019, 10:10 AM · Restricted Project, debug-info
dstenb added a parent revision for D69889: [DebugInfo] Avoid creating entry values for clobbered registers: D69955: [DebugInfo] Add helper for finding entry value candidates [NFC].
Nov 7 2019, 10:10 AM · Restricted Project, debug-info
dstenb added a child revision for D69955: [DebugInfo] Add helper for finding entry value candidates [NFC]: D69889: [DebugInfo] Avoid creating entry values for clobbered registers.
Nov 7 2019, 10:10 AM · Restricted Project
dstenb updated the diff for D69889: [DebugInfo] Avoid creating entry values for clobbered registers.

Address review comments.

Nov 7 2019, 10:10 AM · Restricted Project, debug-info
dstenb created D69955: [DebugInfo] Add helper for finding entry value candidates [NFC].
Nov 7 2019, 10:10 AM · Restricted Project
dstenb added a comment to D69943: Attempt to Salvage Debug Info or undef intrinsics when dropping trivially deletable instructions in reassociate pass.

If D69809 lands before this patch, then you can use the helper function salvageDebugInfoOrMarkUndef() which the former introduces.

Nov 7 2019, 6:45 AM · Restricted Project
dstenb added a comment to D69886: [DebugInfo] Support for DW_OP_implicit_pointer (CodeGen phase).

Thanks for adding the source reproducers; however, they are typically not stored as separate files (with one exception being tests operating on binary files). Feel free to inline the C code as comments in the IR files though!

Nov 7 2019, 4:10 AM · debug-info, Restricted Project

Nov 6 2019

dstenb created D69889: [DebugInfo] Avoid creating entry values for clobbered registers.
Nov 6 2019, 5:58 AM · Restricted Project, debug-info

Oct 29 2019

dstenb accepted D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.

Yes, thanks!

Oct 29 2019, 11:51 AM · Restricted Project, debug-info
dstenb abandoned D68466: [DebugInfo] Allow <Symbol, Offset> pairs in AddressPool [NFC].

Abandoning this helper patch as D68465 was abandoned.

Oct 29 2019, 3:37 AM · Restricted Project, debug-info
dstenb abandoned D68465: [DebugInfo] Trim call-clobbered location list entries when tuning for GDB.

Sorry for the delay!

Oct 29 2019, 3:37 AM · Restricted Project, debug-info

Oct 25 2019

dstenb committed rG2a3dc6b74f41: Fix a variable typo in LiveDebugValues [NFC] (authored by dstenb).
Fix a variable typo in LiveDebugValues [NFC]
Oct 25 2019, 2:28 AM

Oct 23 2019

dstenb added inline comments to D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.
Oct 23 2019, 5:37 AM · Restricted Project, debug-info
dstenb committed rG74a72e684849: [DebugInfo] Stop describing imms in TargetInstrInfo's describeLoadedValue() impl (authored by dstenb).
[DebugInfo] Stop describing imms in TargetInstrInfo's describeLoadedValue() impl
Oct 23 2019, 2:58 AM
dstenb closed D69109: [DebugInfo] Stop describing imms in TargetInstrInfo's describeLoadedValue() impl.
Oct 23 2019, 2:58 AM · Restricted Project, debug-info
dstenb added a comment to D69109: [DebugInfo] Stop describing imms in TargetInstrInfo's describeLoadedValue() impl.

Thanks for the reviews! I'll land this shortly.

Oct 23 2019, 2:45 AM · Restricted Project, debug-info

Oct 17 2019

dstenb created D69109: [DebugInfo] Stop describing imms in TargetInstrInfo's describeLoadedValue() impl.
Oct 17 2019, 6:52 AM · Restricted Project, debug-info

Oct 16 2019

dstenb added inline comments to D68209: [LiveDebugValues] Introduce entry values of unmodified params.
Oct 16 2019, 3:54 PM · Restricted Project, Restricted Project, debug-info
dstenb added inline comments to D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.
Oct 16 2019, 5:49 AM · Restricted Project, debug-info

Oct 15 2019

dstenb committed rG1ae2d9a2bdce: [DebugInfo] Add a DW_OP_LLVM_entry_value operation (authored by dstenb).
[DebugInfo] Add a DW_OP_LLVM_entry_value operation
Oct 15 2019, 4:33 AM
dstenb closed D67492: [DebugInfo] Add a DW_OP_LLVM_entry_value operation.
Oct 15 2019, 4:33 AM · Restricted Project, debug-info
dstenb committed rL374881: [DebugInfo] Add a DW_OP_LLVM_entry_value operation.
[DebugInfo] Add a DW_OP_LLVM_entry_value operation
Oct 15 2019, 4:33 AM
dstenb committed rG284827f32bd8: [DebugInfo] Add interface for pre-calculating the size of emitted DWARF (authored by dstenb).
[DebugInfo] Add interface for pre-calculating the size of emitted DWARF
Oct 15 2019, 4:22 AM
dstenb committed rL374879: [DebugInfo] Add interface for pre-calculating the size of emitted DWARF.
[DebugInfo] Add interface for pre-calculating the size of emitted DWARF
Oct 15 2019, 4:21 AM
dstenb closed D67768: [DebugInfo] Add interface for pre-calculating the size of emitted DWARF.
Oct 15 2019, 4:21 AM · Restricted Project, debug-info
dstenb added a comment to D67492: [DebugInfo] Add a DW_OP_LLVM_entry_value operation.

Thanks for the reviews! I'll merge this shortly.

Oct 15 2019, 4:21 AM · Restricted Project, debug-info
dstenb updated the diff for D67768: [DebugInfo] Add interface for pre-calculating the size of emitted DWARF.

Rebase (to make Comments a std::vector<std::string>.

Oct 15 2019, 4:10 AM · Restricted Project, debug-info
dstenb added inline comments to D68209: [LiveDebugValues] Introduce entry values of unmodified params.
Oct 15 2019, 3:11 AM · Restricted Project, Restricted Project, debug-info
dstenb committed rL374871: Change Comments SmallVector to std::vector in DebugLocStream [NFC].
Change Comments SmallVector to std::vector in DebugLocStream [NFC]
Oct 15 2019, 2:44 AM
dstenb committed rGd46ac44ecdc8: Change Comments SmallVector to std::vector in DebugLocStream [NFC] (authored by dstenb).
Change Comments SmallVector to std::vector in DebugLocStream [NFC]
Oct 15 2019, 2:44 AM
dstenb added a comment to D67768: [DebugInfo] Add interface for pre-calculating the size of emitted DWARF.

Out of curiosity: do we record the comments even when we don't emit textual assembler?

Oct 15 2019, 2:40 AM · Restricted Project, debug-info

Oct 14 2019

dstenb added inline comments to D67768: [DebugInfo] Add interface for pre-calculating the size of emitted DWARF.
Oct 14 2019, 1:25 PM · Restricted Project, debug-info
dstenb added a comment to D67556: [ARM][AArch64][DebugInfo] Improve call site instruction interpretation.

Thanks for adding the source-level reproducers!

Oct 14 2019, 6:24 AM · Restricted Project, debug-info
dstenb committed rG8535bed79504: [DebugInfo] Fix truncation of call site immediates (authored by dstenb).
[DebugInfo] Fix truncation of call site immediates
Oct 14 2019, 5:56 AM
dstenb closed D68869: [DebugInfo] Fix truncation of call site immediates.
Oct 14 2019, 5:56 AM · Restricted Project, debug-info
dstenb committed rL374770: [DebugInfo] Fix truncation of call site immediates.
[DebugInfo] Fix truncation of call site immediates
Oct 14 2019, 5:47 AM
dstenb updated the diff for D68869: [DebugInfo] Fix truncation of call site immediates.

Change use of auto keyword.

Oct 14 2019, 5:47 AM · Restricted Project, debug-info
dstenb added inline comments to D68869: [DebugInfo] Fix truncation of call site immediates.
Oct 14 2019, 5:47 AM · Restricted Project, debug-info

Oct 11 2019

dstenb added a comment to D68465: [DebugInfo] Trim call-clobbered location list entries when tuning for GDB.

Yeah, GCC 8.1 has the same behavior.

But I think we can avoid that in LLVM with some of the loclist changes I'm working on - we should only ever be using the start of a function (not necessarily the current function, if there are multiple functions in the same section) as a base address in location lists. So locations like this should be rendered as offset pairs relative to that base address & should always be positive, even if you subtract 1.

Oct 11 2019, 12:08 PM · Restricted Project, debug-info
dstenb added a comment to D68465: [DebugInfo] Trim call-clobbered location list entries when tuning for GDB.

Unsigned operands don't /seem/ to me to be problematic here..

GCC's output in -gdwarf-5 with the example you provided previously doesn't use debug_addr, instead using offset_pair (if there's a base address) or start_length (if I add another function to the example, and use -ffunction-sections, so the base address of the CU is constant zero):

.byte   0x8
.quad   .LVL0
.uleb128 .LVL1-1-.LVL0
.uleb128 0x1
.byte   0x50
.byte   0

With -gsplit-dwarf GCC has to use debug_addr, and we don't see any label arithmetic in debug_addr:

.section        .debug_addr,"",@progbits
.quad   .LVL1
.quad   .LFB0
.quad   .LFB1
.quad   call
.quad   value
.quad   .LVL0

& we do see it in debug_loclists.dwo:

.byte   0x3
.uleb128 0x5
.uleb128 .LVL1-1-.LVL0
.uleb128 0x1
.byte   0x50
.byte   0

So if we are going to do this, I'd certainly want to match that sort of behavior - and not make changes to/add extra addresses to debug_addr if we don't have to.

Oct 11 2019, 9:10 AM · Restricted Project, debug-info
dstenb created D68869: [DebugInfo] Fix truncation of call site immediates.
Oct 11 2019, 6:59 AM · Restricted Project, debug-info
dstenb added a comment to D67492: [DebugInfo] Add a DW_OP_LLVM_entry_value operation.

Any more comments on this or D67768?

Oct 11 2019, 6:59 AM · Restricted Project, debug-info

Oct 10 2019

dstenb added a comment to D68465: [DebugInfo] Trim call-clobbered location list entries when tuning for GDB.

Debugger tuning should not be used directly this way. There should be a DwarfDebug flag, and a CL option, and the default set in the DwarfDebug ctor based on tuning. This allows the defaulting to work how you want, but can be overridden easily for experimentation and testing. There are lots of examples of doing this in the ctor already. Also, if it turns out some other debugger also needs this, it's trivial to fix up the ctor to handle it with no code changes needed elsewhere.

Oct 10 2019, 9:27 AM · Restricted Project, debug-info
dstenb updated the diff for D68465: [DebugInfo] Trim call-clobbered location list entries when tuning for GDB.

Rebase (after addressing comments in D68466), and move GDB tuning to DwarfDebug member.

Oct 10 2019, 9:18 AM · Restricted Project, debug-info