Page MenuHomePhabricator
Feed Advanced Search

Yesterday

probinson added a comment to D63713: WIP: DataExtractor error handling.

The new API doesn't let you eliminate *all* checks. :-)
Also it introduces some new dependencies as noted inline.

Mon, Jun 24, 11:27 AM · Restricted Project

Fri, Jun 21

probinson added a comment to D63591: DWARFDebugLoc: Make parsing and error reporting more robust.

Pick whatever mechanism you like, we should debate it in that patch not here. :-)

Fri, Jun 21, 7:34 AM · Restricted Project
probinson added a comment to D63591: DWARFDebugLoc: Make parsing and error reporting more robust.

Ah, hadn't considered statefulness. But if you layer another class on top of DataExtractor to handle the error flag, it would have to be replicating all the offset-is-valid checks, because of course DataExtractor itself doesn't return errors.

Fri, Jun 21, 6:56 AM · Restricted Project
probinson committed rL364039: Fix a crash with assembler source and -g..
Fix a crash with assembler source and -g.
Fri, Jun 21, 6:18 AM
probinson committed rG26cc5bcb1a39: Fix a crash with assembler source and -g. (authored by probinson).
Fix a crash with assembler source and -g.
Fri, Jun 21, 6:09 AM
probinson closed D63573: Fix a crash with assembler source and -g..
Fri, Jun 21, 6:09 AM · Restricted Project, debug-info
probinson added a comment to D63591: DWARFDebugLoc: Make parsing and error reporting more robust.

Removing that llvm_unreachable is fine, in that case.
The idea for error handling for DataExtractor sounds reasonable, looks like adding an error flag wouldn't even increase the size.

Fri, Jun 21, 5:13 AM · Restricted Project

Thu, Jun 20

probinson added inline comments to D63591: DWARFDebugLoc: Make parsing and error reporting more robust.
Thu, Jun 20, 1:42 PM · Restricted Project
probinson accepted D63591: DWARFDebugLoc: Make parsing and error reporting more robust.

LGTM but give the West Coast folks a chance to look at it.

Thu, Jun 20, 6:43 AM · Restricted Project
probinson added a comment to D60387: FileCheck [7/12]: Arbitrary long numeric expressions.

I think I am happy with this, leaving the rest up to James.

Thu, Jun 20, 6:35 AM · Restricted Project
probinson added a comment to D63591: DWARFDebugLoc: Make parsing and error reporting more robust.

Looks pretty good, and thanks especially for the error-case tests!
I'll give other folks a chance to chime in if they want to.

Thu, Jun 20, 5:56 AM · Restricted Project

Wed, Jun 19

probinson added a comment to D63573: Fix a crash with assembler source and -g..

We do not precisely match gcc/gas behavior in some more-peculiar cases, but my assertion is that those should not occur "naturally" and so it's okay. For example:

foo:
    nop
    .file 1 "a.c"

This will cause gcc/gas to emit an error to the effect that file number 1 is already defined (implicitly, because of the line-table record for the first instruction). Clang/llvm-mc will not, we'll just emit an odd-looking line table. I can see how to cause clang/llvm-mc to emit this error, but it feels like it would be a hack done just to match gcc's (likely unintentional) error-detection behavior for an ill-formed assembler file.

Wed, Jun 19, 2:36 PM · Restricted Project, debug-info
probinson created D63573: Fix a crash with assembler source and -g..
Wed, Jun 19, 2:25 PM · Restricted Project, debug-info
probinson accepted D63125: FileCheck: Return parse error w/ Error & Expected.

LGTM.

Wed, Jun 19, 7:11 AM · Restricted Project
probinson accepted D63500: [FileCheck] Stop qualifying expressions as numeric.

LGTM

Wed, Jun 19, 6:57 AM · Restricted Project
probinson accepted D63539: [FileCheck] Fix fct param immediate comment style.

LGTM.

Wed, Jun 19, 6:51 AM · Restricted Project
probinson added a comment to D63488: [docs] Phabricator, not the lists is the main entry point for new patches.

In any event, this is a project policy change and should have an RFC on llvm-dev, not be proposed in a patch.

Wed, Jun 19, 6:47 AM · Restricted Project

Tue, Jun 18

probinson added a comment to D63500: [FileCheck] Stop qualifying expressions as numeric.

I think this is a definite improvement in readability, once you fix the two places that seem to have lost a line of commentary.

Tue, Jun 18, 12:38 PM · Restricted Project
probinson added a comment to D63488: [docs] Phabricator, not the lists is the main entry point for new patches.

I see the point; certainly when someone emails a patch, the first response is almost always "can you put this on Phab."

Tue, Jun 18, 12:19 PM · Restricted Project
probinson added a comment to D58335: [DebugInfo] Generate fixups as emitting DWARF .debug_frame/.eh_frame..

The dwarfdump changes look okay, but the new tests don't exercise those changes. The simplest thing is probably to RUN llvm-dwarfdump in relax-debug-frame.ll and verify the output describes the frame as expected.

Tue, Jun 18, 9:00 AM · Restricted Project
probinson added a comment to D63488: [docs] Phabricator, not the lists is the main entry point for new patches.

Requiring Phabricator raises the barrier to one-off patches from casual contributors, because using Phabricator requires a registration step.
I don't think we should require it until casual users with drive-by patches can contribute easily.

Tue, Jun 18, 8:11 AM · Restricted Project

Mon, Jun 17

probinson added a comment to D60387: FileCheck [7/12]: Arbitrary long numeric expressions.

Regarding what to call the @LINE+offset form, I think it's fine to call it "legacy" in the user-facing documentation, but it gets to be a bit much in the internals. I haven't commented every use but you will get the idea in the inline comments.

Mon, Jun 17, 2:37 PM · Restricted Project
probinson added inline comments to D58033: Add option for emitting dbg info for call site parameters.
Mon, Jun 17, 11:39 AM · debug-info
probinson added a comment to D54348: Permit multiple .file directives with -g.

As I mentioned in PR38449, I plan to look at this starting this week. Even benign situations such as

foo:
.file 1 "a.c"

are tripping over the assertion. I think the correct tactic is not to remove the places that are doing the checks, but make those places do a better job of tidying up anything that had been done in response to the command-line -g in favor of allowing the embedded directives to DTRT.

Mon, Jun 17, 10:21 AM · Restricted Project, debug-info

Wed, Jun 5

probinson accepted D60386: FileCheck [6/12]: Introduce numeric variable definition.

I am pretty sure all @jhenderson comments have been addressed, and I'm happy, so LGTM.
As I said previously, it may be a while before I get to your next patch.

Wed, Jun 5, 8:18 AM · Restricted Project

Tue, Jun 4

probinson added a comment to D60386: FileCheck [6/12]: Introduce numeric variable definition.

Ah ha. The ParenGroup referring to the CHECK line as it has been translated for consumption by the underlying regex package... that was not clear.
In which case the terminology is okay but the commentary could be better, see inline comment.

Tue, Jun 4, 10:16 AM · Restricted Project
probinson added a comment to D60386: FileCheck [6/12]: Introduce numeric variable definition.

Grammar nits and one longer point, which is:
I understand where the "parenthesis group" term came from, but I think it's not appropriate here. While a CHECK line is implicitly a regex, and variables are a kind of back-reference, the syntax for variable references (use or def) is not parentheses and the content is not a "group" in any real sense, and so "parenthesis group" is an un-obvious and confusing term.
Because FileCheck uses square brackets, I propose that the least disruptive change at this point would be to call them "bracket expressions." The "bracket" part is obvious, and "expression" because (a) definitions will have a regex, and (b) numeric variable references are implicitly expressions. (Okay, still a bit of a stretch, but less so that "parenthesis group" IMO.)
WDYT?

Tue, Jun 4, 9:16 AM · Restricted Project
probinson added a comment to D62850: [X86] Fix builtins-x86.c test where it wasn't using immediates. NFC.

Is the compiler missing a check that these parameters are immediates?

Tue, Jun 4, 5:45 AM · Restricted Project, Restricted Project

Mon, Jun 3

probinson accepted D62084: Fix DWARF DebugInfo unit test errors when cross-compiling.

LGTM

Mon, Jun 3, 12:55 PM · Restricted Project
probinson added a comment to D62634: Improve DWARF parsing and accessing by 1% to 2%.

This is intentional behavior in clang (controllable under the -f[no-]split-dwarf-inlining flag, and modified by the -f[no-]debug-info-for-profiling flag).

This extra debug info is used for online symbolication (in the absence of .dwo files) - such as for the sanitizers (accurate symbolication is necessary for correctness in msan, due to msan's necessary use of blacklisting to avoid certain false positives) and some forms of sample based profiling collection.

In the default mode, clang includes, as you noted, just the subprograms that have inlined subroutines in them in this split-dwarf-inlining data.
In -fdebug-info-for-profiling all subprograms are described in the skeleton CU with some minimal attributes (they don't need parameters, local variables/scopes, etc) necessary to do certain profile things I don't know lots about.

Mon, Jun 3, 9:15 AM
probinson accepted D62805: [DebugInfo] Fix possible invalid dereference of non-engaged Optional..

Well, the results are at least defined now. Please make sure the commit log mentions "e.g. fold-sext-trunc.ll".
LGTM

Mon, Jun 3, 6:31 AM · Restricted Project
probinson added inline comments to D62805: [DebugInfo] Fix possible invalid dereference of non-engaged Optional..
Mon, Jun 3, 6:15 AM · Restricted Project
probinson added inline comments to D62805: [DebugInfo] Fix possible invalid dereference of non-engaged Optional..
Mon, Jun 3, 5:20 AM · Restricted Project

May 23 2019

probinson added inline comments to D62196: [LiveDebugValues] Close range for previous variable's location when deducing new variable's location.
May 23 2019, 9:20 AM · Restricted Project, debug-info
probinson accepted D62323: [FileCheck] Remove llvm:: prefix.

LGTM, although I commonly see llvm::make_unique to document that we are specifically not using the std:: one. On occasion it is actually ambiguous.

May 23 2019, 9:04 AM · Restricted Project
probinson added inline comments to D60386: FileCheck [6/12]: Introduce numeric variable definition.
May 23 2019, 8:58 AM · Restricted Project
probinson committed rGc63b37dd408e: Work around a Visual C++ bug. (authored by probinson).
Work around a Visual C++ bug.
May 23 2019, 8:09 AM
probinson committed rL361502: Work around a Visual C++ bug..
Work around a Visual C++ bug.
May 23 2019, 8:08 AM
probinson committed rC361502: Work around a Visual C++ bug..
Work around a Visual C++ bug.
May 23 2019, 8:08 AM
probinson closed D62202: Work around a Visual C++ bug.
May 23 2019, 8:08 AM · Restricted Project, Restricted Project
probinson added inline comments to D60386: FileCheck [6/12]: Introduce numeric variable definition.
May 23 2019, 8:04 AM · Restricted Project
probinson added a comment to D62084: Fix DWARF DebugInfo unit test errors when cross-compiling.

Looks like the right solution, but have you actually tried it with an empty default triple?

May 23 2019, 7:40 AM · Restricted Project
probinson added a comment to D62302: DWARF: Fix address range support in mixed 4+5 scenario.

Drive-by: For the "dead code" did you check whether gcc emits DW_AT_start_scope? LLDB should support more than just what Clang emits.

May 23 2019, 6:59 AM · Restricted Project

May 22 2019

probinson added a comment to D62241: [FileCheck] Introduce substitution subclasses.

Apart from missing 'override' keywords it looks pretty straightforward. LGTM.

May 22 2019, 12:10 PM · Restricted Project
probinson added a comment to D62146: FileCheck: Improve FileCheck variable terminology.

A few small things, and LGTM too.

May 22 2019, 10:51 AM · Restricted Project

May 21 2019

probinson added a comment to D62202: Work around a Visual C++ bug.
// FIXME: Change the following functions from anonymous namespace to static
// after the minimum _MSC_VER >= 1915 (equivalent to Visual Studio version
// of 15.8 or higher).  Works around a bug in earlier versions.

?

May 21 2019, 6:36 PM · Restricted Project, Restricted Project
probinson added a comment to D62118: [DWARF] hoist nullptr checks. NFC.

Is there a test case for this codepath? Or should it be an assertion instead?

May 21 2019, 12:20 PM · Restricted Project
probinson added a comment to D62202: Work around a Visual C++ bug.

The helper is passed as a template parameter to a class ctor, and that instantiated class calls the helper from operator(), so I suppose maybe enough indirection through lambdas....
but this seems kind of involved for getting my builds to work.

May 21 2019, 11:30 AM · Restricted Project, Restricted Project
probinson added a comment to D62202: Work around a Visual C++ bug.

Technically this violates the LLVM style guide which says "make anonymous namespaces as small as possible, and only use them for class declarations." (preferring static for functions) - https://llvm.org/docs/CodingStandards.html#anonymous-namespaces

May 21 2019, 9:08 AM · Restricted Project, Restricted Project
probinson added a comment to D62202: Work around a Visual C++ bug.

To provide some missing details:
The original source gets a bogus compile-time error with Visual Studio 2017, prior to version 15.8. I have 15.2, so I need this patch to build Clang.
Our current minimum-version requirement (per CheckCompilerVersion.cmake) is Visual Studio 2015 (some specific update), which assumes all Visual Studio 2017 versions are usable. So by that criterion, we need this patch for all Visual Studio 2017 versions to be usable.
Arguably the anonymous-namespace version is the "more modern" tactic anyway, so as a long-term fix this is actually fine anyway.

May 21 2019, 8:35 AM · Restricted Project, Restricted Project
probinson created D62202: Work around a Visual C++ bug.
May 21 2019, 8:17 AM · Restricted Project, Restricted Project
probinson committed rG35a2196bd116: Fix typo in r361251. (authored by probinson).
Fix typo in r361251.
May 21 2019, 6:24 AM
probinson committed rL361256: Fix typo in r361251..
Fix typo in r361251.
May 21 2019, 6:20 AM
probinson committed rG0a16ba856bea: [DebugInfo] Fix tests missed by r362148 (authored by probinson).
[DebugInfo] Fix tests missed by r362148
May 21 2019, 5:47 AM
probinson committed rL361251: [DebugInfo] Fix tests missed by r362148.
[DebugInfo] Fix tests missed by r362148
May 21 2019, 5:47 AM
probinson committed rG9d5351cab69a: De-Window-ize a test (authored by probinson).
De-Window-ize a test
May 21 2019, 5:07 AM
probinson committed rL361250: De-Window-ize a test.
De-Window-ize a test
May 21 2019, 5:06 AM
probinson committed rG9c5632693426: [DebugInfo] Handle '# line "file"' correctly for asm source. This provides the… (authored by probinson).
[DebugInfo] Handle '# line "file"' correctly for asm source. This provides the…
May 21 2019, 4:57 AM
probinson committed rL361248: [DebugInfo] Handle '# line "file"' correctly for asm source..
[DebugInfo] Handle '# line "file"' correctly for asm source.
May 21 2019, 4:56 AM
probinson closed D62074: [DebugInfo] Handle '# line "file"' correctly for asm source..
May 21 2019, 4:56 AM · Restricted Project, debug-info
probinson committed rG116e8d4876f9: [DebugInfo] Handle -main-file-name correctly for asm source. This option… (authored by probinson).
[DebugInfo] Handle -main-file-name correctly for asm source. This option…
May 21 2019, 4:51 AM
probinson committed rL361245: [DebugInfo] Handle -main-file-name correctly for asm source..
[DebugInfo] Handle -main-file-name correctly for asm source.
May 21 2019, 4:50 AM
probinson closed D62071: [DebugInfo] Handle -main-file-name correctly for asm source..
May 21 2019, 4:50 AM · Restricted Project, debug-info

May 20 2019

probinson committed rGd90193695751: Fix test not to use UNSUPPORTED as a FileCheck prefix. It was not causing a… (authored by probinson).
Fix test not to use UNSUPPORTED as a FileCheck prefix. It was not causing a…
May 20 2019, 7:58 AM
probinson committed rC361161: Fix test not to use UNSUPPORTED as a FileCheck prefix..
Fix test not to use UNSUPPORTED as a FileCheck prefix.
May 20 2019, 7:58 AM
probinson committed rL361161: Fix test not to use UNSUPPORTED as a FileCheck prefix..
Fix test not to use UNSUPPORTED as a FileCheck prefix.
May 20 2019, 7:58 AM
probinson accepted D60283: [DebugInfo] Don't emit checksums when compiling a preprocessed CPP.

LGTM

May 20 2019, 6:46 AM · Restricted Project

May 17 2019

probinson created D62074: [DebugInfo] Handle '# line "file"' correctly for asm source..
May 17 2019, 12:18 PM · Restricted Project, debug-info
probinson created D62071: [DebugInfo] Handle -main-file-name correctly for asm source..
May 17 2019, 11:15 AM · Restricted Project, debug-info
probinson added a comment to D60386: FileCheck [6/12]: Introduce numeric variable definition.

That's a great idea, especially the "string variable" and "string substitution". I was not pleased with the name either but the only thing I thought of was regex variable which is plain wrong, I completely missed the obvious.

Naming is hard, I clearly didn't think of it right away either.

May 17 2019, 8:16 AM · Restricted Project

May 16 2019

probinson added a comment to D60386: FileCheck [6/12]: Introduce numeric variable definition.

There's still some inconsistency in the terminology, as clearly evidenced by the name and description of the IsNumExpr member of FileCheckPatternSubstitution. That class used to be where we'd find variables (now called pattern variables); but it has had numeric expressions crammed into it, except the comment wants to call it a substitution, and so we have "pattern" and "substitution" and "expression" all competing for clarity.

May 16 2019, 7:29 AM · Restricted Project

May 15 2019

probinson added a comment to D60283: [DebugInfo] Don't emit checksums when compiling a preprocessed CPP.

Minor stuff. This solution is surprisingly simple, the main question being (and I don't have an answer) whether increasing the size of PresumedLoc is okay.

May 15 2019, 9:50 AM · Restricted Project
probinson added a comment to D61584: [DebugInfo] Some fields do not need relocations even relax is enabled..

It still bothers me that MCDwarf has to know exactly when to override the target's decision to do relaxation.

May 15 2019, 9:08 AM · Restricted Project

May 14 2019

probinson added inline comments to D60386: FileCheck [6/12]: Introduce numeric variable definition.
May 14 2019, 10:09 AM · Restricted Project
probinson added a comment to D60831: [DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion.

It sounds like inlining a function with a loop has a bug with respect to how the loop metadata is handled, and your patch merely tripped over that. Would it be reasonable to fix the inlining-loop-metadata bug separately first? And then the original patch is likely to Just Work?
Fixing one bug at a time is more in line with project practices.

May 14 2019, 8:40 AM · debug-info, Restricted Project
probinson committed rGac2f5a61be2a: Replace lit feature keyword 'not_COFF' with 'uses_COFF'. (authored by probinson).
Replace lit feature keyword 'not_COFF' with 'uses_COFF'.
May 14 2019, 7:50 AM
probinson committed rL360680: Replace lit feature keyword 'not_COFF' with 'uses_COFF'..
Replace lit feature keyword 'not_COFF' with 'uses_COFF'.
May 14 2019, 7:50 AM
probinson closed D61791: Replace lit feature keyword 'non_COFF' with 'uses_COFF'..
May 14 2019, 7:50 AM · Restricted Project
probinson accepted D61891: DWARF v5: emit DW_AT_addr_base if DW_AT_low_pc references .debug_addr.

LGTM once you rephrase the comment in the test.

May 14 2019, 7:05 AM · Restricted Project
probinson accepted D61184: [Salvage] Change salvage debug info implementation to use new DW_OP_LLVM_convert where needed.

LGTM after you add the full-stop noted below.

May 14 2019, 6:52 AM · Restricted Project

May 13 2019

probinson added inline comments to D61184: [Salvage] Change salvage debug info implementation to use new DW_OP_LLVM_convert where needed.
May 13 2019, 10:35 AM · Restricted Project
probinson added a comment to D60386: FileCheck [6/12]: Introduce numeric variable definition.

Starting set of comments on this one. Haven't looked at everything yet.

May 13 2019, 10:22 AM · Restricted Project
probinson committed rGb38e4b28e399: Stop defining negative versions of some lit feature keywords: zlib/nozlib… (authored by probinson).
Stop defining negative versions of some lit feature keywords: zlib/nozlib…
May 13 2019, 10:17 AM
probinson committed rL360603: Stop defining negative versions of some lit feature keywords:.
Stop defining negative versions of some lit feature keywords:
May 13 2019, 10:16 AM

May 10 2019

probinson committed rG8273fdc2a484: Replace 'REQUIRES: nozlib' with '!zlib' because we don't need two ways to say… (authored by probinson).
Replace 'REQUIRES: nozlib' with '!zlib' because we don't need two ways to say…
May 10 2019, 11:47 AM
probinson committed rL360455: Replace 'REQUIRES: nozlib' with '!zlib' because we don't need two ways.
Replace 'REQUIRES: nozlib' with '!zlib' because we don't need two ways
May 10 2019, 11:46 AM
probinson committed rG484603488118: Replace 'REQUIRES: nozlib' with '!zlib' because we don't need two ways to say… (authored by probinson).
Replace 'REQUIRES: nozlib' with '!zlib' because we don't need two ways to say…
May 10 2019, 11:34 AM
probinson committed rC360452: Replace 'REQUIRES: nozlib' with '!zlib' because we don't need two ways.
Replace 'REQUIRES: nozlib' with '!zlib' because we don't need two ways
May 10 2019, 11:34 AM
probinson committed rL360452: Replace 'REQUIRES: nozlib' with '!zlib' because we don't need two ways.
Replace 'REQUIRES: nozlib' with '!zlib' because we don't need two ways
May 10 2019, 11:34 AM
probinson committed rG0c55985bbb40: Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better expresses… (authored by probinson).
Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better expresses…
May 10 2019, 11:08 AM
probinson committed rL360449: Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better.
Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better
May 10 2019, 11:05 AM
probinson committed rGd5d4df98bb9e: Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better expresses… (authored by probinson).
Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better expresses…
May 10 2019, 10:57 AM
probinson committed rL360447: Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better.
Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better
May 10 2019, 10:54 AM
probinson committed rC360447: Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better.
Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better
May 10 2019, 10:54 AM
probinson created D61791: Replace lit feature keyword 'non_COFF' with 'uses_COFF'..
May 10 2019, 8:54 AM · Restricted Project
probinson committed rG4b66e0fd47c9: Replace lit feature keyword 'non-ms-sdk' with 'ms-sdk'; eliminate 'non-ps4-sdk'… (authored by probinson).
Replace lit feature keyword 'non-ms-sdk' with 'ms-sdk'; eliminate 'non-ps4-sdk'…
May 10 2019, 6:42 AM
probinson committed rC360425: Replace lit feature keyword 'non-ms-sdk' with 'ms-sdk'; eliminate.
Replace lit feature keyword 'non-ms-sdk' with 'ms-sdk'; eliminate
May 10 2019, 6:38 AM
probinson committed rL360425: Replace lit feature keyword 'non-ms-sdk' with 'ms-sdk'; eliminate.
Replace lit feature keyword 'non-ms-sdk' with 'ms-sdk'; eliminate
May 10 2019, 6:37 AM
probinson accepted D61680: [X86] Avoid SFB - Fix inconsistent codegen with/without debug info .

LGTM

May 10 2019, 4:55 AM · Restricted Project

May 9 2019

probinson abandoned D61752: Re-enable a test for non-Windows.

@stella.stamenova fixed this using system-windows instead.

May 9 2019, 12:49 PM · Restricted Project