Page MenuHomePhabricator
Feed Advanced Search

Yesterday

aprantl updated the summary of D61044: Fix infinite recursion when calling C++ template functions.
Tue, Apr 23, 3:53 PM
aprantl committed rG2351d6102f30: [dsymutil] Put Swift interface files into a per-arch subdirectory. (authored by aprantl).
[dsymutil] Put Swift interface files into a per-arch subdirectory.
Tue, Apr 23, 9:41 AM
aprantl committed rG53bd7ce42ed6: [dsymutil] Fix use-after-free when sys::path::append grows the buffer. (authored by aprantl).
[dsymutil] Fix use-after-free when sys::path::append grows the buffer.
Tue, Apr 23, 8:43 AM
aprantl committed rGc7bde29cfeb7: Revert "[dsymutil] Fix use-after-free when sys::path::append grows the buffer." (authored by aprantl).
Revert "[dsymutil] Fix use-after-free when sys::path::append grows the buffer."
Tue, Apr 23, 8:43 AM
aprantl committed rG03e906d9d597: [dsymutil] Fix use-after-free when sys::path::append grows the buffer. (authored by aprantl).
[dsymutil] Fix use-after-free when sys::path::append grows the buffer.
Tue, Apr 23, 8:38 AM

Mon, Apr 22

aprantl committed rG05aad1567be1: Fully qualify llvm::Optional, some compilers complain otherwise. (authored by aprantl).
Fully qualify llvm::Optional, some compilers complain otherwise.
Mon, Apr 22, 3:50 PM
aprantl committed rGe495ec23fe46: Try to work around compile errors with older versions of GCC. (authored by aprantl).
Try to work around compile errors with older versions of GCC.
Mon, Apr 22, 3:40 PM
aprantl committed rGa6314ea6c254: Rename C++ TestGlobalVariables.py to have a distinct name from C version. (authored by aprantl).
Rename C++ TestGlobalVariables.py to have a distinct name from C version.
Mon, Apr 22, 3:16 PM
aprantl committed rG0d809aa21842: [dsymutil] Collect parseable Swift interfaces in the .dSYM bundle. (authored by aprantl).
[dsymutil] Collect parseable Swift interfaces in the .dSYM bundle.
Mon, Apr 22, 2:37 PM
aprantl added inline comments to D60716: [DwarfDebug] Dump call site debug info into DWARF.
Mon, Apr 22, 10:31 AM · debug-info
aprantl added inline comments to D58042: [LiveDebugValues] Emit parameter's entry value.
Mon, Apr 22, 10:10 AM · debug-info
aprantl added inline comments to D60715: [ISEL] Collect argument's forwarding regs when lowering calls.
Mon, Apr 22, 10:03 AM · debug-info
aprantl added a comment to D58033: Add option for emitting dbg info for call site parameters.

Is there some kind of testcase?

Mon, Apr 22, 9:48 AM · debug-info
aprantl added inline comments to D60642: [dsymutil] Collect parseable Swift interfaces in the .dSYM bundle..
Mon, Apr 22, 9:36 AM · Restricted Project
aprantl updated the diff for D60642: [dsymutil] Collect parseable Swift interfaces in the .dSYM bundle..

Add a comment to the map.

Mon, Apr 22, 9:35 AM · Restricted Project
aprantl added inline comments to D60642: [dsymutil] Collect parseable Swift interfaces in the .dSYM bundle..
Mon, Apr 22, 9:35 AM · Restricted Project

Fri, Apr 19

aprantl added inline comments to D60642: [dsymutil] Collect parseable Swift interfaces in the .dSYM bundle..
Fri, Apr 19, 5:05 PM · Restricted Project
aprantl updated the diff for D60642: [dsymutil] Collect parseable Swift interfaces in the .dSYM bundle..

Address review feedback. Thanks!

Fri, Apr 19, 5:01 PM · Restricted Project

Thu, Apr 18

aprantl added a comment to D60831: [DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion.

A good example for why arbitrarily picking one location during merging is when the two locations are coming from different inlined instances of different functions (or perhaps even worse: two inlined instances of the same function). I would assume that even in profiling a wrong backtrace would invalidate or render untrustworthy large parts of any analysis being done one this data.

I think we fundamentally disagree on what is good for profiling.

Thu, Apr 18, 9:17 PM · debug-info, Restricted Project
aprantl added a comment to D60866: [DWARF] Handle DW_OP_entry_value operand.

This looks mostly good, IMO what's missing is

Thu, Apr 18, 5:13 PM · debug-info
aprantl added a comment to D60831: [DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion.
In D60831#1472518, @vsk wrote:

As the lead of a project building profiling tools, I am strongly against having any instructions map to line 0.

This is probably not what you meant, but for completeness I feel like I should point out that there are many legitimate situations where LLVM generates a line 0 location. The most prominent example is instruction merging: Since both LLVM IR and DWARF currently require each PC address to map to exactly one source location, LLVM's will insert a line 0 location when it merges two instructions with distinct source locations. I can't speak for profiling, but at least on the debugger side, the consensus is that potentially misleading information is worse than no information, because if there is no way to distinguish "always correct" from "maybe correct" information, the user can't trust any information.

When merging happens, I don't see why mapping to 0 is better than attributing it to one of a set of locations that a fused operation came from. I see that as representative of reality.

I would prefer a rule stating that if two operations are merged, always pick the lexicographically least (file, line number) pair. In the case of mappings for merged instructions, I see either mapping as "correct".

I don't see things this way. Arbitrarily picking a location can result in a false execution history being presented to the user. Line 0 works a lot better imo, because it a) doesn't actively mislead and b) preserves inline scope.

FWIW, the motivating case for the introduction of getMergedLocation, which generally handles the insertion of line 0 locations in this case was to improve the performance of profile-guided optimized code when using a sampling profiler tool (see http://llvm.org/devmtg/2017-03//assets/slides/delivering_sample_based_pgo_for_playstation_r_4.pdf ).

I looked at the slides. The PGO is nice work. The slide about getMergedLocation describes the rationale for mapping to line 0 rather than another line mapping if the line mappings don't agree. I don't see it wrong to simply choose one.

Thu, Apr 18, 4:59 PM · debug-info, Restricted Project
aprantl added a comment to D60831: [DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion.
Thu, Apr 18, 2:48 PM · debug-info, Restricted Project
aprantl committed rGfac7875704b4: Implement sys::fs::copy_file using the macOS copyfile(3) API to support APFS… (authored by aprantl).
Implement sys::fs::copy_file using the macOS copyfile(3) API to support APFS…
Thu, Apr 18, 2:22 PM
aprantl added inline comments to D60880: [libc++] Use COPYFILE_CLONE from the macOS copyfile(3) API to support APFS clones.
Thu, Apr 18, 2:07 PM · Restricted Project
aprantl added a comment to D60880: [libc++] Use COPYFILE_CLONE from the macOS copyfile(3) API to support APFS clones.

I found one more quirks while debugging why https://reviews.llvm.org/D60802 caused a clang modules crash reproducer test to fail:

Thu, Apr 18, 1:58 PM · Restricted Project
aprantl added a comment to D60880: [libc++] Use COPYFILE_CLONE from the macOS copyfile(3) API to support APFS clones.

I assume the availability check isn't necessary because libcxx won't back-deploy to 10.11?

Thu, Apr 18, 11:25 AM · Restricted Project
aprantl added a comment to D60880: [libc++] Use COPYFILE_CLONE from the macOS copyfile(3) API to support APFS clones.

According to the documentation COPYFILE_CLONE will clone a symlink rather than its contents, whereas COPY_FILE_DATA will follow the link. That's why I'm checking for symlinks in https://reviews.llvm.org/D60802. I don't know whether copy_file_impl_copyfile makes any guarantees.

Thu, Apr 18, 11:10 AM · Restricted Project
aprantl added a reviewer for D60831: [DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion: anemet.
Thu, Apr 18, 10:04 AM · debug-info, Restricted Project
aprantl added inline comments to D60831: [DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion.
Thu, Apr 18, 10:04 AM · debug-info, Restricted Project
aprantl added a comment to D59687: [DebugInfo] Prologue inserter need to insert DW_OP_deref_size.

Having a bit of hard time minimizing the Chromium failure to something useful.

Thu, Apr 18, 9:57 AM · Restricted Project, debug-info
aprantl added inline comments to D60642: [dsymutil] Collect parseable Swift interfaces in the .dSYM bundle..
Thu, Apr 18, 9:52 AM · Restricted Project
aprantl added inline comments to D60642: [dsymutil] Collect parseable Swift interfaces in the .dSYM bundle..
Thu, Apr 18, 9:50 AM · Restricted Project
aprantl added a comment to D60714: [clang] Add DISuprogram and DIE for func decl of an external .

Thanks for all your responses. I think the only thing left to do here is to factor out all the CGDebugInfo-related code into a CGDebugInfo::handleFunctionCall() (or similarly named) method, so all the debug info code is contained in CGDebugInfo.cpp.

Thu, Apr 18, 9:45 AM

Wed, Apr 17

aprantl committed rG00d97ea2021f: Revert Implement sys::fs::copy_file using the macOS copyfile(3) API to support… (authored by aprantl).
Revert Implement sys::fs::copy_file using the macOS copyfile(3) API to support…
Wed, Apr 17, 6:20 PM
aprantl committed rG91a06bee7882: Implement sys::fs::copy_file using the macOS copyfile(3) API to support APFS… (authored by aprantl).
Implement sys::fs::copy_file using the macOS copyfile(3) API to support APFS…
Wed, Apr 17, 5:00 PM

Tue, Apr 16

aprantl added a comment to D58033: Add option for emitting dbg info for call site parameters.

And if we plan to enable it by default, too, perhaps not adding a driver option (CC1 only) is preferable, since we need to maintain compatibility with driver options indefinitely.

Tue, Apr 16, 4:14 PM · debug-info
aprantl added a comment to D60716: [DwarfDebug] Dump call site debug info into DWARF.

Only a few superficial comments inline, I'll need to read this more carefully.

Tue, Apr 16, 4:12 PM · debug-info
aprantl added a comment to D60715: [ISEL] Collect argument's forwarding regs when lowering calls.

Looking through the file list, this seems to be missing FastISel and GlobalIsel support?

Tue, Apr 16, 4:06 PM · debug-info
aprantl created D60802: Implement sys::fs::copy_file using the macOS copyfile(3) API to support APFS clones.
Tue, Apr 16, 4:00 PM · Restricted Project

Mon, Apr 15

aprantl added inline comments to D58042: [LiveDebugValues] Emit parameter's entry value.
Mon, Apr 15, 8:56 PM · debug-info
aprantl accepted D60712: [DWARF] Add GNU extensions for call site info DWARF symbols.
Mon, Apr 15, 8:56 PM · debug-info
aprantl added inline comments to D60714: [clang] Add DISuprogram and DIE for func decl of an external .
Mon, Apr 15, 8:46 PM
aprantl added inline comments to D58035: [clang/DIVar] Emit flag for params that have unchanged values.
Mon, Apr 15, 8:38 PM · debug-info
aprantl added a comment to D58034: [IR/DIVar] Add flag for params that have unchanged values.

Looks still good.

Mon, Apr 15, 8:32 PM · debug-info
aprantl added inline comments to D58033: Add option for emitting dbg info for call site parameters.
Mon, Apr 15, 8:28 PM · debug-info

Fri, Apr 12

aprantl created D60642: [dsymutil] Collect parseable Swift interfaces in the .dSYM bundle..
Fri, Apr 12, 4:04 PM · Restricted Project
aprantl accepted D60641: [DebugInfo@O2] Prevent Instcombine from dropping debug info when removing zexts (fixes PR41475).
Fri, Apr 12, 3:47 PM · Restricted Project
aprantl added a comment to D59687: [DebugInfo] Prologue inserter need to insert DW_OP_deref_size.

It looks like this causes clang to crash when compiling itself.

Fri, Apr 12, 9:17 AM · Restricted Project, debug-info
aprantl updated subscribers of D59687: [DebugInfo] Prologue inserter need to insert DW_OP_deref_size.
Fri, Apr 12, 9:17 AM · Restricted Project, debug-info
aprantl accepted D60611: [DebugInfo] GlobalOpt DW_OP_deref_size instead of DW_OP_deref..
Fri, Apr 12, 8:32 AM · Restricted Project, debug-info

Thu, Apr 11

aprantl added a comment to D59348: [DebugInfo] Combine Trivial and NonTrivial flags.

If the NonTrivial flag was not present in the last open source release and none of the Windows stakeholders object, I think we can land this as a bugfix, ignoring bitcode compatibility.

Thu, Apr 11, 8:45 AM · Restricted Project
aprantl accepted D60556: [DebugInfo@O2] Fix pr41175 Dead Store Elimination missing debug loc.
Thu, Apr 11, 8:26 AM · Restricted Project, debug-info
aprantl accepted D59687: [DebugInfo] Prologue inserter need to insert DW_OP_deref_size.

Great, thanks!

Thu, Apr 11, 8:20 AM · Restricted Project, debug-info

Wed, Apr 10

aprantl added inline comments to D59348: [DebugInfo] Combine Trivial and NonTrivial flags.
Wed, Apr 10, 2:43 PM · Restricted Project
aprantl committed rG3cc634d0936e: Fix undefined behavior in DWARFASTParser::ParseChildArrayInfo() (authored by aprantl).
Fix undefined behavior in DWARFASTParser::ParseChildArrayInfo()
Wed, Apr 10, 2:20 PM

Tue, Apr 9

aprantl accepted D54187: Add debuginfo-tests that use cdb on Windows.

Okay, so it looks like dexter might be a replacement for the lldgb.py wrapper and would support gdb, lldb, and the visual studio debugger. I think it would be nice to migrate the bulk of the debuginfo-tests repository to that. Until someone implements a cdb driver in dexter, however, I suppose there is no harm in adding a few files that directly talk to cdb. And I'm in no position to estimate how much work a cdb driver would be since I'm neither familiar with dexter or cdb :-)

Tue, Apr 9, 9:11 PM · debug-info
aprantl updated subscribers of D54187: Add debuginfo-tests that use cdb on Windows.
Tue, Apr 9, 2:35 PM · debug-info
aprantl added a comment to D54187: Add debuginfo-tests that use cdb on Windows.

Did anyone take the time to look at dexter and whether it would fit the bill here? It would be great to avoid reimplementing its functionality just to have something that then only works on Windows.

Tue, Apr 9, 11:03 AM · debug-info
aprantl added a comment to D59537: Instantiate 'std' templates explicitly in the expression evaluator.

Can you send me a mail with instructions to reproduce the failure? I'd like to take a look.

Tue, Apr 9, 10:07 AM · Restricted Project, Restricted Project
aprantl accepted D59938: [DebugInfo] Make InstrRange into a class, NFC.
Tue, Apr 9, 10:05 AM · Restricted Project
aprantl accepted D59687: [DebugInfo] Prologue inserter need to insert DW_OP_deref_size.
Tue, Apr 9, 10:00 AM · Restricted Project, debug-info
aprantl added inline comments to D59537: Instantiate 'std' templates explicitly in the expression evaluator.
Tue, Apr 9, 9:35 AM · Restricted Project, Restricted Project

Mon, Apr 8

aprantl committed rGe794752bdfb3: Experiment with a larger packet timeout. (authored by aprantl).
Experiment with a larger packet timeout.
Mon, Apr 8, 4:02 PM
aprantl committed rG1a0c0ffa9db5: Fix a stack buffer overflow found by ASAN. (authored by aprantl).
Fix a stack buffer overflow found by ASAN.
Mon, Apr 8, 2:57 PM
aprantl committed rG6ed5706a2bea: Add LLVM IR debug info support for Fortran COMMON blocks (authored by aprantl).
Add LLVM IR debug info support for Fortran COMMON blocks
Mon, Apr 8, 12:13 PM
aprantl accepted D54327: Adding debug info to support Fortran (part 3).
Mon, Apr 8, 12:11 PM · Restricted Project, debug-info
aprantl accepted D59941: [DebugInfo] Improve handling of clobbered fragments.
Mon, Apr 8, 11:41 AM · Restricted Project, debug-info
aprantl accepted D59939: [DebugInfo] Rename DbgValueHistoryMap::{InstrRange -> Entry}, NFC.
Mon, Apr 8, 11:38 AM · Restricted Project
aprantl added a comment to D59938: [DebugInfo] Make InstrRange into a class, NFC.

LGTM with some small style nitpicks inline.

Mon, Apr 8, 11:38 AM · Restricted Project
aprantl accepted D59301: [DebugInfo] Remove redundant DebugLocEntry::MergeValues() function, NFC.
Mon, Apr 8, 11:33 AM · Restricted Project, debug-info
aprantl accepted D59303: [DebugInfo] Pass all values in DebugLocEntry's constructor, NFC.
Mon, Apr 8, 11:32 AM · Restricted Project, debug-info

Fri, Apr 5

aprantl committed rG4c03ea14f2d6: Unify random timeouts throughout LLDB and make them configurable. (authored by aprantl).
Unify random timeouts throughout LLDB and make them configurable.
Fri, Apr 5, 3:44 PM
aprantl updated the diff for D60340: Unify random timeouts throughout LLDB and make them configurable..

Tweaked the name of the option after some off-line discussion with Jim.

Fri, Apr 5, 2:51 PM · Restricted Project
aprantl added a comment to D60340: Unify random timeouts throughout LLDB and make them configurable..

I should also note that I did check that process was either checked or dereferenced above the the locations where this patch dereferences it.

Fri, Apr 5, 2:33 PM · Restricted Project
aprantl created D60340: Unify random timeouts throughout LLDB and make them configurable..
Fri, Apr 5, 2:32 PM · Restricted Project
aprantl added a comment to D60300: [testsuite] Split Objective-C data formatter.

What's the motivation behind all the @no_debug_info_test decorators? Are those codepaths guaranteed to be tested elsewhere?

Fri, Apr 5, 11:00 AM · Restricted Project, Restricted Project
aprantl added a comment to D60300: [testsuite] Split Objective-C data formatter.

What's the motivation behind all the @no_debug_info_test decorators? Are those codepaths guaranteed to be tested elsewhere?

Fri, Apr 5, 10:58 AM · Restricted Project, Restricted Project
aprantl added a comment to D59942: [DebugInfo] Track multiple registers in DbgEntityHistoryCalculator.

If there are remaining patches that I haven't accepted yet, please ping them.

Fri, Apr 5, 9:45 AM · Restricted Project, debug-info
aprantl added inline comments to D59816: [Support] Implement zlib independent crc32 computation.
Fri, Apr 5, 8:48 AM · Restricted Project
aprantl accepted D59816: [Support] Implement zlib independent crc32 computation.
Fri, Apr 5, 8:48 AM · Restricted Project
aprantl added a comment to D59687: [DebugInfo] Prologue inserter need to insert DW_OP_deref_size.

@aprantl @dblaikie it bugs me that MIParser and LLParser each have their own DIExpression parser. As this patch shows, they can get out of sync. Is it worth trying to do something about that?

Fri, Apr 5, 8:45 AM · Restricted Project, debug-info
aprantl added inline comments to D60300: [testsuite] Split Objective-C data formatter.
Fri, Apr 5, 8:42 AM · Restricted Project, Restricted Project
aprantl added inline comments to D60300: [testsuite] Split Objective-C data formatter.
Fri, Apr 5, 8:42 AM · Restricted Project, Restricted Project
aprantl added inline comments to D60300: [testsuite] Split Objective-C data formatter.
Fri, Apr 5, 8:40 AM · Restricted Project, Restricted Project

Thu, Apr 4

aprantl requested changes to D54327: Adding debug info to support Fortran (part 3).
Thu, Apr 4, 6:09 PM · Restricted Project, debug-info
aprantl added a comment to D54327: Adding debug info to support Fortran (part 3).

The change to the LLParser broke two tests:

Failing Tests (2):
    LLVM :: Assembler/invalid-diglobalvariable-empty-name.ll
    LLVM :: Assembler/invalid-diglobalvariable-missing-name.ll
Thu, Apr 4, 6:09 PM · Restricted Project, debug-info
aprantl committed rGce2d45e7ba4d: llvm-dwarfdump: Support alternative architecture names in the -arch filter (authored by aprantl).
llvm-dwarfdump: Support alternative architecture names in the -arch filter
Thu, Apr 4, 8:49 AM
aprantl closed D60240: llvm-dwarfdump: Support alternative architecture names in the -arch filter .

r357706.

Thu, Apr 4, 8:49 AM · Restricted Project
aprantl added a comment to D60252: [dwarfdump] Make -arch accept alternative spellings.

If you don't mind, I mildly prefer my patch in https://reviews.llvm.org/D60240 because it also adds a test for the MachO CPU type number case.

Thu, Apr 4, 8:27 AM · Restricted Project
aprantl added reviewers for D60240: llvm-dwarfdump: Support alternative architecture names in the -arch filter : kastiglione, keith.
Thu, Apr 4, 8:27 AM · Restricted Project
aprantl added a comment to D60252: [dwarfdump] Make -arch accept alternative spellings.

See also https://reviews.llvm.org/D60240 :-)

Thu, Apr 4, 8:27 AM · Restricted Project

Wed, Apr 3

aprantl accepted D60238: Verify that Android targets generate DWARF 4 by default..

Good catch!

Wed, Apr 3, 6:37 PM · Restricted Project, Restricted Project
aprantl created D60240: llvm-dwarfdump: Support alternative architecture names in the -arch filter .
Wed, Apr 3, 5:15 PM · Restricted Project
aprantl added inline comments to D60238: Verify that Android targets generate DWARF 4 by default..
Wed, Apr 3, 4:25 PM · Restricted Project, Restricted Project
aprantl accepted D54327: Adding debug info to support Fortran (part 3).
Wed, Apr 3, 4:09 PM · Restricted Project, debug-info
aprantl accepted D59942: [DebugInfo] Track multiple registers in DbgEntityHistoryCalculator.
Wed, Apr 3, 4:06 PM · Restricted Project, debug-info

Tue, Apr 2

aprantl added a comment to D54327: Adding debug info to support Fortran (part 3).

Mechanically, this patch LGTM.

Tue, Apr 2, 4:39 PM · Restricted Project, debug-info
aprantl added a comment to D54327: Adding debug info to support Fortran (part 3).

I think @probinson had some questions about common blocks and LTO?

Tue, Apr 2, 4:37 PM · Restricted Project, debug-info
aprantl added inline comments to D59942: [DebugInfo] Track multiple registers in DbgEntityHistoryCalculator.
Tue, Apr 2, 4:36 PM · Restricted Project, debug-info
aprantl added inline comments to D59941: [DebugInfo] Improve handling of clobbered fragments.
Tue, Apr 2, 4:36 PM · Restricted Project, debug-info