Page MenuHomePhabricator

jordan_rose (Jordan Rose)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 29 2012, 11:21 AM (363 w, 6 d)

Recent Activity

Fri, Aug 16

jordan_rose committed rGea0ace75e034: Fix llvm-config support for CMake build-mode-style builds (authored by jordan_rose).
Fix llvm-config support for CMake build-mode-style builds
Fri, Aug 16, 10:18 AM
jordan_rose closed D66326: Fix llvm-config support for CMake build-mode-style builds.

Committed as rL369129.

Fri, Aug 16, 10:17 AM · Restricted Project
jordan_rose added a comment to D66326: Fix llvm-config support for CMake build-mode-style builds.

libcxx is using llvm-config to find the CMake exports; that's actually what prompted this change.

Fri, Aug 16, 10:17 AM · Restricted Project

Thu, Aug 15

jordan_rose created D66326: Fix llvm-config support for CMake build-mode-style builds.
Thu, Aug 15, 5:27 PM · Restricted Project
jordan_rose added inline comments to D66326: Fix llvm-config support for CMake build-mode-style builds.
Thu, Aug 15, 5:27 PM · Restricted Project

Thu, Jul 25

jordan_rose added a comment to D65256: [Sema][ObjC] Mark C union fields that have non-trivial ObjC ownership qualifications as unavailable if the union is declared in a system header.

Sorry, am I missing something? Such a union would've been either ill-formed or unavailable in ARC (depending on where it was declared) before this recent work.

Thu, Jul 25, 11:50 AM · Restricted Project
jordan_rose added a comment to D65256: [Sema][ObjC] Mark C union fields that have non-trivial ObjC ownership qualifications as unavailable if the union is declared in a system header.

I'm personally still of the opinion that allowing non-trivial fields in unions was a mistake, but it's too late to change that as well.

Thu, Jul 25, 10:26 AM · Restricted Project
jordan_rose added a comment to D65256: [Sema][ObjC] Mark C union fields that have non-trivial ObjC ownership qualifications as unavailable if the union is declared in a system header.

These were unavailable in system headers before because otherwise we would've had to make them invalid. Since these unions are no longer otherwise invalid, there shouldn't be a problem with allowing them in system headers, and in fact making the semantics vary that way seems quite problematic. Now, specific *uses* in system headers might still appear to be invalid — e.g. an ObjC ivar of type union { __strong id x; } — and the right behavior is definitely that those use sites should be marked as invalid instead of refusing to compile the system header.

Thu, Jul 25, 10:26 AM · Restricted Project

Wed, Jul 24

jordan_rose added inline comments to D65256: [Sema][ObjC] Mark C union fields that have non-trivial ObjC ownership qualifications as unavailable if the union is declared in a system header.
Wed, Jul 24, 5:34 PM · Restricted Project
jordan_rose added a comment to D65235: CrashHandler: be careful about crashing while handling.

Sure, I guess. I suspect most crashes-while-crashing are from the PrettyStackTrace machinery, not these allocations, but you're right that we can get a partial string out of it if it's short enough.

Wed, Jul 24, 12:03 PM · Restricted Project
jordan_rose added a comment to D65212: [analyzer] Fix exporting SARIF files from scan-build on Windows.

Oops. It looks like there's another place where this pattern shows up (see rC139382). The other one should probably be changed as well.

Wed, Jul 24, 10:22 AM · Restricted Project

Jul 18 2019

jordan_rose closed D64940: FileSystem: Check for DTTOIF alone, not _DIRENT_HAVE_D_TYPE.

Committed as rL366486.

Jul 18 2019, 1:43 PM · Restricted Project
jordan_rose committed rG887d31cceee2: FileSystem: Check for DTTOIF alone, not _DIRENT_HAVE_D_TYPE (authored by jordan_rose).
FileSystem: Check for DTTOIF alone, not _DIRENT_HAVE_D_TYPE
Jul 18 2019, 1:08 PM
jordan_rose created D64940: FileSystem: Check for DTTOIF alone, not _DIRENT_HAVE_D_TYPE.
Jul 18 2019, 11:58 AM · Restricted Project

Jul 17 2019

Herald added a project to D51918: [Support] sys::fs::directory_entry includes the file_type.: Restricted Project.
Jul 17 2019, 3:51 PM · Restricted Project

Jul 12 2019

jordan_rose committed rGbe28cddeeaa6: Support for dumping current PrettyStackTrace on SIGINFO (Ctrl-T) (authored by jordan_rose).
Support for dumping current PrettyStackTrace on SIGINFO (Ctrl-T)
Jul 12 2019, 9:06 AM
jordan_rose closed D63750: Dump current PrettyStackTrace on SIGINFO (Ctrl-T).

Merged in rL365911.

Jul 12 2019, 9:05 AM · Restricted Project

Jul 11 2019

jordan_rose added inline comments to D63750: Dump current PrettyStackTrace on SIGINFO (Ctrl-T).
Jul 11 2019, 9:25 AM · Restricted Project
jordan_rose added inline comments to D63750: Dump current PrettyStackTrace on SIGINFO (Ctrl-T).
Jul 11 2019, 9:19 AM · Restricted Project

Jul 1 2019

jordan_rose added a comment to D63943: ObjC: Squeeze in one more bit for the count of protocols in 'id' types.

Yeah, I'll write one.

Jul 1 2019, 2:46 PM · Restricted Project
jordan_rose resigned from D64030: [analyzer] Support kfree in MallocChecker.
Jul 1 2019, 1:11 PM · Restricted Project, Restricted Project

Jun 28 2019

jordan_rose created D63945: Mark several PointerIntPair methods as lvalue-only.
Jun 28 2019, 11:13 AM · Restricted Project
jordan_rose created D63943: ObjC: Squeeze in one more bit for the count of protocols in 'id' types.
Jun 28 2019, 10:58 AM · Restricted Project

Jun 25 2019

jordan_rose updated the diff for D63750: Dump current PrettyStackTrace on SIGINFO (Ctrl-T).

Made it a per-thread opt-in, leaving the potential for it to be useful in multi-threaded programs. (It's off by default.) Also added a SaveAndRestore of errno for SIGINFO handlers, though this one doesn't need it.

Jun 25 2019, 11:32 AM · Restricted Project
jordan_rose added inline comments to D63750: Dump current PrettyStackTrace on SIGINFO (Ctrl-T).
Jun 25 2019, 8:51 AM · Restricted Project

Jun 24 2019

jordan_rose created D63750: Dump current PrettyStackTrace on SIGINFO (Ctrl-T).
Jun 24 2019, 7:48 PM · Restricted Project

Jun 17 2019

jordan_rose added inline comments to D62319: IR: add 'byval(<ty>)' variant to 'byval' function parameters.
Jun 17 2019, 2:54 PM · Restricted Project

Apr 17 2019

jordan_rose added inline comments to D60543: [clang] Update isDerivedFrom to support Objective-C classes 🔍.
Apr 17 2019, 11:22 AM · Restricted Project, Restricted Project
jordan_rose added inline comments to D60543: [clang] Update isDerivedFrom to support Objective-C classes 🔍.
Apr 17 2019, 11:12 AM · Restricted Project, Restricted Project
jordan_rose added inline comments to D60543: [clang] Update isDerivedFrom to support Objective-C classes 🔍.
Apr 17 2019, 11:03 AM · Restricted Project, Restricted Project

Mar 29 2019

jordan_rose added a comment to D59806: [clang-tidy] Add a check for [super self] in initializers 🔍.

Ooh, I should have remembered "designated initializer". I guess it doesn't matter so much either way.

Mar 29 2019, 3:48 PM · Restricted Project, Restricted Project
jordan_rose added a comment to D59806: [clang-tidy] Add a check for [super self] in initializers 🔍.

I don't think there's ever a reason to call [super self], and doing so through a macro could easily indicate a bug.

Mar 29 2019, 9:36 AM · Restricted Project, Restricted Project

Mar 26 2019

jordan_rose added inline comments to D59628: Add support for __attribute__((objc_class_stub)).
Mar 26 2019, 3:02 PM · Restricted Project
jordan_rose created D59831: [CMake] macOS: Find DebugSymbols.framework inside the SDK.
Mar 26 2019, 11:38 AM · Restricted Project

Mar 25 2019

jordan_rose added a comment to D59755: gitignore: Ignore in-tree Swift builds.

This definitely makes sense for Swift's downstream fork of LLVM, but I'm not sure it makes sense upstream. I'm not sure how much special treatment we want to give Swift-the-project in the LLVM repo.

Mar 25 2019, 9:54 AM · Restricted Project

Mar 12 2019

jordan_rose accepted D59176: Modules: Add LangOptions::CacheGeneratedPCH.
Mar 12 2019, 10:38 AM

Mar 11 2019

jordan_rose added a comment to D59176: Modules: Add LangOptions::CacheGeneratedPCH.

This commit by itself doesn't change any behavior, right?

Mar 11 2019, 10:25 AM
jordan_rose accepted D59197: [NFC][clang][PCH][ObjC] Add some missing `VisitStmt(S);`.

I'm no Clang serialization expert but this makes sense to me. It's consistent with all the other statement visitor methods.

Mar 11 2019, 10:20 AM · Restricted Project

Jan 23 2019

jordan_rose added a comment to D57076: [ObjC generics] Fix applying `__kindof` to the type parameter..

I think this is reasonable but Doug was the one who worked on this. I wonder if it also helps with the test cases in rdar://problem/24619481.

Jan 23 2019, 1:28 PM · Restricted Project

Dec 21 2018

jordan_rose added a comment to D55865: [ObjC] Add a new attribute to opt-out of implicit callee retain/release in ARC.

I think Aaron and John have covered any comments I would make! I'm glad this came out so simply, though. I was afraid it'd be a much larger change than just expanding what was already there.

Dec 21 2018, 9:11 AM

Aug 30 2018

jordan_rose added a comment to D51317: Handle BumpPtrAllocator::Allocate(0) without undefined behavior.

> If we do take this answer, we should *still* go to all clients and see if a zero-length check makes sense. "Copying" an empty string or empty array should definitely not result in an allocation.
In that case, should we just assert about it in the allocator?

Aug 30 2018, 10:35 AM

Aug 28 2018

jordan_rose added a comment to D51317: Handle BumpPtrAllocator::Allocate(0) without undefined behavior.

If we do take this answer, we should *still* go to all clients and see if a zero-length check makes sense. "Copying" an empty string or empty array should definitely not result in an allocation.

Aug 28 2018, 1:20 PM

Aug 27 2018

jordan_rose added a comment to D51317: Handle BumpPtrAllocator::Allocate(0) without undefined behavior.

I'm not sure whether it's better to do this or to remove LLVM_ATTRIBUTE_RETURNS_NONNULL. I'll defer to Hans or others on that, since I'm not a frequent LLVM contributor these days.

Aug 27 2018, 2:16 PM

Aug 14 2018

jordan_rose resigned from D49672: [CMake] Honor LLVM_EXTERNAL_<proj>_SOURCE_DIR.

I'd like to help but I'm not a full-time LLVM contributor anymore, so I don't think I can be the one to sign off on it. I don't know who works on LLVM's CMake these days.

Aug 14 2018, 9:13 AM · Restricted Project

Jul 23 2018

jordan_rose added a comment to D49672: [CMake] Honor LLVM_EXTERNAL_<proj>_SOURCE_DIR.

I'm not much of an LLVM committer these days but I see no problems with this.

Jul 23 2018, 9:56 AM · Restricted Project

Jul 18 2018

jordan_rose added a comment to D49443: [analyzer] Support function argument constructors..

Cool stuff! I didn't look at things line-by-line, but here's a few comments anyway.

Jul 18 2018, 11:51 AM

Jul 16 2018

jordan_rose added inline comments to D22391: [Sema] Add warning for implicitly casting a null constant to a non null pointer type .
Jul 16 2018, 11:22 AM

Jul 10 2018

jordan_rose updated subscribers of D22391: [Sema] Add warning for implicitly casting a null constant to a non null pointer type .

Sorry for the delay. I think this is mostly good, but I do still have a concern about the diagnostics change.

Jul 10 2018, 10:19 AM

Jul 3 2018

jordan_rose added inline comments to D48750: Use PointerIntPair in llvm::Error instead of hand-rolling it.
Jul 3 2018, 5:02 PM

Jun 28 2018

jordan_rose created D48750: Use PointerIntPair in llvm::Error instead of hand-rolling it.
Jun 28 2018, 2:58 PM

Jun 18 2018

jordan_rose added inline comments to D38833: BitstreamWriter: Better assertion when a block's abbrev code size is too small.
Jun 18 2018, 9:54 AM · Restricted Project
jordan_rose requested review of D38833: BitstreamWriter: Better assertion when a block's abbrev code size is too small.

Thanks, Roman. Too bad this is such a stable piece of LLVM, or else I'd have more people qualified to review!

Jun 18 2018, 8:47 AM · Restricted Project

Jun 15 2018

jordan_rose added a reviewer for D48251: Assert on implicit truncation in llvm::endian::Writer: zturner.
Jun 15 2018, 6:01 PM
jordan_rose created D48251: Assert on implicit truncation in llvm::endian::Writer.
Jun 15 2018, 6:00 PM
jordan_rose closed D48197: Avoid copying PrettyStackTrace messages an extra time on Apple platforms.

Committed in rL334841.

Jun 15 2018, 9:40 AM

Jun 14 2018

jordan_rose created D48197: Avoid copying PrettyStackTrace messages an extra time on Apple platforms.
Jun 14 2018, 2:12 PM
jordan_rose added inline comments to D38833: BitstreamWriter: Better assertion when a block's abbrev code size is too small.
Jun 14 2018, 9:30 AM · Restricted Project

Jun 13 2018

jordan_rose updated the diff for D38833: BitstreamWriter: Better assertion when a block's abbrev code size is too small.

Took recommendation about the form of the check, pumped up the tests.

Jun 13 2018, 7:23 PM · Restricted Project
jordan_rose added inline comments to D38833: BitstreamWriter: Better assertion when a block's abbrev code size is too small.
Jun 13 2018, 2:07 PM · Restricted Project
jordan_rose added inline comments to D38833: BitstreamWriter: Better assertion when a block's abbrev code size is too small.
Jun 13 2018, 2:06 PM · Restricted Project
jordan_rose closed D48108: Handle an Xcode path with spaces in it.

Landed in rL334632. Turns out the iOS.cmake part has been refactored since the version I was looking at (Swift 4.2's branch of LLVM), and so this was just the libtool change.

Jun 13 2018, 11:29 AM
jordan_rose added a reviewer for D38833: BitstreamWriter: Better assertion when a block's abbrev code size is too small: tejohnson.

Reviving this old review. I'd like *someone* to tell me I didn't miss something.

Jun 13 2018, 9:40 AM · Restricted Project

Jun 12 2018

jordan_rose created D48108: Handle an Xcode path with spaces in it.
Jun 12 2018, 4:57 PM

May 7 2018

jordan_rose closed D44317: Delete the copy constructor for llvm::yaml::Node.

Landed in rL328345.

May 7 2018, 2:49 PM

Apr 9 2018

jordan_rose added a comment to D45140: [Support] Change std::sort to llvm::sort in response to r327219.

Exactly that's what I thought too, and llvm::sort already accepts a range (Container.begin(), Container.end()). In that case, could you please clarify what exactly do you mean by a "range-based variant" and its use cases in LLVM?

Apr 9 2018, 11:41 AM
jordan_rose added a comment to D45140: [Support] Change std::sort to llvm::sort in response to r327219.

Are there instances in llvm where we perform range-based sorting? I see that std has an experimental range-based sort (std::experimental::ranges::sort) which I don't see being used in llvm.

Apr 9 2018, 11:14 AM

Apr 6 2018

jordan_rose accepted D45003: [Support] Make line-number cache robust against access patterns..

Ah, yes, Graydon's convinced me that the change will work and will not regress memory usage terribly, and the new tests look good.

Apr 6 2018, 9:52 AM

Apr 2 2018

jordan_rose added a comment to D45140: [Support] Change std::sort to llvm::sort in response to r327219.

I'm a little disappointed that llvm::sort got added without providing a range-based variant, the way we did for llvm::none_of and llvm::find and others. (I wasn't watching the original thread.) I see no problem with these changes, though!

Apr 2 2018, 9:49 AM

Mar 30 2018

jordan_rose added a comment to D45003: [Support] Make line-number cache robust against access patterns..

That seems about as clever as possible—anything more and it would definitely be overboard. Can you add tests with 255-, 256-, and 257-byte buffers, then? With and without newlines as the last character, and testing the just-past-the-end pointer in addition to something in-bounds?

Mar 30 2018, 9:58 AM

Mar 29 2018

jordan_rose added a comment to D45003: [Support] Make line-number cache robust against access patterns..

And those that do, assume a file is (say) 1000 lines long, it'll cost 8kb to index. Even if we indexed a thousand such files -- a diagnostic in every file of a large project! -- we'd only be talking 8mb.

Mar 29 2018, 10:03 AM
jordan_rose added a comment to D45019: [ADT] NFC: Fix bogus StringSwitch rule-of-five boilerplate.

That's a source compatibility break, but not one that's likely to matter in practice. LGTM.

Mar 29 2018, 9:46 AM

Mar 28 2018

jordan_rose added a comment to D45003: [Support] Make line-number cache robust against access patterns..

That's potentially a lot more memory usage, since the various vectors never get freed. Have you measured what the effect on memory usage is on a large Swift project with diagnostics in many files?

Mar 28 2018, 4:18 PM

Mar 22 2018

jordan_rose closed D44498: Sink PrettyDeclStackTrace down to the AST library.

Committed in rL328276.

Mar 22 2018, 5:10 PM

Mar 14 2018

jordan_rose created D44498: Sink PrettyDeclStackTrace down to the AST library.
Mar 14 2018, 3:30 PM

Mar 9 2018

jordan_rose created D44317: Delete the copy constructor for llvm::yaml::Node.
Mar 9 2018, 10:31 AM

Mar 1 2018

jordan_rose added a comment to D43162: [Parser] (C++) Make -Wextra-semi slightly more useful.

It's been a long time since that commit, but I think the difference is that -pedantic / Extension-type diagnostics are magic and -Wc++98-compat-pedantic is not. I like Richard's way better and if it could be applied to -Wnewline-eof later as well then that sounds great.

Mar 1 2018, 10:30 AM · Restricted Project

Feb 26 2018

jordan_rose accepted D43436: [Perf] Simplify llvm::StringSwitch and improve incremental rebuild by 54%.

Go for it!

Feb 26 2018, 10:16 AM

Feb 20 2018

jordan_rose added inline comments to D43436: [Perf] Simplify llvm::StringSwitch and improve incremental rebuild by 54%.
Feb 20 2018, 10:35 AM

Feb 19 2018

jordan_rose added inline comments to D43436: [Perf] Simplify llvm::StringSwitch and improve incremental rebuild by 54%.
Feb 19 2018, 9:51 AM
jordan_rose added inline comments to D43436: [Perf] Simplify llvm::StringSwitch and improve incremental rebuild by 54%.
Feb 19 2018, 8:29 AM

Nov 27 2017

jordan_rose edited reviewers for D40463: [analyzer] Fix false negative on post-increment of uninitialized variable., added: NoQ; removed: dergachev.a.
Nov 27 2017, 10:17 AM · Restricted Project
jordan_rose edited reviewers for D40463: [analyzer] Fix false negative on post-increment of uninitialized variable., added: dergachev.a; removed: krememek, jordan_rose.
Nov 27 2017, 10:16 AM · Restricted Project

Oct 23 2017

jordan_rose closed D39035: Unnamed bitfields don't block constant evaluation of constexpr constructors.

Landed in rL316408.

Oct 23 2017, 7:25 PM · Restricted Project

Oct 20 2017

jordan_rose added a comment to D39035: Unnamed bitfields don't block constant evaluation of constexpr constructors.

Thanks, Aaron!

Oct 20 2017, 10:42 AM · Restricted Project

Oct 17 2017

jordan_rose created D39035: Unnamed bitfields don't block constant evaluation of constexpr constructors.
Oct 17 2017, 8:03 PM · Restricted Project

Oct 13 2017

jordan_rose closed D38207: lit.py: Add new %{shared_output(LABEL)} substitution.

Committed in rL315697.

Oct 13 2017, 9:12 AM

Oct 12 2017

jordan_rose added a comment to D38865: Add DK_Remark to SMDiagnostic.

Seems reasonable to me. I don't know anything about the MIR parser's use of diagnostics, though.

Oct 12 2017, 4:50 PM

Oct 11 2017

jordan_rose created D38833: BitstreamWriter: Better assertion when a block's abbrev code size is too small.
Oct 11 2017, 5:34 PM · Restricted Project

Sep 27 2017

jordan_rose accepted D38327: [Sema] Put nullability fix-it after the end of the pointer..

Nice catch, Volodymyr! Looks good to me.

Sep 27 2017, 12:37 PM

Sep 25 2017

jordan_rose updated the diff for D38207: lit.py: Add new %{shared_output(LABEL)} substitution.

Remove debugging prints.

Sep 25 2017, 5:02 AM
jordan_rose abandoned D38010: lit.py: Allow configs and local configs to have a setup_script entry.

@ddunbar convinced me in person that this is either overkill or doesn't go far enough: as long as there's a shared directory, either there can just be a common setup task at the start of each test that does its own ad hoc filesystem-based synchronization, or we might as well go all the way to full-on inter-test dependencies. I'm going to split out the shared directory stuff into a separate patch and go play with the idea of dependencies for a bit.

Sep 25 2017, 5:02 AM
jordan_rose created D38207: lit.py: Add new %{shared_output(LABEL)} substitution.
Sep 25 2017, 5:02 AM

Sep 19 2017

jordan_rose updated the diff for D38010: lit.py: Allow configs and local configs to have a setup_script entry.

Move setup code from execute_tests_in_pool to execute_tests.

Sep 19 2017, 5:33 PM
jordan_rose added a comment to D38010: lit.py: Allow configs and local configs to have a setup_script entry.

Yep, that's not bad either. I'm not super happy with the idea of lit.local.cfg parsing relying on running in the same process as lit itself, but maybe that ship has sailed.

Sep 19 2017, 4:46 PM
jordan_rose added a comment to D38010: lit.py: Allow configs and local configs to have a setup_script entry.

Oh, no, I definitely need an arbitrarily complex script. Swift wants to prebuild mock libraries shared by several test cases. Today we're either doing it once per test case or using a terrible hack mode that can parse source on the fly.

Sep 19 2017, 4:12 PM
jordan_rose added a comment to D38010: lit.py: Allow configs and local configs to have a setup_script entry.

You mentioned you want to make this work with the multiprocessing pool. That worries me a little bit because different processes are going to be using the same shared output dir (which isn't created up front by the infrastructure), if I understand correctly. Like if you have A and A/B and A/C, then we will run the setup script 3 times in parallel all using the same shared output folder. Is this going to be a source of flakiness?

Sep 19 2017, 3:49 PM
jordan_rose added a comment to D37756: [lit] Force site configs to be run before source-tree configs.

Previously I was just able to do this:

Sep 19 2017, 3:45 PM
jordan_rose updated the diff for D38010: lit.py: Allow configs and local configs to have a setup_script entry.

Make setup_script refer to a Python script rather than an arbitrary executable, as suggested by @zturner.

Sep 19 2017, 3:29 PM
jordan_rose added a comment to D37756: [lit] Force site configs to be run before source-tree configs.

I'm unhappy that I can't run lit's own tests without having to configure, though. That seems like a regression.

Sep 19 2017, 3:12 PM
jordan_rose added inline comments to D38010: lit.py: Allow configs and local configs to have a setup_script entry.
Sep 19 2017, 11:48 AM