aprantl (Adrian Prantl)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Fri, Apr 21

aprantl added a comment to D32368: LLVM C DIBuilder Creation APIs.

Could you also add some unit tests for the new interface?

Fri, Apr 21, 1:37 PM
aprantl added inline comments to D32368: LLVM C DIBuilder Creation APIs.
Fri, Apr 21, 1:30 PM
aprantl added inline comments to D31604: [DebugInfo][X86] Improve X86 Optimize LEAs handling of debug values..
Fri, Apr 21, 8:53 AM

Thu, Apr 20

aprantl added inline comments to D32315: Introduce a new DWARFContext::getInliningInfoForAddress API to expose pointers to strings stored in DWARF file..
Thu, Apr 20, 3:38 PM
aprantl added inline comments to D31604: [DebugInfo][X86] Improve X86 Optimize LEAs handling of debug values..
Thu, Apr 20, 2:02 PM
aprantl accepted D30785: [DWARF] Versioning for DWARF constants; verify FORMs.

ok.

Thu, Apr 20, 10:21 AM
aprantl added a comment to D30785: [DWARF] Versioning for DWARF constants; verify FORMs.

Besides my above comment, I'm very much looking forward to this commit. It will also help a lot with implementing dwarfdump -verify functionality.

Thu, Apr 20, 9:49 AM
aprantl added inline comments to D31604: [DebugInfo][X86] Improve X86 Optimize LEAs handling of debug values..
Thu, Apr 20, 9:41 AM
aprantl added a comment to D32284: [DWARF] - Refactoring: localize handling of relocations in a single place..

LGTM with inline feedback addressed. Thanks!

Thu, Apr 20, 9:04 AM

Wed, Apr 19

aprantl added a comment to D31755: [DebugInfo][X86] Fix handling of DBG_VALUE's in post-RA scheduler..

Rather than scanning forward for DBG_VALUEs, is there a more systematic way to find them? E.g., by iterating over USEs? If not, doing it this way is probably fine.

Wed, Apr 19, 3:53 PM
aprantl updated the diff for D32246: Don't emit CFI instructions at the end of a function.

Address review feedback. Thanks!

Wed, Apr 19, 3:36 PM
aprantl added a comment to D32122: Introduce LLVMDIBuilderRef.

No, there's a typo :-)

Wed, Apr 19, 2:38 PM
aprantl created D32246: Don't emit CFI instructions at the end of a function.
Wed, Apr 19, 2:35 PM

Tue, Apr 18

aprantl added a comment to D32204: X86FrameLowering: Fix getFrameIndexReference() for fixed objects.

okay — works for me.

Tue, Apr 18, 6:41 PM
aprantl accepted D32204: X86FrameLowering: Fix getFrameIndexReference() for fixed objects.

Thanks! This LGTM from the debug info side of things. (One comment inline)

Tue, Apr 18, 6:13 PM
aprantl added inline comments to D32167: Add support for type units (.debug_types) to LLDB in a way that is compatible with DWARF 5.
Tue, Apr 18, 3:17 PM

Mon, Apr 17

aprantl requested review of D31439: PR32382: Emit complex DWARF expressions with the correct location description kind.

David, the review is still marked as accepted, but I did add a couple of changes since then, so I think I should be moving it back into "Request review".
Would you mind taking a second look?

Mon, Apr 17, 4:20 PM
aprantl updated the diff for D31439: PR32382: Emit complex DWARF expressions with the correct location description kind.

Added test coverage for SelectionDAG in sret.ll and ensured it matches the FastISel behavior.

Mon, Apr 17, 3:59 PM
aprantl updated subscribers of D32122: Introduce LLVMDIBuilderRef.
Mon, Apr 17, 9:07 AM
aprantl added reviewers for D32122: Introduce LLVMDIBuilderRef: probinson, dblaikie.
Mon, Apr 17, 9:07 AM
aprantl added a comment to D32122: Introduce LLVMDIBuilderRef.

I think this is generally very nice. My question is, how do we want to deal with future changes to the API? Is it acceptable for future releases of LLVM to break the C-API? If the answer is yes, then I have absolutely no problem with adding this. Otherwise this may turn into a maintenance nightmare as we continue to evolve the debug info interface.

Mon, Apr 17, 9:06 AM

Fri, Apr 14

aprantl updated the diff for D31439: PR32382: Emit complex DWARF expressions with the correct location description kind.

Addressed David's review feedback for the DW_OP_deref bitcode upgrade.

Fri, Apr 14, 3:46 PM
aprantl updated the diff for D31440: PR32382: Adapt to LLVM changes in DIExpression..
Fri, Apr 14, 11:40 AM
aprantl updated the diff for D31439: PR32382: Emit complex DWARF expressions with the correct location description kind.
Fri, Apr 14, 11:39 AM

Tue, Apr 11

aprantl accepted D31747: [DWARF] - Refactoring of DWARFContextInMemory implementation..
Tue, Apr 11, 4:55 PM
aprantl added a comment to D31747: [DWARF] - Refactoring of DWARFContextInMemory implementation..

One last comment in line 664 otherwise looks fine to me.

Tue, Apr 11, 4:55 PM

Mon, Apr 10

aprantl accepted D31904: [StripDeadDebug/DIFinder] Track inlined SPs.
Mon, Apr 10, 2:30 PM

Thu, Apr 6

aprantl added a comment to D31778: [Modules] Implement ODR-like semantics for tag types in C/ObjC.

Thanks!
Added a couple of superficial coding style comments.

Thu, Apr 6, 1:51 PM
aprantl planned changes to D31439: PR32382: Emit complex DWARF expressions with the correct location description kind.

Thanks a lot for reviewing this, David! While I was preparing the next updated of the corresponding clang changes in https://reviews.llvm.org/D31440 I realized that there is one use-case that is not supported by this variant. To encode locations for by-ref captures clang wants to describe a location that is at an offset inside of a larger alloca. To support this use-case I need to remove the implicit DW_OP_deref that we are adding to dbg.declares everywhere and make it explicit instead.
This will be a good change:

  • it will make a future patch that replaces all instances of dbg.declare with dbg.value very simple
  • we won't need to rewrite DIExpressions when we lower dbg.declare -> dbg.value
  • it will make the DW_OP_xderef use-case that I complain about in DwarfCompileUnit.cpp:570 appear less out-of-place.

I'll be back here with an updated (albeit somewhat longer) patch soon. Meanwhile I'm also extending the debuginfo-tests a bit to make sure I'm not breaking the integration between llvm and clang.

Thu, Apr 6, 11:24 AM
aprantl added inline comments to D31747: [DWARF] - Refactoring of DWARFContextInMemory implementation..
Thu, Apr 6, 9:02 AM

Wed, Apr 5

aprantl accepted D31720: [StripDeadDebugInfo] Drop dead CUs entirely.

Can you add a CU that only has a DIGlobalVariableExpression with a DIExpression(DW_OP_constu 0, DW_OP_stack_value) to your testcase and verify that it survives?
Otherwise this LGTM.

Wed, Apr 5, 3:29 PM

Tue, Apr 4

aprantl added inline comments to D31669: Fix lambda to block conversion in C++17 by avoiding copy elision for the lambda capture used by the created block.
Tue, Apr 4, 8:38 AM

Mon, Apr 3

aprantl updated the diff for D31440: PR32382: Adapt to LLVM changes in DIExpression..
Mon, Apr 3, 11:37 AM
aprantl updated the diff for D31440: PR32382: Adapt to LLVM changes in DIExpression..

Add accidentally removed check for the debug info level back in.

Mon, Apr 3, 11:29 AM
aprantl updated the diff for D31439: PR32382: Emit complex DWARF expressions with the correct location description kind.

Add DIEDwarfExpression::addAddress() and DIEDwarfExpression::addThreadLocalAddress().

Mon, Apr 3, 11:24 AM
aprantl added inline comments to D31604: [DebugInfo][X86] Improve X86 Optimize LEAs handling of debug values..
Mon, Apr 3, 11:11 AM
aprantl added inline comments to D31604: [DebugInfo][X86] Improve X86 Optimize LEAs handling of debug values..
Mon, Apr 3, 9:08 AM

Wed, Mar 29

aprantl added a comment to D31440: PR32382: Adapt to LLVM changes in DIExpression..

I'm a bit confused - the alloca was only emitted at -O0, by the looks of it. Presumably it's pessimizing in some way at higher optimization levels? Or is that not the case?

Wed, Mar 29, 11:39 AM
aprantl added a comment to D31439: PR32382: Emit complex DWARF expressions with the correct location description kind.

There are a lot of small, careful changes in here - I might need a bit of a high level walkthrough of what the changes are and how they achieve the goal. More detail on how this changes behavior would be good. "makes LLVM aware of these DWARF restrictions" is a bit too high level.

Wed, Mar 29, 11:17 AM

Tue, Mar 28

aprantl added a dependent revision for D31439: PR32382: Emit complex DWARF expressions with the correct location description kind: D31440: PR32382: Adapt to LLVM changes in DIExpression..
Tue, Mar 28, 2:09 PM
aprantl added a dependency for D31440: PR32382: Adapt to LLVM changes in DIExpression.: D31439: PR32382: Emit complex DWARF expressions with the correct location description kind.
Tue, Mar 28, 2:09 PM
aprantl created D31440: PR32382: Adapt to LLVM changes in DIExpression..
Tue, Mar 28, 2:09 PM
aprantl created D31439: PR32382: Emit complex DWARF expressions with the correct location description kind.
Tue, Mar 28, 2:09 PM

Mar 24 2017

aprantl updated subscribers of D31330: [ELF] - Speedup --gdb-index read address area implementation..
Mar 24 2017, 9:28 AM
aprantl added a comment to D31315: Record command lines in objects built by clang, LLVM part.

This needs a testcase.

Mar 24 2017, 9:27 AM
aprantl added inline comments to D30760: Record command lines in objects built by clang, Clang part.
Mar 24 2017, 9:25 AM

Mar 23 2017

aprantl updated subscribers of D31296: [ELF] - Introduce GdbIndexBuilderDWARFContent.
Mar 23 2017, 1:31 PM

Mar 21 2017

aprantl added a comment to D30760: Record command lines in objects built by clang, Clang part.

Hi aprantl, thanks for replying. I checked the usage of DwarfDebugFlags, it seems that it really did the same work of recording command line options.

And I noticed that it is set to false by default. Is it because of some concerns like the debug info size?

I think it is off by default because it doesn't really help the debugger and is more useful as a informational tool (e.g., when investigating compiler bugs). It also might leak unexpected information into the build (paths, macros, etc, ...) that a user might want to have control over.

Mar 21 2017, 6:41 PM
aprantl added a comment to D30760: Record command lines in objects built by clang, Clang part.

Sorry for being late to the party, but have you looked at CodeGenOptions::DwarfDebugFlags? It looks like it almost does what you want, but it is currently only enabled for MachO and when a specific environment variable is set. Would it make sense to generalize that mechanism instead?

Mar 21 2017, 5:19 PM

Mar 20 2017

aprantl added inline comments to D31136: [DWARF] - Speedup handling of relocations in DWARFContextInMemory..
Mar 20 2017, 9:57 AM
aprantl added inline comments to D31136: [DWARF] - Speedup handling of relocations in DWARFContextInMemory..
Mar 20 2017, 9:56 AM
aprantl added a reviewer for D31136: [DWARF] - Speedup handling of relocations in DWARFContextInMemory.: friss.
Mar 20 2017, 9:53 AM

Mar 17 2017

aprantl updated the diff for D28005: Add a unit field to DIGlobalVariable, mirroring the design of DISubprogram..

Rebased on trunk and marked outstanding review comments as done.

Mar 17 2017, 3:28 PM
aprantl accepted D31062: PR32288: Describe a bool parameter's DWARF location with a simple register.

Took me a while to find the functional change amidst the refactoring :-)
As discussed in the PR, this LGTM, thanks!
One inline comment about a comment.

Mar 17 2017, 8:28 AM

Mar 16 2017

aprantl closed D31010: Fix PR32288.

r297965

Mar 16 2017, 10:37 AM
aprantl added a comment to D31010: Fix PR32288.

Landed together with a fix for dw_op_minus_direct.ll.

Mar 16 2017, 9:47 AM

Mar 15 2017

aprantl added inline comments to D31010: Fix PR32288.
Mar 15 2017, 5:06 PM
aprantl added a comment to D31010: Fix PR32288.

... up until the point where I discover that I already created such a testcase a couple of months ago (llvm/test/DebugInfo/MIR/X86/bit-piece-dh.mir).

Mar 15 2017, 4:23 PM
aprantl added a comment to D31010: Fix PR32288.

To review my own patch; I think we now have a coverage gap, since there is no testcase that tests a variable that is in a subregister at a nonzero offset.

Mar 15 2017, 4:06 PM
aprantl created D31010: Fix PR32288.
Mar 15 2017, 4:01 PM
aprantl updated the diff for D30919: Salvage debug info from instructions about to be deleted.

Use the functionally equivalent but more appropriate APInt::getSExtValue() and rename some locals for better readability.
I think that should be all outstanding comments.

Mar 15 2017, 9:19 AM
aprantl added a comment to D28299: Module: use PCMCache to manage memory buffers for pcm files..

Drive-by comment.

Mar 15 2017, 8:57 AM

Mar 14 2017

aprantl updated the diff for D30919: Salvage debug info from instructions about to be deleted.
Mar 14 2017, 4:56 PM
aprantl added a comment to D30919: Salvage debug info from instructions about to be deleted.

New version attached.

Mar 14 2017, 4:55 PM
aprantl added a comment to D30919: Salvage debug info from instructions about to be deleted.

Working on an updated version now...

Mar 14 2017, 9:54 AM

Mar 13 2017

aprantl created D30919: Salvage debug info from instructions about to be deleted.
Mar 13 2017, 3:55 PM
aprantl created D30917: Revert "Debug Info: Add basic support for external types references.".
Mar 13 2017, 3:40 PM
aprantl added a dependency for D28299: Module: use PCMCache to manage memory buffers for pcm files.: D30915: Canonicalize the path provided by -fmodules-cache-path.
Mar 13 2017, 3:15 PM
aprantl added a dependent revision for D30915: Canonicalize the path provided by -fmodules-cache-path: D28299: Module: use PCMCache to manage memory buffers for pcm files..
Mar 13 2017, 3:15 PM
aprantl removed a dependency for D30915: Canonicalize the path provided by -fmodules-cache-path: D28299: Module: use PCMCache to manage memory buffers for pcm files..
Mar 13 2017, 3:15 PM
aprantl removed a dependent revision for D28299: Module: use PCMCache to manage memory buffers for pcm files.: D30915: Canonicalize the path provided by -fmodules-cache-path.
Mar 13 2017, 3:15 PM
aprantl added a dependent revision for D28299: Module: use PCMCache to manage memory buffers for pcm files.: D30915: Canonicalize the path provided by -fmodules-cache-path.
Mar 13 2017, 3:15 PM
aprantl added a dependency for D30915: Canonicalize the path provided by -fmodules-cache-path: D28299: Module: use PCMCache to manage memory buffers for pcm files..
Mar 13 2017, 3:15 PM
aprantl created D30915: Canonicalize the path provided by -fmodules-cache-path.
Mar 13 2017, 3:13 PM
aprantl added a comment to D30226: [BranchFolding] Merge debug locations from common tail instead of removing.

Replied.

Mar 13 2017, 9:55 AM

Mar 8 2017

aprantl added inline comments to D30762: [ubsan] Add a nullability sanitizer.
Mar 8 2017, 4:12 PM
aprantl added a comment to D29670: [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types.

Two tiny nitpicks, but apart from that I'm happy.

Mar 8 2017, 8:58 AM

Mar 7 2017

aprantl accepted D30701: [LoopRotate] Fix for dbg.value propagation.

Inline comments, otherwise looks ok.

Mar 7 2017, 10:19 AM

Mar 6 2017

aprantl accepted D30664: [DWARFv5] Update definitions to match published spec.

Thanks.

Mar 6 2017, 12:36 PM
aprantl added a comment to D30357: [ObjectYAML] NFC. Refactor DWARFYAML CompileUnit dump code.

My LGTM still stands, there's nothing left here that couldn't be fixed in a post-commit review. I found one more opportunity to simplify the code a bit inline.

Mar 6 2017, 11:49 AM
aprantl accepted D30658: Remove the sample pgo annotation heuristic that uses call count to annotate basic block count..

Nice!

Mar 6 2017, 8:42 AM
aprantl accepted D30190: [LoopRotate] Update dbg.value calls.

Seems generally plausible. LGTM with all inline comments addressed.

Mar 6 2017, 8:41 AM

Mar 4 2017

aprantl added inline comments to D30599: [ubsan] Extend the nonnull argument check to ObjC.
Mar 4 2017, 11:02 AM

Mar 3 2017

aprantl accepted D30226: [BranchFolding] Merge debug locations from common tail instead of removing.

Seems plausible. (inline comments pending, ...)

Mar 3 2017, 3:38 PM
aprantl added inline comments to D30226: [BranchFolding] Merge debug locations from common tail instead of removing.
Mar 3 2017, 3:37 PM

Mar 2 2017

aprantl added inline comments to D30357: [ObjectYAML] NFC. Refactor DWARFYAML CompileUnit dump code.
Mar 2 2017, 3:43 PM
aprantl added inline comments to D30357: [ObjectYAML] NFC. Refactor DWARFYAML CompileUnit dump code.
Mar 2 2017, 2:09 PM
aprantl added a comment to D30357: [ObjectYAML] NFC. Refactor DWARFYAML CompileUnit dump code.

Few more inline comments, feel free to commit whenever ready.

Mar 2 2017, 2:00 PM
aprantl accepted D30357: [ObjectYAML] NFC. Refactor DWARFYAML CompileUnit dump code.

Sorry for the delay. Few comments inline, LGTM with these addressed.

Mar 2 2017, 11:13 AM

Mar 1 2017

aprantl added a comment to D30484: [DWARF] Default lower bound should respect requested DWARF version.

Thanks!

Mar 1 2017, 10:42 AM
aprantl accepted D30484: [DWARF] Default lower bound should respect requested DWARF version.

LGTM.
Could you also add the missing languages (at least BLISS & Renderscript) to the switch while you are in there?

Mar 1 2017, 9:01 AM

Feb 28 2017

aprantl accepted D30475: [DWARFv5] llvm-mc support for new unit header..

Thanks, this looks good.

Feb 28 2017, 2:54 PM

Feb 27 2017

aprantl accepted D30435: [clang-import-test] Lookup inside entities.

A few stylistic issues inline.
It also wouldn't hurt to document what is being tested, either in the clang-import-test sources or in the input files. Otherwise this looks fine. More tests are always great!

Feb 27 2017, 4:28 PM
aprantl added inline comments to D26872: Outliner: Add MIR-level outlining pass.
Feb 27 2017, 2:02 PM
aprantl added inline comments to D30190: [LoopRotate] Update dbg.value calls.
Feb 27 2017, 1:40 PM
aprantl added inline comments to D30378: [DebugInfo] [DWARFv5] Collect calling convention info for C++ types during codegen.
Feb 27 2017, 1:36 PM
aprantl added a comment to D30377: [DebugInfo] [DWARFv5] Support for DW_AT_calling_convention for types.

Thanks for working on this!

Feb 27 2017, 1:31 PM
aprantl added a reviewer for D30377: [DebugInfo] [DWARFv5] Support for DW_AT_calling_convention for types: probinson.
Feb 27 2017, 1:17 PM

Feb 24 2017

aprantl added a comment to D30357: [ObjectYAML] NFC. Refactor DWARFYAML CompileUnit dump code.

It would be good to split this into an NFC patch that just moves stuff around and then a small commit+testcase for the new functionality. This makes reviewing easier & faster.

Feb 24 2017, 3:24 PM
aprantl added inline comments to D30206: [DWARF5] Emit new unit header.
Feb 24 2017, 11:20 AM