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 (372 w, 5 d)

Recent Activity

Fri, Oct 18

jordan_rose added inline comments to D69148: Disable exit-on-SIGPIPE in lldb.
Fri, Oct 18, 9:43 AM · Restricted Project, Restricted Project

Thu, Oct 17

jordan_rose added inline comments to D69148: Disable exit-on-SIGPIPE in lldb.
Thu, Oct 17, 5:09 PM · Restricted Project, Restricted Project

Thu, Oct 10

jordan_rose committed rG7b5c8792431f: Get ClangdXPC.framework building (barely) with CMake's Xcode generator (authored by jordan_rose).
Get ClangdXPC.framework building (barely) with CMake's Xcode generator
Thu, Oct 10, 6:26 PM
jordan_rose closed D68846: Do the bare minimum to get ClangdXPC.framework building with CMake's Xcode generator.

Committed in rCTE374494.

Thu, Oct 10, 6:26 PM · Restricted Project
jordan_rose created D68846: Do the bare minimum to get ClangdXPC.framework building with CMake's Xcode generator.
Thu, Oct 10, 5:58 PM · Restricted Project
jordan_rose committed rGaab67b571a3d: ADT: Save a word in every StringSet entry (authored by jordan_rose).
ADT: Save a word in every StringSet entry
Thu, Oct 10, 1:26 PM
jordan_rose closed D68586: Save a word in every StringSet entry.

Committed in rL374440. I split the difference and put the EBO comment in the commit message.

Thu, Oct 10, 1:25 PM · Restricted Project
jordan_rose added a comment to D68586: Save a word in every StringSet entry.

Any idea why MDString is friending an implementation detail like this? Should it be? Could we make it an actual private implementation detail so people can't do this?

Thu, Oct 10, 1:25 PM · Restricted Project
jordan_rose added a reviewer for D68586: Save a word in every StringSet entry: dblaikie.
Thu, Oct 10, 11:50 AM · Restricted Project

Tue, Oct 8

jordan_rose committed rGcb8292274a22: Mark several PointerIntPair methods as lvalue-only (authored by jordan_rose).
Mark several PointerIntPair methods as lvalue-only
Tue, Oct 8, 12:03 PM
jordan_rose closed D63945: Mark several PointerIntPair methods as lvalue-only.

Committed in rL374102.

Tue, Oct 8, 12:03 PM · Restricted Project

Mon, Oct 7

jordan_rose committed rGfdaa74217420: Second attempt to add iterator_range::empty() (authored by jordan_rose).
Second attempt to add iterator_range::empty()
Mon, Oct 7, 10:17 PM
jordan_rose added a reviewer for D68044: [LitConfig] Silenced notes/warnings on quiet.: yln.
Mon, Oct 7, 3:39 PM · Restricted Project
jordan_rose updated the diff for D68586: Save a word in every StringSet entry.

Fixed bad uses of StringSet, changed a friend from StringMapEntry to StringMapEntryStorage. The fact that I only had to do this in one place (and that one place is definitely doing something tricky) makes me still feel confident enough to make this change.

Mon, Oct 7, 1:09 PM · Restricted Project
jordan_rose added a comment to D68586: Save a word in every StringSet entry.

Hm, doesn't quite work yet but I'll get there.

Mon, Oct 7, 11:43 AM · Restricted Project
jordan_rose created D68586: Save a word in every StringSet entry.
Mon, Oct 7, 11:40 AM · Restricted Project
jordan_rose closed D68439: Second attempt to add iterator_range::empty().

Committed in rL373935 (with the update for AMDGPURegisterBankInfo.cpp).

Mon, Oct 7, 11:12 AM · Restricted Project

Fri, Oct 4

jordan_rose committed rG5fd467feb813: [CMake] Clang: Don't use object libraries with Xcode (authored by jordan_rose).
[CMake] Clang: Don't use object libraries with Xcode
Fri, Oct 4, 11:20 AM
jordan_rose closed D68430: Don't use object libraries with Xcode.

Committed as rC373769.

Fri, Oct 4, 11:20 AM · Restricted Project
jordan_rose updated the diff for D68430: Don't use object libraries with Xcode.

Okay, having Xcode force-load the static libraries doesn't seem bad at all.

Fri, Oct 4, 11:04 AM · Restricted Project
jordan_rose added a comment to D68430: Don't use object libraries with Xcode.

clang_cpp can't link the libraries "normally" because it has no unresolved symbols to force the contents of the libraries to link. I don't like it, but I think the best option is to disable clang_cpp under Xcode. You can add AND XCODE to the if on line 2 of clang/tools/clang-shlib/CMakeLists.txt, and that should do the trick.

Fri, Oct 4, 10:33 AM · Restricted Project

Thu, Oct 3

jordan_rose added a comment to rL361944: [ADT] add iterator_range::empty().

Okay, new patch set at D68439.

Thu, Oct 3, 6:36 PM
jordan_rose created D68439: Second attempt to add iterator_range::empty().
Thu, Oct 3, 6:36 PM · Restricted Project
jordan_rose added a comment to D68430: Don't use object libraries with Xcode.

I'm not quite sure what it's doing. The executable targets end up trying to link against the static libraries anyway, which of course haven't been built. It's possible that this is because the LIBTYPE is both STATIC and OBJECT and if it were just OBJECT we might be better off, but I'm not sure if Xcode's IDE features will be happy with a target that doesn't actually produce a library. I can try it if you want, though.

Thu, Oct 3, 6:19 PM · Restricted Project
jordan_rose created D68430: Don't use object libraries with Xcode.
Thu, Oct 3, 3:15 PM · Restricted Project

Wed, Oct 2

jordan_rose added a comment to rL361944: [ADT] add iterator_range::empty().

I don't. I know Swift's (hopefully superfluous) version of the same code works fine on the MSVC's we support, though: https://github.com/apple/swift/blob/da1002025323cc4199439b10d4c7bac11322d22c/include/swift/Basic/STLExtras.h#L267

Wed, Oct 2, 1:11 PM
jordan_rose added a comment to rL361944: [ADT] add iterator_range::empty().

I'd like to try adding this back. Do you remember what the failure was? Maybe we can try calling begin() and end() instead of using the fields directly?

Wed, Oct 2, 11:12 AM

Wed, Sep 25

jordan_rose added a comment to D68044: [LitConfig] Silenced notes/warnings on quiet..

Definitely in favor. :-)

Wed, Sep 25, 1:26 PM · Restricted Project

Sep 3 2019

jordan_rose retitled D67138: Tweak StringRef operators for ever-so-slightly smaller assembly from Tweak StringRef operators for ever-so-slightly faster assembly to Tweak StringRef operators for ever-so-slightly smaller assembly.
Sep 3 2019, 6:20 PM · Restricted Project
jordan_rose created D67138: Tweak StringRef operators for ever-so-slightly smaller assembly.
Sep 3 2019, 6:20 PM · Restricted Project

Aug 16 2019

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
Aug 16 2019, 10:18 AM
jordan_rose closed D66326: Fix llvm-config support for CMake build-mode-style builds.

Committed as rL369129.

Aug 16 2019, 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.

Aug 16 2019, 10:17 AM · Restricted Project

Aug 15 2019

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

Jul 25 2019

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.

Jul 25 2019, 11:50 AM · Restricted Project, 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.

Jul 25 2019, 10:26 AM · Restricted Project, 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.

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

Jul 24 2019

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.
Jul 24 2019, 5:34 PM · Restricted Project, 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.

Jul 24 2019, 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.

Jul 24 2019, 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