Page MenuHomePhabricator

aprantl (Adrian Prantl)
User

Projects

User Details

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

Recent Activity

Yesterday

aprantl committed rGdd28254063f2: Add missing include (authored by aprantl).
Add missing include
Thu, Sep 17, 10:46 AM

Tue, Sep 15

aprantl added a project to D87302: [IRSim][IROutliner] Adding DebugInfo handling for IR outlined functions.: debug-info.
Tue, Sep 15, 7:02 PM · debug-info, Restricted Project
aprantl added a comment to D87626: Fix .debug_aranges parsing..

Wow :-)

Tue, Sep 15, 7:00 PM · Restricted Project
aprantl added a comment to D87641: [DebugInfo] Add assert for variable size when creating fragments..

I'm expecting this to cause all sorts of non-clang frontends to trigger this assertion, since we don't require types to have sizes. In fact, I have an open bug for the Swift frontend to try removing the static sizes from types, since LLDB prefers the dynamic runtime size anyway.
If we want to make this a requirement, we should probably implement it as a verifier check instead of an assertion. But I'm not sure if we want to require this for all frontends.

Tue, Sep 15, 6:24 PM · Restricted Project
aprantl accepted D87633: [lldb] Reword CompilerType docstring to not say "generic type".
Tue, Sep 15, 6:18 PM · Restricted Project
aprantl accepted D87500: [DebugInfo] DISubrange support for fortran assumed size array.

Thank you!

Tue, Sep 15, 6:17 PM · Restricted Project, debug-info

Sat, Sep 12

aprantl added a comment to D86895: [Modules] Add stats to measure performance of building and loading modules..

This looks like a good idea — people will probably have some options on the names and descriptions of the statistics :-)

Sat, Sep 12, 10:32 AM · Unknown Object (Project), Restricted Project, Restricted Project
aprantl added a reviewer for D86895: [Modules] Add stats to measure performance of building and loading modules.: teemperor.
Sat, Sep 12, 10:24 AM · Unknown Object (Project), Restricted Project, Restricted Project
aprantl added a comment to D87500: [DebugInfo] DISubrange support for fortran assumed size array.

I see

Sat, Sep 12, 10:23 AM · Restricted Project, debug-info

Fri, Sep 11

aprantl added inline comments to D87500: [DebugInfo] DISubrange support for fortran assumed size array.
Fri, Sep 11, 4:14 PM · Restricted Project, debug-info
aprantl added inline comments to D87500: [DebugInfo] DISubrange support for fortran assumed size array.
Fri, Sep 11, 8:30 AM · Restricted Project, debug-info
aprantl added a comment to D87499: [DebugInfo] Flang should not emit DW_AT_main_subprogram for DWARF version lower than 4.

Is this causing real problems? Usually we emit newer attributes even for older DWARF versions because most consumers just ignore unknown attributes.

Fri, Sep 11, 8:29 AM · Restricted Project, debug-info
aprantl added a comment to D87494: Improve LSR debug-info.

Could you add test that showcases the effect?

Fri, Sep 11, 8:26 AM · Restricted Project, debug-info
aprantl added inline comments to D87441: Speedup collecting DWARF attribute values.
Fri, Sep 11, 8:22 AM · Restricted Project
aprantl added a comment to D87357: [SelectionDAG][DebugInfo] Use entry-values to recover parameters values.

I think this looks mostly good.

Fri, Sep 11, 8:18 AM · Restricted Project, debug-info
aprantl added inline comments to D82545: [Debugify] Make the debugify aware of the original (-g) Debug Info.
Fri, Sep 11, 7:34 AM · debug-info, Restricted Project

Wed, Sep 2

aprantl committed rG272742a92d24: Perform an extra consistency check when searching ModuleManager's (authored by aprantl).
Perform an extra consistency check when searching ModuleManager's
Wed, Sep 2, 2:23 PM
aprantl closed D86823: [clang][Modules] Perform an Extra Consistency Check When Searching The ModuleManager's Cache For Implicit Modules.
Wed, Sep 2, 2:23 PM · Restricted Project
aprantl added a reverting change for rGe0e7eb2e2648: [clang] Add missing .def files to Clang's modulemap: rG3b12e12d4b9e: Revert "[clang] Add missing .def files to Clang's modulemap".
Wed, Sep 2, 2:15 PM
aprantl committed rG3b12e12d4b9e: Revert "[clang] Add missing .def files to Clang's modulemap" (authored by aprantl).
Revert "[clang] Add missing .def files to Clang's modulemap"
Wed, Sep 2, 2:15 PM

Tue, Sep 1

aprantl added inline comments to D85705: Add a "Trace" plug-in to LLDB to add process trace support in stages..
Tue, Sep 1, 2:40 PM · Restricted Project, Restricted Project

Mon, Aug 31

aprantl added a reviewer for D86799: [WIP] Experimental Debug Location Verifier.: davide.
Mon, Aug 31, 11:16 AM · Restricted Project

Fri, Aug 28

aprantl accepted D86823: [clang][Modules] Perform an Extra Consistency Check When Searching The ModuleManager's Cache For Implicit Modules.

Assuming that it works, this seems fine.

Fri, Aug 28, 8:12 PM · Restricted Project
aprantl added inline comments to D86823: [clang][Modules] Perform an Extra Consistency Check When Searching The ModuleManager's Cache For Implicit Modules.
Fri, Aug 28, 4:44 PM · Restricted Project
aprantl added inline comments to D86812: [DebugInstrRef][1/3] Track PHI values through register allocation.
Fri, Aug 28, 3:30 PM · Restricted Project
aprantl updated the diff for D86799: [WIP] Experimental Debug Location Verifier..

Ignore line 0.

Fri, Aug 28, 12:50 PM · Restricted Project
aprantl added a comment to D86799: [WIP] Experimental Debug Location Verifier..

Yes, triggers a similar error in debug mode:

Fri, Aug 28, 12:45 PM · Restricted Project
aprantl added a comment to D86799: [WIP] Experimental Debug Location Verifier..

For example:

... o -MF lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o.d -o lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o -c /Volumes/Data/llvm-project/llvm/lib/Demangle/ItaniumDemangle.cpp
Occurence of source location from an operand does not dominate instruction.
  br label %cond.end26, !dbg !2571
!2571 = !DILocation(line: 355, column: 10, scope: !2491)
  %cond = phi i8* [ %21, %cond.true24 ], [ null, %cond.false25 ], !dbg !2571
Fri, Aug 28, 11:43 AM · Restricted Project
aprantl updated the summary of D86799: [WIP] Experimental Debug Location Verifier..
Fri, Aug 28, 11:43 AM · Restricted Project
aprantl requested review of D86799: [WIP] Experimental Debug Location Verifier..
Fri, Aug 28, 11:43 AM · Restricted Project

Wed, Aug 26

aprantl added inline comments to D86615: [lldb/DWARF] Fix handling of variables with both location and const_value attributes.
Wed, Aug 26, 6:44 PM · Restricted Project
aprantl added a comment to D86662: Simplify Symbol Status Message to Only Debug Info Size.

Sorry, I missed this!

Wed, Aug 26, 6:44 PM · Restricted Project
aprantl committed rGa206ca40b5cf: Bring llvm::Optional data formatter back in sync with the implementation. (authored by aprantl).
Bring llvm::Optional data formatter back in sync with the implementation.
Wed, Aug 26, 3:11 PM
aprantl added a comment to D86662: Simplify Symbol Status Message to Only Debug Info Size.

Could you please also include a testcase?

Wed, Aug 26, 2:34 PM · Restricted Project
aprantl accepted D86615: [lldb/DWARF] Fix handling of variables with both location and const_value attributes.

What a function :-)

Wed, Aug 26, 9:38 AM · Restricted Project

Tue, Aug 25

aprantl added a comment to D86493: [lldb][NFC] Remove unused/misnamed SetObjectModificationTime.

I should also mention that we are actively looking into ways to upstream the swift-lldb code into llvm.org. Now that both branches are licensed under Apache the only challenge left is to make the Swift support a real language *plugin* that can be conditionally compiled.

Tue, Aug 25, 10:50 AM · Restricted Project
aprantl added a comment to D86493: [lldb][NFC] Remove unused/misnamed SetObjectModificationTime.

The largest downstream LLDB fork that I know about is swift-lldb, which is also open source and thus easy to check. There also exists a Rust version, and many custom forks for various specialized hardware. Putting patches up for review here gives the maintainers a chance to voice their concerns. For larger architectural changes we usually have a thread on lldb-dev to make sure we captured everyone's attention. We're under no obligation to not break anyone's private fork, but if there is an easy/reasonable way to make everyone happy we usually tend to choose that path.

Tue, Aug 25, 10:46 AM · Restricted Project
aprantl accepted D86493: [lldb][NFC] Remove unused/misnamed SetObjectModificationTime.

Sometimes these odd leaf APIs are used by custom downstream variants of LLDB, but without any comment pointing into that direction and no unit test, I think this makes sense to remove. Also, we can easily add it back in later.

Tue, Aug 25, 8:49 AM · Restricted Project

Mon, Aug 24

aprantl added a comment to D86348: [lldb/DWARF] More DW_AT_const_value fixes.

Sounds good!

Mon, Aug 24, 10:08 AM · Restricted Project

Fri, Aug 21

aprantl accepted D85771: [DebugInstrRef][8/9] Convert DBG_INSTR_REFs into variable locations.
Fri, Aug 21, 2:28 PM · Restricted Project
aprantl added a comment to D86305: [DebugInfo][flang]Added support for representing Fortran assumed length strings.

Thanks!

Fri, Aug 21, 2:27 PM · debug-info, Restricted Project
aprantl added inline comments to D85771: [DebugInstrRef][8/9] Convert DBG_INSTR_REFs into variable locations.
Fri, Aug 21, 1:11 PM · Restricted Project
aprantl accepted D86311: Fix how ValueObjectVariable handles DW_AT_const_value when the DWARFExpression holds the data that represents a constant value.
Fri, Aug 21, 1:09 PM · Restricted Project
aprantl added a comment to D86311: Fix how ValueObjectVariable handles DW_AT_const_value when the DWARFExpression holds the data that represents a constant value.

@shafik would you mind preparing a separate commit that add the REQUIRES everywhere it is needed, or if there are many, create an x86 subdir with an implicit requirement (like we do in the llvm/test/debuginfo tests)?
If it weren't for Rosetta, these would break on Apple Silicon machines, for example.

Fri, Aug 21, 1:09 PM · Restricted Project
aprantl accepted D86348: [lldb/DWARF] More DW_AT_const_value fixes.

LGTM with that caveat

Fri, Aug 21, 1:07 PM · Restricted Project
aprantl added a comment to D86348: [lldb/DWARF] More DW_AT_const_value fixes.

This looks nice! I'm somewhat suspicious that the new test doesn't specifically test the union case of the old test, but I'm assuming that would still work and your simpler tests covers the same code?

Fri, Aug 21, 1:07 PM · Restricted Project
aprantl added inline comments to D86318: [llvm-dwarfdump] --statistics: break lines and indent by 2.
Fri, Aug 21, 9:27 AM · Restricted Project
aprantl added a comment to D86305: [DebugInfo][flang]Added support for representing Fortran assumed length strings.

I'm fine with whatever numbering makes your development the easiest. My only ask is that if we still have a gap after this, please document what nodes are expected to go there, so there 1) won't be any future conflicts and 2) we don't pointlessly reserve space.

Fri, Aug 21, 9:25 AM · debug-info, Restricted Project

Thu, Aug 20

aprantl accepted D86305: [DebugInfo][flang]Added support for representing Fortran assumed length strings.
Thu, Aug 20, 1:27 PM · debug-info, Restricted Project
aprantl added inline comments to D86305: [DebugInfo][flang]Added support for representing Fortran assumed length strings.
Thu, Aug 20, 12:37 PM · debug-info, Restricted Project
aprantl added a comment to D86311: Fix how ValueObjectVariable handles DW_AT_const_value when the DWARFExpression holds the data that represents a constant value.

The code looks fine, I think the test needs an extra REQUIRES.

Thu, Aug 20, 12:33 PM · Restricted Project
aprantl added a comment to D86305: [DebugInfo][flang]Added support for representing Fortran assumed length strings.

Thanks, this looks good to me — I just have a few inline comments.

Thu, Aug 20, 10:02 AM · debug-info, Restricted Project
aprantl accepted D85756: [DebugInstrRef][5/9] Substitute debug value numbers to handle optimisations.

@vsk We really need a richer API for MBB::erase that takes extra arguments and forces you to think about this.

Thu, Aug 20, 9:54 AM · Restricted Project
aprantl accepted D86274: [Constants] Handle FNeg in getWithOperands..
Thu, Aug 20, 8:31 AM · Restricted Project, Restricted Project
aprantl accepted D86151: [DwarfDebug] Improve single location detection in validThroughout (2/4).
Thu, Aug 20, 8:30 AM · debug-info, Restricted Project

Wed, Aug 19

aprantl accepted D86244: [lldb] Update TestSimulatorPlatform.py now that the Makefile no longer decomposes the TRIPLE.

I just learned that we no longer compute SDKROOT in Makefile.rules, so this seems resonable.

Wed, Aug 19, 2:17 PM · Restricted Project
aprantl accepted D83047: [LiveDebugValues] 2/4 Add instruction-referencing LiveDebugValues implementation.
In D83047#2208102, @vsk wrote:

Hi @jmorse, thanks for the updates on the DbgValue::{Proposed,NoVal} scheme.

I'm having trouble paging in enough of the DBG_INSTR_REF patch queue to continue giving meaningful review. I'm not sure the traditional review process is a great fit for this, since the changes are at a prototype stage. Perhaps we might be better served by landing things as they are, as a separate code path guarded behind a cl::opt? This would allow more people to test and contribute patches. Wdyt? (cc @aprantl @davide)

Ping @aprantl regarding this ^^^.

To avoid vagueness: it'd be great if this could be landed as a prototype and then refined / built up from there.

Wed, Aug 19, 9:51 AM · debug-info, Restricted Project
aprantl added a comment to D85988: Fix the ability to list iOS simulator processes..

Adrian: is there something I need to do to enable simulator tests? I added a test to TestSimulatorPlatform.py but if I run:

$ ../debug/bin/llvm-lit -sv lldb/test/API/macosx/simulator
llvm-lit: /Users/gclayton/Documents/src/lldb/mono/llvm-project/lldb/test/API/lit.cfg.py:147: warning: Could not set a default per-test timeout. Requires the Python psutil module but it could not be found. Try installing it via pip or via your operating system's package manager.

Testing Time: 19.61s
  Unsupported: 1

1 warning(s) in tests

It is unsupported? I am running this on a mac. Do I need to launch a simulator first? Extra arguments to the test suite?

Wed, Aug 19, 9:49 AM · Restricted Project
aprantl updated subscribers of D83468: [Debuginfo] Fix for PR46653.

(gdb) b main
Breakpoint 1 at 0x800005ec: file test.c, line 0.

Agreed that that is not a helpful end-user experience.

How does LLDB handle this? Might also be consumer-fixable.

Wed, Aug 19, 9:42 AM · Restricted Project, debug-info
aprantl added a comment to D86185: [Cloning] Fix to cloning DISubprograms..

Thanks! Having a test would be really important to document the expected functionality and prevent future regressions.
Every time we change something here, we tend to find new unexpected behavior in a very complex LTO build a couple months later ;-)

Wed, Aug 19, 9:37 AM · debug-info, Restricted Project
aprantl added a project to D86185: [Cloning] Fix to cloning DISubprograms.: debug-info.
Wed, Aug 19, 9:34 AM · debug-info, Restricted Project
aprantl accepted D85981: [clang][Modules] Increase the Entropy of ModuleManager Map Keys.
Wed, Aug 19, 9:33 AM · Restricted Project
aprantl accepted D86150: [NFC][DebugInfo] Create InstructionOrdering helper class (1/4).
Wed, Aug 19, 9:32 AM · debug-info, Restricted Project
aprantl added a comment to D86153: [DwarfDebug] Improve validThroughout performance (4/4).

Thank you @aprantl.

I think we can (should?) remove the cut-off added in D83236 when this lands - I was testing against the same pathological case when writing this patch. Is there any kind of approval process for that?

Wed, Aug 19, 9:31 AM · debug-info, Restricted Project
aprantl accepted D83560: [DebugInfo] Emit DW_OP_implicit_value for Floating point constants.
Wed, Aug 19, 8:55 AM · debug-info, Restricted Project
aprantl accepted D84013: Correctly emit dwoIDs after ASTFileSignature refactoring (D81347).
Wed, Aug 19, 8:47 AM · Restricted Project
aprantl accepted D85760: [DebugInstrRef][7/9] NFC: Separate collection of machine/variable values.
Wed, Aug 19, 8:45 AM · Restricted Project
aprantl added inline comments to D85771: [DebugInstrRef][8/9] Convert DBG_INSTR_REFs into variable locations.
Wed, Aug 19, 8:44 AM · Restricted Project
aprantl accepted D85775: [DebugInstrRef][9/9] Handle DBG_INSTR_REFs use-before-defs in LiveDebugValues.
Wed, Aug 19, 8:42 AM · Restricted Project
aprantl accepted D85747: [DebugInstrRef][3/9] Create DBG_INSTR_REFs in SelectionDAG.
Wed, Aug 19, 8:40 AM · Restricted Project
aprantl added a comment to D85741: [DebugInstrRef][1/9] Initial fields and instruction for instruction-referencing variable locations.

Oh, one important thing: Can you add a section to the .rst documentation with a MIR example that explains what a DBG_VALUE_REF is / what it's used for, etc?

Wed, Aug 19, 8:40 AM · Restricted Project
aprantl accepted D85746: [DebugInstrRef][2/9] Parse debug instruction-references from/to MIR.
Wed, Aug 19, 8:38 AM · Restricted Project
aprantl accepted D85741: [DebugInstrRef][1/9] Initial fields and instruction for instruction-referencing variable locations.

Mechanically this looks fine — would be good for others to chime in whether we have consensus over doing this change though.

Wed, Aug 19, 8:36 AM · Restricted Project

Aug 18 2020

aprantl added inline comments to D86045: [llvm-dwarfdump] --statistics: switch to json::OStream. NFC.
Aug 18 2020, 4:02 PM · Restricted Project
aprantl accepted D86153: [DwarfDebug] Improve validThroughout performance (4/4).
Aug 18 2020, 1:47 PM · debug-info, Restricted Project
aprantl added inline comments to D86150: [NFC][DebugInfo] Create InstructionOrdering helper class (1/4).
Aug 18 2020, 1:46 PM · debug-info, Restricted Project
aprantl added inline comments to D85981: [clang][Modules] Increase the Entropy of ModuleManager Map Keys.
Aug 18 2020, 1:41 PM · Restricted Project
aprantl added inline comments to D85981: [clang][Modules] Increase the Entropy of ModuleManager Map Keys.
Aug 18 2020, 1:40 PM · Restricted Project
aprantl added inline comments to D85981: [clang][Modules] Increase the Entropy of ModuleManager Map Keys.
Aug 18 2020, 1:39 PM · Restricted Project
aprantl added a comment to D83468: [Debuginfo] Fix for PR46653.

(gdb) b main
Breakpoint 1 at 0x800005ec: file test.c, line 0.

Aug 18 2020, 1:36 PM · Restricted Project, debug-info

Aug 17 2020

aprantl committed rGa1a3b86910e4: Convert to early exit (NFC) (authored by aprantl).
Convert to early exit (NFC)
Aug 17 2020, 2:43 PM
aprantl committed rGfc1464c6df5f: Simplify error reporting (NFC) (authored by aprantl).
Simplify error reporting (NFC)
Aug 17 2020, 2:43 PM
aprantl committed rGa615ec9a1bfb: Convert if cascade to switch (NFC) (authored by aprantl).
Convert if cascade to switch (NFC)
Aug 17 2020, 2:43 PM
aprantl committed rG8bb81c29b980: Convert to early exit (NFC) (authored by aprantl).
Convert to early exit (NFC)
Aug 17 2020, 2:43 PM
aprantl committed rG1d5e9d37c339: Convert to early exit (NFC) (authored by aprantl).
Convert to early exit (NFC)
Aug 17 2020, 2:42 PM
aprantl added a comment to D83468: [Debuginfo] Fix for PR46653.

If the problem that you want to solve is that the prologue ends at line 0, then massaging earlier passes until the right result happens to come up in one testcase is not going to be very effective. Yes, it may fix the testcase, but that won't last long, and the patch is introducing questionable behavior that will end up causing other problems.

Aug 17 2020, 9:56 AM · Restricted Project, debug-info

Aug 15 2020

aprantl added inline comments to D85981: [clang][Modules] Increase the Entropy of ModuleManager Map Keys.
Aug 15 2020, 6:37 PM · Restricted Project
aprantl added inline comments to D85981: [clang][Modules] Increase the Entropy of ModuleManager Map Keys.
Aug 15 2020, 6:36 PM · Restricted Project

Aug 13 2020

aprantl added a comment to D82363: [DebugInfo] Add new instruction and expression operator for variadic debug values.

Would it be appropriate to propose having a discussion somewhere on the topic with anyone interested, preferably on Discord or somewhere we can talk? I think we are leaning towards a very similar end-state, and I worry about just working in a silo until I can post an RFC to hash this out in text.

Aug 13 2020, 5:07 PM · Restricted Project, debug-info
aprantl accepted D85739: [DebugInfo] Avoid falling in an infinite loop with a truncated .debug_str_offsets.dwo..
Aug 13 2020, 9:15 AM · debug-info, Restricted Project

Aug 12 2020

aprantl added inline comments to D85670: [Instruction] Add updateLocationAfterHoist helper.
Aug 12 2020, 4:56 PM · Restricted Project
aprantl accepted D85680: [lldb][NFC] Desugar certain expression result types to strip references to C++ module declarations.
Aug 12 2020, 4:49 PM
aprantl added a comment to D83468: [Debuginfo] Fix for PR46653.

Thanks for posting the line table. It appears to confirm my suspicion that this patch merely hides the issue, but it isn't correct. To be sure it may be possible to preserve the debug location in this function, but implicitly setting it to the location of the instruction before it, is not the right thing to do. It may have the desired effect in your example, but it't not generally correct.

@aprantl Thank you for comment . Line llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp:2187

EntryBuilder->setDebugLoc(DebugLoc::get(0, 0, DL.getScope(), DL.getInlinedAt()));

is setting Debug location for Line number zero , because of that AsmPrinter is getting debug location for line number zero and it is adding this entry into debug_line table .

Aug 12 2020, 4:45 PM · Restricted Project, debug-info
aprantl added inline comments to D84113: [Debuginfo] (1/8) [DW_OP_implicit_pointer/second strategy] Support for DW_OP_LLVM_implicit_pointer.
Aug 12 2020, 4:35 PM · debug-info, Restricted Project
aprantl added inline comments to D84113: [Debuginfo] (1/8) [DW_OP_implicit_pointer/second strategy] Support for DW_OP_LLVM_implicit_pointer.
Aug 12 2020, 4:34 PM · debug-info, Restricted Project
aprantl accepted D85636: [llvm-dwarfdump] Fix misleading scope byte coverage statistics.

LGTM modulo David's comment about the test.

Aug 12 2020, 4:25 PM · Restricted Project, debug-info
aprantl added a comment to D85705: Add a "Trace" plug-in to LLDB to add process trace support in stages..

I only added a few non-substantial inline comments.

Aug 12 2020, 4:21 PM · Restricted Project, Restricted Project
aprantl accepted D85827: [test] XFAIL two tests with inlining debug info issues on Sparc.

LGTM + what @dblaikie said :-)

Aug 12 2020, 4:12 PM · Restricted Project
aprantl accepted D85859: [lldb] Fix relative imports and set the appropriate include dirs.

Looks plausible!

Aug 12 2020, 4:11 PM · Restricted Project

Aug 11 2020

aprantl accepted D85749: [DebugInstrRef][4/9] Support recording of instruction reference substitutions.
Aug 11 2020, 11:37 AM · Restricted Project