aprantl (Adrian Prantl)
User

Projects

User Details

User Since
Mar 2 2013, 8:12 AM (293 w, 2 d)

Recent Activity

Today

aprantl accepted D53267: [CodeExtractor] Erase debug intrinsics in outlined thunks.

That's not great...

Mon, Oct 15, 10:02 AM
aprantl accepted D53287: [DebugInfo][Dexter] Unreachable line stepped onto after SimplifyCFG..
Mon, Oct 15, 9:05 AM · debug-info
aprantl added a comment to D53255: Fix: Assertion failed: (!m_first_die || m_first_die == m_die_array.front()), function ExtractDIEsRWLocked.

Out of curiosity: why do we allow for both an empty array and an empty children sentinel? Is that distinction useful?

Mon, Oct 15, 8:54 AM · Restricted Project
aprantl added a comment to D53267: [CodeExtractor] Erase debug intrinsics in outlined thunks.

What kind of DISubprogram do we assign to the outlined function now?

Mon, Oct 15, 8:50 AM
aprantl added inline comments to D53261: [BPF] Add BTF generation for BPF target.
Mon, Oct 15, 8:48 AM · debug-info
aprantl added inline comments to D53261: [BPF] Add BTF generation for BPF target.
Mon, Oct 15, 8:46 AM · debug-info

Thu, Oct 11

aprantl accepted D53130: [DebugInfo][LCSSA] Rewrite pre-existing debug values outside loop.

Thanks, this looks reasonable to me.

Thu, Oct 11, 8:40 AM

Wed, Oct 10

aprantl added a comment to D53010: Add an alias "var" for "frame var" and "vo" for "frame var -O".

Currently v is an alias for version. I'd wager that — compared to printing a variable — LLDB user's almost never want to print LLDB's version. Would it make sense to re-purpose the single-letter v abbreviation for the much more frequently used frame variable action?

Wed, Oct 10, 12:32 PM

Mon, Oct 8

aprantl updated subscribers of D52952: [IR][Modules] Improve quality of diagnostic messages for non-fatal warnings during module linking..
Mon, Oct 8, 4:23 PM
aprantl accepted D52927: [CodeGen] Fix for PR39094..
Mon, Oct 8, 9:17 AM
aprantl added a comment to D52927: [CodeGen] Fix for PR39094..

The tools we have available for reducing large inputs are (multi-)delta (http://delta.tigris.org) and creduce (https://embed.cs.utah.edu/creduce/). Delta is a "dumb" implementation of the delta debugging algorithm (same one that is implemented in llvm-bugpoint) that is in my personal experience faster than creduce. I highly recommend spending a day to learn how to use delta; you will find yourself using it a lot :-)

Mon, Oct 8, 9:16 AM

Fri, Oct 5

aprantl added a project to D52950: [BPF] Add BTF generation for BPF target: debug-info.
Fri, Oct 5, 3:30 PM · debug-info
aprantl accepted D52921: [LiveDebugValues] Extend var ranges through artificial blocks.

Thanks, looks like we didn't accidentally introduce a regression!

Fri, Oct 5, 2:28 PM
aprantl accepted D49887: [DebugInfo] Add support for DWARF5 call site-related attributes.
Fri, Oct 5, 12:55 PM · debug-info
aprantl accepted D52270: TestMultilineExpr: validate evaluation for expressions spread over multiple lines.
Fri, Oct 5, 9:08 AM
aprantl accepted D52887: [DebugInfo][Dexter] Unreachable line stepped onto after SimplifyCFG..

LGTM with outstanding comments addressed. Thanks!

Fri, Oct 5, 9:07 AM · debug-info
aprantl added a comment to D52887: [DebugInfo][Dexter] Unreachable line stepped onto after SimplifyCFG..

The code looks fine, I have some comments about the comments.

Fri, Oct 5, 9:04 AM · debug-info
aprantl added inline comments to D52921: [LiveDebugValues] Extend var ranges through artificial blocks.
Fri, Oct 5, 9:04 AM
aprantl added a comment to D52921: [LiveDebugValues] Extend var ranges through artificial blocks.

Good find! We spent a considerable amount of time tweaking the performance of this pass. Before the scope checking was added functions would often have thousands of dead dbg.values inserted.

Fri, Oct 5, 8:59 AM
aprantl added a comment to D52927: [CodeGen] Fix for PR39094..

a testcase would be nice, but generally this looks fine.

Fri, Oct 5, 8:54 AM
aprantl accepted D52788: Add EchoCommentCommands to CommandInterpreterRunOptions in addition to the existing EchoCommands and expose both as interpreter settings..

One final inline comment but otherwise I think this is good to go. Thanks!

Fri, Oct 5, 8:49 AM

Thu, Oct 4

aprantl accepted D52901: [DebugInfo] Fix debug information label tests..
Thu, Oct 4, 12:24 PM
aprantl added a comment to D52887: [DebugInfo][Dexter] Unreachable line stepped onto after SimplifyCFG..

The code looks fine, I have some comments about the comments.

Thu, Oct 4, 9:37 AM · debug-info

Wed, Oct 3

aprantl accepted D50478: Add support for artificial tail call frames.

Thanks!

Wed, Oct 3, 2:23 PM
aprantl added inline comments to D50478: Add support for artificial tail call frames.
Wed, Oct 3, 12:43 PM
aprantl added inline comments to D52788: Add EchoCommentCommands to CommandInterpreterRunOptions in addition to the existing EchoCommands and expose both as interpreter settings..
Wed, Oct 3, 10:07 AM
aprantl added a comment to D49887: [DebugInfo] Add support for DWARF5 call site-related attributes.

Looks mostly good from my end.

Wed, Oct 3, 10:06 AM · debug-info
aprantl added a comment to D50478: Add support for artificial tail call frames.

This looks pretty good! I have one last question about CallEdge inside.

Wed, Oct 3, 9:59 AM

Tue, Oct 2

aprantl added a comment to D52678: DWARFExpression: Resolve file addresses in the linked module.

I could move it further up in the same function if that is what you mean? Then it would also apply to (hypothetical local variables that refer to a DW_OP_addr). I could imagine that this might be useful in some languages that want to refer to some static type metadata.

Tue, Oct 2, 8:37 AM

Mon, Oct 1

aprantl updated the diff for D52678: DWARFExpression: Resolve file addresses in the linked module.

Thanks, that was excellent feedback! Updated the patch to set the expression's module instead.

Mon, Oct 1, 2:02 PM

Sat, Sep 29

aprantl added inline comments to D52375: [WIP] Support multiple compile units per OSO entry in SymbolFileDWARFDebugMap.
Sat, Sep 29, 9:26 AM

Fri, Sep 28

aprantl updated subscribers of D52678: DWARFExpression: Resolve file addresses in the linked module.
Fri, Sep 28, 5:45 PM
aprantl created D52678: DWARFExpression: Resolve file addresses in the linked module.
Fri, Sep 28, 5:45 PM
aprantl accepted D52614: [DebugInfo][Dexter] Incorrect DBG_VALUE after MCP dead copy instruction removal..
Fri, Sep 28, 8:47 AM · debug-info

Thu, Sep 27

aprantl added inline comments to D52375: [WIP] Support multiple compile units per OSO entry in SymbolFileDWARFDebugMap.
Thu, Sep 27, 3:26 PM
aprantl added inline comments to D52375: [WIP] Support multiple compile units per OSO entry in SymbolFileDWARFDebugMap.
Thu, Sep 27, 12:35 PM
aprantl added a comment to D52614: [DebugInfo][Dexter] Incorrect DBG_VALUE after MCP dead copy instruction removal..

Thanks, this looks mostly good!

Thu, Sep 27, 8:26 AM · debug-info

Wed, Sep 26

aprantl added inline comments to D52295: [DebugInfoMetadata] Added support to generate packed_decimal encoding related dwarf info..
Wed, Sep 26, 5:24 PM · debug-info
aprantl added inline comments to D50478: Add support for artificial tail call frames.
Wed, Sep 26, 8:34 AM

Tue, Sep 25

aprantl added a comment to D52497: [MSan] Add meaningful debug locations to [K]MSan hooks poisoning local variables.

Why is the DILocation

Tue, Sep 25, 9:12 AM
aprantl added a reviewer for D52497: [MSan] Add meaningful debug locations to [K]MSan hooks poisoning local variables: vsk.
Tue, Sep 25, 9:06 AM
aprantl updated subscribers of D52497: [MSan] Add meaningful debug locations to [K]MSan hooks poisoning local variables.
Tue, Sep 25, 9:06 AM
aprantl requested changes to D52497: [MSan] Add meaningful debug locations to [K]MSan hooks poisoning local variables.
Tue, Sep 25, 9:06 AM
aprantl added inline comments to D52295: [DebugInfoMetadata] Added support to generate packed_decimal encoding related dwarf info..
Tue, Sep 25, 9:05 AM · debug-info
aprantl updated subscribers of D52295: [DebugInfoMetadata] Added support to generate packed_decimal encoding related dwarf info..
Tue, Sep 25, 9:05 AM · debug-info

Mon, Sep 24

aprantl abandoned D43647: Generate most of the target properties from a central specification..

A

Mon, Sep 24, 12:52 PM
aprantl updated subscribers of D43647: Generate most of the target properties from a central specification..
Mon, Sep 24, 12:52 PM

Thu, Sep 20

aprantl added inline comments to D50254: [RFC] Add GDB remote packet reproducer..
Thu, Sep 20, 3:49 PM
aprantl added a comment to D52295: [DebugInfoMetadata] Added support to generate packed_decimal encoding related dwarf info..

Thanks!, Comments are inline. Please also update the metadata unit test, to test the stuff in LLVMContext.

Thu, Sep 20, 9:11 AM · debug-info
aprantl added a project to D52295: [DebugInfoMetadata] Added support to generate packed_decimal encoding related dwarf info.: debug-info.
Thu, Sep 20, 9:11 AM · debug-info

Wed, Sep 19

aprantl added a comment to D52270: TestMultilineExpr: validate evaluation for expressions spread over multiple lines.

LLDB still echoes all commands including comments

What do you think about fixing that before landing this patch? Then we don't need to work around it.

Wed, Sep 19, 11:49 AM
aprantl added inline comments to D52270: TestMultilineExpr: validate evaluation for expressions spread over multiple lines.
Wed, Sep 19, 11:39 AM
aprantl added a comment to D52270: TestMultilineExpr: validate evaluation for expressions spread over multiple lines.

For those following at home: the point of this exercise is to get rid of the -expect-based TestMultilineExpressions.py testcase that kept failing on build bots.

Wed, Sep 19, 11:35 AM
aprantl added a comment to D52270: TestMultilineExpr: validate evaluation for expressions spread over multiple lines.

Does that mean we can remove ./packages/Python/lldbsuite/test/expression_command/multiline/TestMultilineExpressions.py ?

Wed, Sep 19, 11:20 AM
aprantl added inline comments to D52270: TestMultilineExpr: validate evaluation for expressions spread over multiple lines.
Wed, Sep 19, 10:55 AM
aprantl added inline comments to D52270: TestMultilineExpr: validate evaluation for expressions spread over multiple lines.
Wed, Sep 19, 10:55 AM
aprantl accepted D52223: [dwarfdump] Verify DW_AT_type..

LGTM with the outstanding DIDumpOptions fix. Sorry for holding things up :-)

Wed, Sep 19, 8:33 AM · debug-info

Tue, Sep 18

aprantl accepted D51976: [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger.
Tue, Sep 18, 11:18 AM · debug-info
aprantl added inline comments to D52217: [codeview] Emit S_FRAMEPROC and use S_DEFRANGE_FRAMEPOINTER_REL.
Tue, Sep 18, 10:59 AM
aprantl added inline comments to D52223: [dwarfdump] Verify DW_AT_type..
Tue, Sep 18, 10:53 AM · debug-info
aprantl added inline comments to D52223: [dwarfdump] Verify DW_AT_type..
Tue, Sep 18, 8:38 AM · debug-info

Mon, Sep 17

aprantl added a comment to D51976: [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger.

I also sketched an implementation over in https://bugs.llvm.org/show_bug.cgi?id=38763.

Mon, Sep 17, 10:40 AM · debug-info
aprantl added a comment to D51976: [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger.

Having read the real testcase now, I understand why you are dropping the debug info now. I would like to point out that we could do better. If we extended llvm.dbg.value to take more than one LLVM SSA Value, then we could produce a DIExpression that selects either %add or %sub depending on the value of %cmp. Let me know if you are interested in implementing this, it should be relatively straight forward to do and would come in useful in all sorts of other situations, too.

That is a very good idea and I am interested in implementing it. A good opportunity to improve my knowledge in that area. I can see the associated benefits.

I would suggest if that is OK with you, to finish with the current issue. And then as a general improvement, to revisit the 'select' case as an independent issue, to implement what you have described. If you feel otherwise, I would proceed with the changes proposed to the 'llvm.dbg.value'.

Mon, Sep 17, 9:26 AM · debug-info
aprantl added a comment to D52139: [lldb-mi] Fix hanging of target-select-so-path.test.

It looks like it would be easy to forget to add -gdb-exit to every test. Wouldn't it be better to have the lldb-mi automatically produce a -gdb-exit command when it reads EOF from stdin?

Mon, Sep 17, 9:05 AM

Sep 14 2018

aprantl added inline comments to D51910: [Modules] Add platform feature to requires clause.
Sep 14 2018, 4:51 PM
aprantl added inline comments to D51910: [Modules] Add platform feature to requires clause.
Sep 14 2018, 4:47 PM
aprantl added inline comments to D51976: [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger.
Sep 14 2018, 1:55 PM · debug-info
aprantl added a comment to D51976: [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger.

Having read the real testcase now, I understand why you are dropping the debug info now. I would like to point out that we could do better. If we extended llvm.dbg.value to take more than one LLVM SSA Value, then we could produce a DIExpression that selects either %add or %sub depending on the value of %cmp. Let me know if you are interested in implementing this, it should be relatively straight forward to do and would come in useful in all sorts of other situations, too.

Sep 14 2018, 1:54 PM · debug-info
aprantl added inline comments to D52112: Fix debug info for SelectionDAG legalization of DAG nodes with two results..
Sep 14 2018, 12:37 PM · debug-info
aprantl added inline comments to D52112: Fix debug info for SelectionDAG legalization of DAG nodes with two results..
Sep 14 2018, 12:37 PM · debug-info
aprantl accepted D52101: [lldb-mi] Correct regex in the symbol-list-lines test.

Thanks, that looks like a safe change.

Sep 14 2018, 12:37 PM
aprantl created D52112: Fix debug info for SelectionDAG legalization of DAG nodes with two results..
Sep 14 2018, 11:47 AM · debug-info

Sep 12 2018

aprantl accepted D51968: [deadargelim] Update dbg.value of 'unused' parameters.

LGTM with TBAA cruft removed.

Sep 12 2018, 12:34 PM · debug-info
aprantl added inline comments to D51990: [DebugInfo] Fix emitting of bit offset for ObjC.
Sep 12 2018, 9:44 AM · debug-info
aprantl added a comment to D51968: [deadargelim] Update dbg.value of 'unused' parameters.

Thanks, this looks mostly good, minor comments for the testcase inline.

Sep 12 2018, 8:58 AM · debug-info
aprantl added a project to D51990: [DebugInfo] Fix emitting of bit offset for ObjC: debug-info.
Sep 12 2018, 8:54 AM · debug-info
aprantl added inline comments to D51990: [DebugInfo] Fix emitting of bit offset for ObjC.
Sep 12 2018, 8:54 AM · debug-info
aprantl removed a reviewer for D51990: [DebugInfo] Fix emitting of bit offset for ObjC: dexonsmith.
Sep 12 2018, 8:54 AM · debug-info
aprantl requested changes to D51990: [DebugInfo] Fix emitting of bit offset for ObjC.
Sep 12 2018, 8:54 AM · debug-info
aprantl added a reviewer for D51990: [DebugInfo] Fix emitting of bit offset for ObjC: rjmccall.
Sep 12 2018, 8:48 AM · debug-info
aprantl added a comment to D51976: [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger.

It still isn't clear to me why you need to drop the debug info in the first place (instead of e.g., making it point to the select, or leave it on its operands) but I hope that that will become obvious once I see the actual testcase.

Sep 12 2018, 8:41 AM · debug-info
aprantl added a comment to D51976: [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger.

This test confuses me. The function you are modifying is called FoldTwoEntryPHINode, but there is not a single PHI node in the input?

Sep 12 2018, 8:32 AM · debug-info
aprantl requested changes to D51976: [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger.
Sep 12 2018, 8:29 AM · debug-info
aprantl accepted D51976: [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger.
Sep 12 2018, 8:29 AM · debug-info

Sep 11 2018

aprantl added inline comments to D51910: [Modules] Add platform feature to requires clause.
Sep 11 2018, 8:24 AM

Sep 10 2018

aprantl added inline comments to D49915: [IR] Add a boolean field in DILocation to know if a line must covered or not.
Sep 10 2018, 9:31 AM · debug-info

Sep 7 2018

aprantl added inline comments to D51813: [Util] Refer to [s|z]exts of args when converting dbg.declares (fix PR35400).
Sep 7 2018, 1:58 PM · debug-info
aprantl added a comment to D51813: [Util] Refer to [s|z]exts of args when converting dbg.declares (fix PR35400).

I like the amount of red in this patch :-)

Sep 7 2018, 1:57 PM · debug-info
aprantl added a comment to D51807: Remove all uses of DIFlagBlockByrefStruct from Clang.

( D51763 is not *really* a dependency, but it's closely related. )

Sep 7 2018, 11:45 AM
aprantl added a dependent revision for D51763: Remove addBlockByrefAddress(), it is dead code as far as clang is concerned.: D51807: Remove all uses of DIFlagBlockByrefStruct from Clang.
Sep 7 2018, 11:39 AM
aprantl added a dependency for D51807: Remove all uses of DIFlagBlockByrefStruct from Clang: D51763: Remove addBlockByrefAddress(), it is dead code as far as clang is concerned..
Sep 7 2018, 11:39 AM
aprantl created D51807: Remove all uses of DIFlagBlockByrefStruct from Clang.
Sep 7 2018, 11:35 AM
aprantl added a comment to D51763: Remove addBlockByrefAddress(), it is dead code as far as clang is concerned..

FYI the block_var.m test in debuginfo-tests exercises this area end-to-end.

Sep 7 2018, 9:41 AM
aprantl updated the diff for D51763: Remove addBlockByrefAddress(), it is dead code as far as clang is concerned..

Added a verifier check. It's the right thing to do, even if it is temporary.

Sep 7 2018, 9:17 AM

Sep 6 2018

aprantl created D51763: Remove addBlockByrefAddress(), it is dead code as far as clang is concerned..
Sep 6 2018, 5:08 PM
aprantl added a comment to D51749: [GlobalISel] Lower dbg.declare into indirect DBG_VALUE.

Because of LiveDebugValues this patch might still work though.

Sep 6 2018, 1:51 PM
aprantl added a comment to D51749: [GlobalISel] Lower dbg.declare into indirect DBG_VALUE.

Note that strictly speaking a dbg.declare is not 100% the same as an indirect DBG_VALUE. A dbg.declare declares a stack slot for a variable, and specifically has a lifetime valid for the entire lexical scope of that variable, whereas the lifetime of a DBG_VALUE only lasts until the next DBG_VALUE for the same variable, the end of the basic block (except where LiveDebugValues can prove it doesn't), or until the value the DBG_Value is pointing to is clobbered, whichever happens first.

Sep 6 2018, 1:50 PM
aprantl added a reviewer for D51749: [GlobalISel] Lower dbg.declare into indirect DBG_VALUE: rnk.
Sep 6 2018, 1:49 PM
aprantl added a comment to D51443: [dsymutil] Remove non-determinism..

Yup. Why would -j1 generate different output? With this patch it's actually the other way around, we used to generate different output without threading, but now we do the same thing in both cases because we use the offset which is computed before.

I discussed this with Fred and that was a misunderstanding on my end. On the flipside this also means that it isn't clear that -j1 actually uses less memory. Did you confirm that that's the case?

Sep 6 2018, 11:26 AM
aprantl added a comment to D51443: [dsymutil] Remove non-determinism..

That size difference is not big. (That is with a -gmodules -fcxxmodules build, right?) Are we concerened that -j1 will create a different but semantically equivalent output?

Sep 6 2018, 5:53 AM