aprantl (Adrian Prantl)
User

Projects

User Details

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

Recent Activity

Today

aprantl created D43694: Add a sanity check for inline tests.
Fri, Feb 23, 2:00 PM
aprantl added a comment to D43687: Improve merging of debug locations (fixes PR 36410).

This looks really good; let's think through the isa<DbgInfoIntrinsic> case:

Fri, Feb 23, 11:19 AM
aprantl added a reviewer for D43687: Improve merging of debug locations (fixes PR 36410): danielcdh.
Fri, Feb 23, 11:09 AM
aprantl added a comment to D43439: [dsymutil] Skip DW_AT_sibling attributes..

I dusted off my PowerBook G4 and compiled

struct A { int a; } a;
struct B { int b; } b;

which outputs:

 File: sibling.o (ppc)
----------------------------------------------------------------------
.debug_info contents:
Fri, Feb 23, 8:03 AM

Yesterday

aprantl added a comment to D43596: Replace HashStringUsingDJB with llvm::djbHash.

Nice!

Thu, Feb 22, 5:19 PM
aprantl added a comment to D43647: Generate most of the target properties from a central specification..

I like Pavel's template syntax. It's not clear to me how to best implement the registering of the properties this way though. I think we want to avoid static intializers. Given how TargetProperties::TargetProperties() is implemented, I could imagine we could just make the properties members of the class, we just need some way to generate a for-each-property loop to handle the initialization. I'll think about this some more.

Thu, Feb 22, 5:12 PM
aprantl added a comment to D43647: Generate most of the target properties from a central specification..

What would I have to figure out if I wanted to stop where one of these properties was actually set or read? That's something I've had to do many's the time... This task is straightforward in the original, and if it's not too bad to cons up the name from this macro goo then I'm over all in favor.

Thu, Feb 22, 4:20 PM
aprantl created D43647: Generate most of the target properties from a central specification..
Thu, Feb 22, 3:48 PM
aprantl added a comment to D43002: Emit S_OBJNAME symbol in CodeView.

To clarify my last comment: No need to check for the correct hashing, since DICompileUnits are always distinct, but extending DICompileUnitTest would be the right thing to do.

Thu, Feb 22, 11:18 AM
aprantl added a comment to D43002: Emit S_OBJNAME symbol in CodeView.

The only thing that's missing is a test for the correct hashing of the new field in unittests/IR/MetadataTest.cpp.

Thu, Feb 22, 11:15 AM
aprantl added a comment to D43596: Replace HashStringUsingDJB with llvm::djbHash.

The only input we currently use this on is DWARF and I believe all DWARF strings are UTF8 so this should all work correctly, no?

Thu, Feb 22, 8:23 AM
aprantl added a comment to D43615: [Support] Remove HashString and replace it with djbHash. NFC..

Also please be sure to not land this before we fixed the implementation of llvm::djbHash() to use unsigned chars or else this isn't NFC.

Thu, Feb 22, 8:13 AM
aprantl accepted D43615: [Support] Remove HashString and replace it with djbHash. NFC..

LGTM, thanks! Perhaps give it another 24 hours to see if anyone objects.

Thu, Feb 22, 8:11 AM
aprantl added a reviewer for D43615: [Support] Remove HashString and replace it with djbHash. NFC.: dblaikie.
Thu, Feb 22, 8:10 AM
aprantl added a comment to D43615: [Support] Remove HashString and replace it with djbHash. NFC..

Do we need to worry about performance on non-LTO builds because HashString won't be inlined any more?
I'm leaning towards no.

Thu, Feb 22, 8:10 AM

Wed, Feb 21

aprantl accepted D43596: Replace HashStringUsingDJB with llvm::djbHash.
Wed, Feb 21, 4:01 PM
aprantl added a reviewer for D43596: Replace HashStringUsingDJB with llvm::djbHash: clayborg.
Wed, Feb 21, 3:59 PM
aprantl added inline comments to D42740: Implement a case-folding version of DJB hash.
Wed, Feb 21, 12:42 PM
aprantl added a comment to D42740: Implement a case-folding version of DJB hash.

As an unrelated side-note: I recently discovered that there is yet another DJB implementation in StringExtras (http://llvm.org/doxygen/StringExtras_8h_source.html#l00051) that we probably should get rid of.

Wed, Feb 21, 12:37 PM
aprantl updated subscribers of D42740: Implement a case-folding version of DJB hash.
Wed, Feb 21, 12:37 PM
aprantl added inline comments to D42740: Implement a case-folding version of DJB hash.
Wed, Feb 21, 12:35 PM
aprantl added a comment to D43511: [dsymutil] Be smarter in caching calls to realpath.

To avoid further confusion I'll let Fred clarify how to best manage the storage so we don't go off into different directions :-)

Wed, Feb 21, 8:54 AM

Tue, Feb 20

aprantl accepted D43028: Add DBG_VALUE support to the linear DAG scheduler.

Seems fine otherwise, thanks!

Tue, Feb 20, 5:17 PM
aprantl added inline comments to D43028: Add DBG_VALUE support to the linear DAG scheduler.
Tue, Feb 20, 5:17 PM
aprantl added inline comments to D43511: [dsymutil] Be smarter in caching calls to realpath.
Tue, Feb 20, 10:25 AM
aprantl added inline comments to D43511: [dsymutil] Be smarter in caching calls to realpath.
Tue, Feb 20, 10:18 AM
aprantl added inline comments to D43511: [dsymutil] Be smarter in caching calls to realpath.
Tue, Feb 20, 8:51 AM
aprantl accepted D43438: [dsymutil] Correctly handle DW_TAG_label.

Thanks!

Tue, Feb 20, 8:45 AM
aprantl accepted D43506: Fix a couple of more tests to not create files in the source tree.

By the way, just in case you are motivated :-), one outstanding task is also to replace all uses of the clean target in the makefiles with simply removing the test build directory.

Tue, Feb 20, 8:45 AM

Mon, Feb 19

aprantl added inline comments to D43494: [Modules] Fix creating fake definition data for lambdas..
Mon, Feb 19, 5:06 PM
aprantl added a comment to D43427: [RegAllocFast] Salvage debug values when killing operands.

I still need to figure out how to get test coverage for this.

A debugify MIR pass :-)

Mon, Feb 19, 12:57 PM · debug-info
aprantl added inline comments to D43470: [DWARF] Prevent crash when .debug_line line_range is zero.
Mon, Feb 19, 9:35 AM
aprantl added inline comments to D43470: [DWARF] Prevent crash when .debug_line line_range is zero.
Mon, Feb 19, 8:36 AM
aprantl added inline comments to D43470: [DWARF] Prevent crash when .debug_line line_range is zero.
Mon, Feb 19, 8:36 AM
aprantl accepted D43470: [DWARF] Prevent crash when .debug_line line_range is zero.
Mon, Feb 19, 8:33 AM
aprantl added inline comments to D43470: [DWARF] Prevent crash when .debug_line line_range is zero.
Mon, Feb 19, 8:33 AM
aprantl added a comment to D43464: Avoid dirtying the source tree in breakpoint command tests.

Awesome!

Mon, Feb 19, 8:22 AM
aprantl added a comment to D43438: [dsymutil] Correctly handle DW_TAG_label.

You should be able to generate a testcase using an assembler source.

Mon, Feb 19, 8:18 AM
aprantl added a reviewer for D43427: [RegAllocFast] Salvage debug values when killing operands: qcolombet.
Mon, Feb 19, 8:14 AM · debug-info
aprantl added a comment to D43427: [RegAllocFast] Salvage debug values when killing operands.

The debug info part of this looks fine to me, it would be great if the same function could also be applied to the other register allocators.

Mon, Feb 19, 8:13 AM · debug-info

Sat, Feb 17

aprantl added a comment to D43324: WIP: [Utils] Salvage debug info of DCE'ed extractvalue instructions.

I have not yet found a small, end-to-end test for this patch

I don't think that one is strictly necessary. Testing the result of the pass directly is preferable anyway.

Sat, Feb 17, 5:32 PM · debug-info
aprantl accepted D43152: [DWARFv5] Turn an assert into a diagnostic. .
Sat, Feb 17, 5:29 PM · debug-info

Fri, Feb 16

aprantl accepted D40199: [dwarfdump] Fix spurious verification errors for DW_AT_location attributes.

That's a lot cleaner!

Fri, Feb 16, 2:46 PM · debug-info
aprantl added inline comments to D40199: [dwarfdump] Fix spurious verification errors for DW_AT_location attributes.
Fri, Feb 16, 2:20 PM · debug-info
aprantl accepted D43387: [DebugInfo] Removed assert on missing CountVarDIE.
Fri, Feb 16, 1:31 PM
aprantl added a comment to D43387: [DebugInfo] Removed assert on missing CountVarDIE.

Can you add a testcase by, e.g, manually removing the dbg.value for the count from an existing testcase?

Fri, Feb 16, 11:23 AM
aprantl added inline comments to D43387: [DebugInfo] Removed assert on missing CountVarDIE.
Fri, Feb 16, 8:39 AM
aprantl accepted D43386: [DebugInfo][FastISel] Fix dropping dbg.value().

Nice!

Fri, Feb 16, 8:37 AM
aprantl added inline comments to D43324: WIP: [Utils] Salvage debug info of DCE'ed extractvalue instructions.
Fri, Feb 16, 8:27 AM · debug-info

Thu, Feb 15

aprantl added inline comments to D43324: WIP: [Utils] Salvage debug info of DCE'ed extractvalue instructions.
Thu, Feb 15, 5:15 PM · debug-info
aprantl added inline comments to D43324: WIP: [Utils] Salvage debug info of DCE'ed extractvalue instructions.
Thu, Feb 15, 2:40 PM · debug-info
aprantl accepted D43335: [dosep] Run tests in a more parallel fashion.

This is very cool! I imagine that this will help a lot with TestIntegerTypes and other really long-running ones. Thanks.

Thu, Feb 15, 7:55 AM

Wed, Feb 14

aprantl added a reviewer for D43313: [DebugInfo] Support parsing DWARF expressions: JDevlieghere.
Wed, Feb 14, 12:35 PM
aprantl added inline comments to D43313: [DebugInfo] Support parsing DWARF expressions.
Wed, Feb 14, 12:35 PM
aprantl updated subscribers of D43313: [DebugInfo] Support parsing DWARF expressions.
Wed, Feb 14, 12:28 PM
aprantl accepted D43292: [dotest] Add ability to skip tests based on build configuration.
Wed, Feb 14, 8:39 AM

Tue, Feb 13

aprantl accepted D43255: [GVN] Salvage debug info from dead insts.
Tue, Feb 13, 2:10 PM · debug-info
aprantl added a reviewer for D42848: Correct dwarf unwind information in function epilogue: echristo.
Tue, Feb 13, 9:00 AM
aprantl added inline comments to D42848: Correct dwarf unwind information in function epilogue.
Tue, Feb 13, 9:00 AM
aprantl accepted D41762: [DWARF] Incorrect prologue end line record..

Thanks for posting the examples and for doing due diligence on shrink wrapping! IIUC, enabling/disabling shrink-wrapping does not move the prologue_end, so this LGTM.

Tue, Feb 13, 8:56 AM

Mon, Feb 12

aprantl added a comment to D43207: [Utils] Salvage the debug info of DCE'ed 'xor' instructions.

Those numbers look good!

Mon, Feb 12, 4:56 PM
aprantl added a comment to D43207: [Utils] Salvage the debug info of DCE'ed 'xor' instructions.

Thanks! Might be worth also measuring the size of .debug_loc as we are doing this. We may need to start compressing locations by using DWARF procedures for common patterns (DW_OP_call).

Mon, Feb 12, 2:33 PM
aprantl accepted D43207: [Utils] Salvage the debug info of DCE'ed 'xor' instructions.

I wonder if this actually happens in the wild, but it doesn't hurt.

Mon, Feb 12, 1:23 PM
aprantl accepted D43189: [DebugInfo] Avoid name conflict of generated VLA expression variable..
Mon, Feb 12, 9:16 AM
aprantl added inline comments to D43028: Add DBG_VALUE support to the linear DAG scheduler.
Mon, Feb 12, 9:16 AM
aprantl accepted D42351: Emit DWARF "constructor" calling convention for every supported Clang CC.

Looks good with one additional change to the test.

Mon, Feb 12, 9:05 AM

Fri, Feb 9

aprantl accepted D43043: [DebugInfo] Unify ChecksumKind and Checksum value in DIFile.
Fri, Feb 9, 1:31 PM
aprantl accepted D43129: [Utils] Salvage debug info from dead 'or' instructions.

Right. Thanks!

Fri, Feb 9, 10:48 AM
aprantl added inline comments to D43129: [Utils] Salvage debug info from dead 'or' instructions.
Fri, Feb 9, 10:05 AM
aprantl added inline comments to D43099: Make LLDB's clang module cache path customizable.
Fri, Feb 9, 10:02 AM
aprantl added inline comments to D43099: Make LLDB's clang module cache path customizable.
Fri, Feb 9, 9:40 AM
aprantl added inline comments to D43099: Make LLDB's clang module cache path customizable.
Fri, Feb 9, 9:40 AM
aprantl added a dependent revision for D43128: Introduce an API for LLDB to compute the default module cache path: D43099: Make LLDB's clang module cache path customizable.
Fri, Feb 9, 9:38 AM
aprantl added a dependency for D43099: Make LLDB's clang module cache path customizable: D43128: Introduce an API for LLDB to compute the default module cache path.
Fri, Feb 9, 9:38 AM
aprantl updated the diff for D43099: Make LLDB's clang module cache path customizable.

Address most review feedback.

Fri, Feb 9, 9:38 AM
aprantl created D43128: Introduce an API for LLDB to compute the default module cache path.
Fri, Feb 9, 9:20 AM
aprantl added inline comments to D40199: [dwarfdump] Fix spurious verification errors for DW_AT_location attributes.
Fri, Feb 9, 8:47 AM · debug-info
aprantl added inline comments to D43043: [DebugInfo] Unify ChecksumKind and Checksum value in DIFile.
Fri, Feb 9, 8:40 AM

Thu, Feb 8

aprantl added a reviewer for D43111: [CodeGen] Add lifetime markers to the list of meta-instructions.: MatzeB.
Thu, Feb 8, 8:44 PM
aprantl accepted D43111: [CodeGen] Add lifetime markers to the list of meta-instructions..

That seems reasonable.

Thu, Feb 8, 8:44 PM
aprantl closed D43036: Use a stable topological sort instead of std::stable_sort in DIE *DwarfCompileUnit::createScopeChildrenDIE().

Thanks! Landed as r324677.

Thu, Feb 8, 4:47 PM
aprantl abandoned D14161: Remove the line number from DINamespace and thus decl_line/decl_file from DW_TAG_namespace..

A change to this effect landed a year ago in r301706.

Thu, Feb 8, 4:21 PM
aprantl created D43099: Make LLDB's clang module cache path customizable.
Thu, Feb 8, 4:05 PM
aprantl accepted D43092: [DebugInfo] Prevent infinite recursion for malformed DWARF.
Thu, Feb 8, 3:34 PM · debug-info
aprantl added a reviewer for D43093: [FastISel] Sink local value materializations to first use: vsk.
Thu, Feb 8, 3:22 PM
aprantl added inline comments to D43092: [DebugInfo] Prevent infinite recursion for malformed DWARF.
Thu, Feb 8, 3:06 PM · debug-info
aprantl added inline comments to D43092: [DebugInfo] Prevent infinite recursion for malformed DWARF.
Thu, Feb 8, 3:06 PM · debug-info
aprantl updated the diff for D43036: Use a stable topological sort instead of std::stable_sort in DIE *DwarfCompileUnit::createScopeChildrenDIE().

Added a bunch of interesting test cases, including the one with a global variable as dependency.
Note that none of these testcases trigger a crash in the old stable_sort code, since neither the order of the dbg.values nor the order in the list of local variables in the DIFunction has an effect on the order in which the locals appear in LexicalScopes.

Thu, Feb 8, 11:43 AM
aprantl added inline comments to D43002: Emit S_OBJNAME symbol in CodeView.
Thu, Feb 8, 10:42 AM

Wed, Feb 7

aprantl updated the diff for D43036: Use a stable topological sort instead of std::stable_sort in DIE *DwarfCompileUnit::createScopeChildrenDIE().

Address most review feedback, still need to come up with a better testcase.

Wed, Feb 7, 8:40 PM
aprantl added a comment to D43002: Emit S_OBJNAME symbol in CodeView.

I think this is still missing the bitcode upgrade test.

Wed, Feb 7, 4:02 PM
aprantl updated subscribers of D43043: [DebugInfo] Unify ChecksumKind and Checksum value in DIFile.
Wed, Feb 7, 4:00 PM
aprantl added inline comments to D43043: [DebugInfo] Unify ChecksumKind and Checksum value in DIFile.
Wed, Feb 7, 4:00 PM
aprantl accepted D43044: [DebugInfo] Update Checksum handling in CGDebugInfo.

SGTM.

Wed, Feb 7, 3:57 PM
aprantl added a comment to D43036: Use a stable topological sort instead of std::stable_sort in DIE *DwarfCompileUnit::createScopeChildrenDIE().

Sorting algorithm looks correct to me and in debugger it works as expected. I don't think we are going to visit DbgVariable more than 3 times so time complexity is reasonable too.

There is a problem with SmallDenseSet size and other than that maybe improve testing? Some of the ideas: make variables in order "array, unrelated, vla_expr" to expose problem with std::stable_sort; have dependencies that aren't local variables (this can be already covered by other tests); have more than 8 local variables that is not a power of 2.

Wed, Feb 7, 2:27 PM
aprantl added a comment to D43002: Emit S_OBJNAME symbol in CodeView.

There is still the question on how this is supposed to behave in an LTO build? Do you want the name of the shared LTO.o file for all CUs, or do you want to preserve the names of the bitcode-.o files? If the former is the case, then it makes more sense to make this a property of the Module, otherwise it needs to be on the DICompileUnit.

I mentioned in another response but it might have been overlooked. It needs to be the bitcode-.o files.

Wed, Feb 7, 11:52 AM
aprantl updated the diff for D43036: Use a stable topological sort instead of std::stable_sort in DIE *DwarfCompileUnit::createScopeChildrenDIE().

Initialize the DenseSets with the size of Input.

Wed, Feb 7, 11:43 AM
aprantl created D43036: Use a stable topological sort instead of std::stable_sort in DIE *DwarfCompileUnit::createScopeChildrenDIE().
Wed, Feb 7, 11:41 AM
aprantl closed D42940: Fix a crash when emitting DIEs for variable-length arrays.
Wed, Feb 7, 11:37 AM
aprantl reopened D42940: Fix a crash when emitting DIEs for variable-length arrays.
Wed, Feb 7, 11:36 AM