Page MenuHomePhabricator
Feed Advanced Search

Fri, Feb 15

aprantl accepted D58309: [Reproducers] Have clang make use of lldb's VFS..

LGTM as long as we always set a custom module cache path.

Fri, Feb 15, 5:46 PM · Restricted Project
aprantl added inline comments to D58309: [Reproducers] Have clang make use of lldb's VFS..
Fri, Feb 15, 3:49 PM · Restricted Project
aprantl added inline comments to D58309: [Reproducers] Have clang make use of lldb's VFS..
Fri, Feb 15, 3:09 PM · Restricted Project
aprantl committed rGe308e4299d03: Relax assertion to account for private framework modules, too. (authored by aprantl).
Relax assertion to account for private framework modules, too.
Fri, Feb 15, 12:24 PM
aprantl added inline comments to D58125: Add ability to import std module into expression parser to improve C++ debugging.
Fri, Feb 15, 9:20 AM · Restricted Project, Restricted Project
aprantl added inline comments to D58224: [DebugInfo] Adjust fragment offset for big endian targets when splitting alloca in SROA.
Fri, Feb 15, 8:25 AM · debug-info, Restricted Project

Thu, Feb 14

aprantl committed rG8400eb32794a: Add explicit language specifier to test. (authored by aprantl).
Add explicit language specifier to test.
Thu, Feb 14, 10:51 AM
aprantl added inline comments to D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies.
Thu, Feb 14, 8:44 AM · Restricted Project
aprantl added inline comments to D58224: [DebugInfo] Adjust fragment offset for big endian targets when splitting alloca in SROA.
Thu, Feb 14, 8:35 AM · debug-info, Restricted Project

Wed, Feb 13

aprantl committed rG8c8cfc102b8f: Add missing include (authored by aprantl).
Add missing include
Wed, Feb 13, 12:52 PM
aprantl added a comment to D58090: Deserialize Clang module search path from DWARF.

I attempted to fix it in r353971, but I'm not sure.

Wed, Feb 13, 11:30 AM · Restricted Project
aprantl committed rG0c0ebb143093: Add missing include (authored by aprantl).
Add missing include
Wed, Feb 13, 11:29 AM
aprantl added a project to D58194: [DebugInfo] add SectionedAddress to DebugInfo interfaces.: debug-info.
Wed, Feb 13, 10:37 AM · debug-info, Restricted Project
aprantl committed rG0f30a3b68fa8: Deserialize Clang module search path from DWARF (authored by aprantl).
Deserialize Clang module search path from DWARF
Wed, Feb 13, 10:11 AM
aprantl added a comment to D58090: Deserialize Clang module search path from DWARF.

I think the problem was that I had an incompletely built libcxx in my build directory.

Wed, Feb 13, 9:59 AM · Restricted Project
aprantl added inline comments to D58191: [DebugInfo] Make postra sinking of DBG_VALUEs safe in the presence of subregisters.
Wed, Feb 13, 9:26 AM · Restricted Project
aprantl accepted D58034: [IR/DIVar] Add flag for params that have unchanged values.

LGTM. One last request: Could you please add (either to the doxygen comment of isArgNotModified or to LangRef.rst or SourceLevelDebugging.rst) an explanation of the semantics of the flag. Ie.: What it is used for and under what conditions a frontend should generate it?

Wed, Feb 13, 8:56 AM · debug-info

Tue, Feb 12

aprantl updated the diff for D58090: Deserialize Clang module search path from DWARF.

Almost final version. There's a silly bug that prevents the C Darwin module to be loaded now that I haven't been able to track down yet.

Tue, Feb 12, 5:24 PM · Restricted Project
aprantl retitled D58090: Deserialize Clang module search path from DWARF from [WIP] Deserialize Clang module search path from DWARF to Deserialize Clang module search path from DWARF.
Tue, Feb 12, 5:23 PM · Restricted Project
aprantl accepted D57979: [dsymutil] Don't clone empty CUs.
Tue, Feb 12, 4:16 PM · Restricted Project
aprantl added inline comments to D56587: Introduce DW_OP_LLVM_convert.
Tue, Feb 12, 12:47 PM · debug-info
aprantl accepted D56788: [DebugInfo][InstCombine] Prefer salvaging dbg.values over sinking them.
Tue, Feb 12, 10:05 AM · Restricted Project
aprantl added a comment to D58044: [DwarfDebug] Dump call site debug info into DWARF.

If we wanted to support the DWARF 5 variants are there any semantic differences, or do we just need to rename the attributes?

Tue, Feb 12, 9:37 AM · debug-info
aprantl added a comment to D58034: [IR/DIVar] Add flag for params that have unchanged values.

Yeah, that makes sense. It would be very hard to analyze this without either false positives or a ton of false negatives. I also see that while every constant is trivially not changed, the opposite is not true.

Tue, Feb 12, 9:32 AM · debug-info
aprantl added inline comments to D56587: Introduce DW_OP_LLVM_convert.
Tue, Feb 12, 9:23 AM · debug-info

Mon, Feb 11

aprantl created D58090: Deserialize Clang module search path from DWARF.
Mon, Feb 11, 5:09 PM · Restricted Project
aprantl added a comment to D57976: -gmodules: Don't emit incomplete breadcrumbs pointing to nonexistant PCM files..

This, I guess, is part of the impact of moving towards explicit modules (-fmodule-name is for building a module with that name, right?)?

Mon, Feb 11, 4:14 PM · Restricted Project
aprantl added a comment to D56203: [IRReader] Expose getLazyIRModule.

I'm not sure if this is intentionally kept private but this looks harmless to me. Would be good to get an okay from someone more familiar with the interfaces.

Mon, Feb 11, 10:09 AM · Restricted Project
aprantl added a reviewer for D56203: [IRReader] Expose getLazyIRModule: tejohnson.
Mon, Feb 11, 10:08 AM · Restricted Project
aprantl added a comment to D58032: [Metadata] Introduce call site dbg info metadata.

Thanks! I'd like to have a discussion whether encoding this in IR and threading it through the compiler or performing an late MIR analysis is the better approach before reviewing the implementation in detail. We can either do this here or on llvm-dev.

Mon, Feb 11, 9:59 AM · debug-info
aprantl added a comment to D58036: [IR] Add emitters for DICallSite and DICallSiteParam metadata.

Thanks! I'd like to have a discussion whether encoding this in IR and threading it through the compiler or performing an late MIR analysis is the better approach before reviewing the implementation in detail. We can either do this here or on llvm-dev.

Mon, Feb 11, 9:57 AM · debug-info
aprantl added a comment to D58034: [IR/DIVar] Add flag for params that have unchanged values.

Thanks! I'm assuming the idea is that this is analyzed by the language frontend?

Mon, Feb 11, 9:54 AM · debug-info
aprantl accepted D57702: [SelectionDAGBuilder] Add restrictions to EmitFuncArgumentDbgValue.

Thanks for the explanation!

Mon, Feb 11, 9:29 AM · Restricted Project
aprantl added a comment to D57962: [DebugInfo] PR40628: Don't salvage load operations.

I think you convinced me. It doesn't make me happy that we have to drop this, but that's not your fault :-)

Mon, Feb 11, 9:22 AM · Restricted Project
aprantl accepted D57962: [DebugInfo] PR40628: Don't salvage load operations.

I think you convinced me. It doesn't make me happy that we have to drop this, but that's not your fault :-)

Mon, Feb 11, 9:21 AM · Restricted Project

Fri, Feb 8

aprantl added a comment to D57444: [DebugInfo] LLVM ERROR: Broken function found, while removing Debug Intrinsics.

Sorry for not noticing this before, but we noticed now that the test case is placed under test/CodeGen/X86/, although it is a simplifycfg test. Should it ideally be placed under test/Transforms/SimplifyCFG/?

As this review is closed and committed, I will create another revision just to move the test to the 'Transforms' directory. Thanks

Fri, Feb 8, 4:53 PM · Restricted Project, debug-info
aprantl added a comment to D56587: Introduce DW_OP_LLVM_convert.

How should DW_OP_convert be handled when targeting DWARF versions earlier than 5? There is the GNU extension DW_OP_GNU_convert, which GDB seems to have had support for since 2011. The operation seems to be the identical to the final version that got into DWARFv5, so LLDB should be able to handle the two variants transparently. Can we emit that GNU extension (under some limitations)?

Fri, Feb 8, 4:50 PM · debug-info
aprantl added a comment to D57962: [DebugInfo] PR40628: Don't salvage load operations.

This patch disallows load insts from being salvaged. The reason why is PR40628 [0] -- LLVM is unable to determine where the validity of a debug expression containing DW_OP_deref ceases (i.e., where a store overwrites the intended data).

Fri, Feb 8, 4:44 PM · Restricted Project
aprantl added a comment to D57702: [SelectionDAGBuilder] Add restrictions to EmitFuncArgumentDbgValue.
plus it'd be good to hear Adrians view on the fragment scenario.
Fri, Feb 8, 4:36 PM · Restricted Project
aprantl added inline comments to D57979: [dsymutil] Don't clone empty CUs.
Fri, Feb 8, 4:19 PM · Restricted Project
aprantl committed rG7b6b9a1afce2: -gmodules: Don't emit incomplete breadcrumbs pointing to nonexistant PCM files. (authored by aprantl).
-gmodules: Don't emit incomplete breadcrumbs pointing to nonexistant PCM files.
Fri, Feb 8, 3:17 PM
aprantl added a comment to D57979: [dsymutil] Don't clone empty CUs.

You mean an empty compile unit *header* is not valid, right?

Fri, Feb 8, 2:55 PM · Restricted Project
aprantl created D57976: -gmodules: Don't emit incomplete breadcrumbs pointing to nonexistant PCM files..
Fri, Feb 8, 2:04 PM · Restricted Project
aprantl committed rG57e60a501ed2: Fix typo (authored by aprantl).
Fix typo
Fri, Feb 8, 1:13 PM

Thu, Feb 7

aprantl accepted D57849: llvm-dwarfdump: Stop counting out-of-line subprogram in the "inlined functions" statistic..

Ah, good catch. Makes sense!

Thu, Feb 7, 4:39 PM · Restricted Project
aprantl added inline comments to D57849: llvm-dwarfdump: Stop counting out-of-line subprogram in the "inlined functions" statistic..
Thu, Feb 7, 4:27 PM · Restricted Project
aprantl added inline comments to D56587: Introduce DW_OP_LLVM_convert.
Thu, Feb 7, 3:22 PM · debug-info
aprantl added inline comments to D56587: Introduce DW_OP_LLVM_convert.
Thu, Feb 7, 1:37 PM · debug-info
aprantl committed rG238ce2128cb4: Silence fallthrough warnings in debugserver. (authored by aprantl).
Silence fallthrough warnings in debugserver.
Thu, Feb 7, 1:22 PM
aprantl added inline comments to D57511: [DebugInfo] Stop changing labels for register-described parameter DBG_VALUEs.
Thu, Feb 7, 1:18 PM · Restricted Project, debug-info
aprantl added inline comments to D57849: llvm-dwarfdump: Stop counting out-of-line subprogram in the "inlined functions" statistic..
Thu, Feb 7, 1:14 PM · Restricted Project
aprantl committed rGe794db8817c8: Move SMTSolver dump() methods out-of-line. (authored by aprantl).
Move SMTSolver dump() methods out-of-line.
Thu, Feb 7, 1:03 PM
aprantl added a comment to D57849: llvm-dwarfdump: Stop counting out-of-line subprogram in the "inlined functions" statistic..

I would recommend bumping the version number, too, since the results from earlier versions won't be comparable, right?

Thu, Feb 7, 10:33 AM · Restricted Project
aprantl accepted D57444: [DebugInfo] LLVM ERROR: Broken function found, while removing Debug Intrinsics.
Thu, Feb 7, 10:28 AM · Restricted Project, debug-info

Wed, Feb 6

aprantl added inline comments to D57849: llvm-dwarfdump: Stop counting out-of-line subprogram in the "inlined functions" statistic..
Wed, Feb 6, 2:56 PM · Restricted Project
aprantl added a comment to D56587: Introduce DW_OP_LLVM_convert.

Thanks, I appreciate your perseverance even though we make you go through so many revisions :-)

Wed, Feb 6, 9:14 AM · debug-info

Tue, Feb 5

aprantl accepted D57781: Fix strlen() of unbound array undefined behavior.

Thanks!

Tue, Feb 5, 1:38 PM · Restricted Project, Restricted Project
aprantl committed rG0feb7b76e287: Fix a missing word in comment (authored by aprantl).
Fix a missing word in comment
Tue, Feb 5, 1:21 PM
aprantl accepted D57157: [DEBUG_INFO][NVPTX] Generate DW_AT_address_class to get the values in debugger..

Sorry, I overlooked the second part of the function.

Tue, Feb 5, 11:05 AM · Restricted Project
aprantl added inline comments to D57157: [DEBUG_INFO][NVPTX] Generate DW_AT_address_class to get the values in debugger..
Tue, Feb 5, 11:01 AM · Restricted Project
aprantl added a comment to D56587: Introduce DW_OP_LLVM_convert.

If you choose this path, one way to solve the issue of what to do with the dangling types that are produced by the conversion operations would be to create them in a separate DICompileUnit with a compiler-generated name and location. This way the types should get uniqued automatically during LTO, and you don't need to worry about llvm-link & friends.

Not sure that I understand this comment right now. Perhaps I will run into the issue you describe later on but for now my mind is not there just yet :)

Tue, Feb 5, 9:47 AM · debug-info
aprantl added inline comments to D57157: [DEBUG_INFO][NVPTX] Generate DW_AT_address_class to get the values in debugger..
Tue, Feb 5, 9:33 AM · Restricted Project
aprantl added a comment to D57696: [DebugInfo] Separate DbgValueInst and DIExpression logic in salvageDebugInfo for reusability..

Still fine.

Tue, Feb 5, 9:31 AM · Restricted Project
aprantl accepted D57510: [DebugInfo] Keep parameter DBG_VALUEs before prologue code.
Tue, Feb 5, 9:30 AM · Restricted Project, debug-info
aprantl accepted D57741: [DebugInfo][llvm-symbolizer]Add some tests for edge cases when symbolizing.
Tue, Feb 5, 9:25 AM · Restricted Project

Mon, Feb 4

aprantl added inline comments to D57702: [SelectionDAGBuilder] Add restrictions to EmitFuncArgumentDbgValue.
Mon, Feb 4, 12:28 PM · Restricted Project
aprantl accepted D57694: [DebugInfo][DAG] Either salvage dangling debug info or emit Undef DBG_VALUEs.
Mon, Feb 4, 12:21 PM · Restricted Project
aprantl added a comment to D57694: [DebugInfo][DAG] Either salvage dangling debug info or emit Undef DBG_VALUEs.

Looks mostly good!

Mon, Feb 4, 10:04 AM · Restricted Project
aprantl accepted D57696: [DebugInfo] Separate DbgValueInst and DIExpression logic in salvageDebugInfo for reusability..

This looks fine.

Mon, Feb 4, 9:56 AM · Restricted Project
aprantl accepted D57697: [DebugInfo][DAG] Refactor dbg.value intrinsic lowering in SelectionDAGBuilder to method.
Mon, Feb 4, 9:53 AM · Restricted Project
aprantl accepted D57511: [DebugInfo] Stop changing labels for register-described parameter DBG_VALUEs.

Thanks. As expected, it drives the number of variables that are not available at function entry down a bit. But my understanding is that we are pretty confident that most of them were incorrect before and I suppose we'll be more incentivized to get correct locations at the function entry with this patch applied than without it; even if it involves more disappointed end-users. It's a tough call, but I highly value correctness and reliability in the debugger, so let's do it! It will be the right thing in the long run.

Mon, Feb 4, 9:49 AM · Restricted Project, debug-info
aprantl added a comment to D56587: Introduce DW_OP_LLVM_convert.

the type reference should be a metadata operand. Otherwise you'll need to implement support in llvm-link etc, too.
I would just implement the type reference as normal metadata operands in DIExpression and bake the knowledge that DW_OP_convert consumes one of the metadata operands into the DIExpression operand iterator.

That makes sense. I am working on that right now.

Mon, Feb 4, 9:41 AM · debug-info
aprantl added inline comments to D57584: [DebugInfo][DAG] Reduce SelectionDAGs reordering of variables referring to Arguments.
Mon, Feb 4, 9:34 AM · Restricted Project

Sat, Feb 2

aprantl added a reverting change for D56084: Resubmit of rL345008 "Split MachinePipeliner code into header and cpp files": rG8a753a2e5a83: Revert "Revert "Revert "Resubmit rL345008 "Split MachinePipeliner code into….
Sat, Feb 2, 10:02 AM

Fri, Feb 1

aprantl added a comment to D57629: [LoopIdiomRecognize] @llvm.dbg values shouldn't affect the transformation..

LGTM with a little simpler testcase

Fri, Feb 1, 5:07 PM · Restricted Project
aprantl added a comment to D57629: [LoopIdiomRecognize] @llvm.dbg values shouldn't affect the transformation..

LGTM with a little simpler testcase

Fri, Feb 1, 5:06 PM · Restricted Project
aprantl added inline comments to D57584: [DebugInfo][DAG] Reduce SelectionDAGs reordering of variables referring to Arguments.
Fri, Feb 1, 5:02 PM · Restricted Project
aprantl added a comment to D57511: [DebugInfo] Stop changing labels for register-described parameter DBG_VALUEs.

I'm slightly worried that if we merge this patch too early we will get lots of complaints that variables are no longer visible in the debugger (because as an end-user you don't know whether the variable would become visible after the first single-step). The statistics will help us make that call, thanks!

Fri, Feb 1, 10:46 AM · Restricted Project, debug-info
aprantl added a comment to D56587: Introduce DW_OP_LLVM_convert.

Generally, I much prefer using DW_OP_convert because it's more space efficient and semantically unambiguous.

Fri, Feb 1, 7:48 AM · debug-info

Thu, Jan 31

Herald added a project to D57511: [DebugInfo] Stop changing labels for register-described parameter DBG_VALUEs: Restricted Project.

Does this have a noticeable effect on the debug info size?
Do we know about any remaining bugs where the first DBG_VALUE comes after the prologue_end and we would have a valid location at prologue_end? With constants perhaps? If yes, this would be a noticeable usability regression. Otherwise this just improves accuracy, which is always great.

Thu, Jan 31, 4:12 PM · Restricted Project, debug-info
aprantl added inline comments to D57444: [DebugInfo] LLVM ERROR: Broken function found, while removing Debug Intrinsics.
Thu, Jan 31, 4:08 PM · Restricted Project, debug-info

Wed, Jan 30

aprantl added a comment to D57467: Fix use of non-existing variable in crashlog.py.

Thanks!!

Wed, Jan 30, 1:20 PM
aprantl added a comment to D56788: [DebugInfo][InstCombine] Prefer salvaging dbg.values over sinking them.

I think this looks reasonable, thanks!

Wed, Jan 30, 8:17 AM · Restricted Project
aprantl added a comment to D57444: [DebugInfo] LLVM ERROR: Broken function found, while removing Debug Intrinsics.

LGTM with a positive CHECK.

Wed, Jan 30, 8:14 AM · Restricted Project, debug-info

Tue, Jan 29

aprantl accepted D57271: [DebugInfo] Handle restore instructions in LiveDebugValues.
Tue, Jan 29, 3:28 PM
aprantl accepted D57363: Fix handling of CreateTemplateParameterList when there is an empty pack.
Tue, Jan 29, 2:29 PM
aprantl added inline comments to D57271: [DebugInfo] Handle restore instructions in LiveDebugValues.
Tue, Jan 29, 1:45 PM
aprantl updated subscribers of D57328: [DebugInfo][DAG] Always emit DBG_VALUEs of FrameIndexes regardless of their SDNodes.

Step change in the LNT debuginfo tracking, marked up as a "regression" though:

http://lnt.llvm.org/db_default/v4/nts/regressions/19927
Tue, Jan 29, 9:46 AM
aprantl added inline comments to D57271: [DebugInfo] Handle restore instructions in LiveDebugValues.
Tue, Jan 29, 9:40 AM
aprantl added a comment to D57273: Make Type::GetByteSize optional.

Thanks a bunch, Pavel! That is very helpful.

Tue, Jan 29, 9:25 AM

Mon, Jan 28

aprantl added inline comments to D57271: [DebugInfo] Handle restore instructions in LiveDebugValues.
Mon, Jan 28, 8:47 PM
aprantl added inline comments to D57363: Fix handling of CreateTemplateParameterList when there is an empty pack.
Mon, Jan 28, 4:41 PM
aprantl added inline comments to D57363: Fix handling of CreateTemplateParameterList when there is an empty pack.
Mon, Jan 28, 4:38 PM
aprantl added inline comments to D57363: Fix handling of CreateTemplateParameterList when there is an empty pack.
Mon, Jan 28, 4:38 PM
aprantl added a comment to D57273: Make Type::GetByteSize optional.

Pavel, I may need you help. I reverted the commit because it broke three PDB-related tests (SymbolFilePDBTests, func-symbols, and typedefs) that need more than just lld in order to run. The fix is probably trivial. We only need to set a breakpoint in Type.cpp:119 and every time a type with size 0 is passed in look at the frame we're coming from and make sure that that llvm::None is passed in instead of 0, similar to the changes in DWARFASTParserClang.cpp.

Mon, Jan 28, 1:48 PM
aprantl accepted D57328: [DebugInfo][DAG] Always emit DBG_VALUEs of FrameIndexes regardless of their SDNodes.

Thanks!

Mon, Jan 28, 11:01 AM
aprantl added inline comments to D57273: Make Type::GetByteSize optional.
Mon, Jan 28, 8:47 AM
aprantl added a comment to D57328: [DebugInfo][DAG] Always emit DBG_VALUEs of FrameIndexes regardless of their SDNodes.

We can create FrameIndex SDNodeDbgValue records even if the Value is never lowered to an SDNode in the current block.

That sounds awesome.

Mon, Jan 28, 8:36 AM

Fri, Jan 25

aprantl added a comment to D57271: [DebugInfo] Handle restore instructions in LiveDebugValues.

Thanks, looks generally reasonable!

Fri, Jan 25, 6:41 PM
aprantl created D57273: Make Type::GetByteSize optional.
Fri, Jan 25, 5:33 PM