Page MenuHomePhabricator

zoecarver (Zoe Carver)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 28 2019, 10:13 PM (62 w, 9 h)

Email: zoe@zoecarver.com
Username: zoecarver (slack, IRC, github, stackoverflow)

I mostly work on libc++. Feel free to contact me above.

Recent Activity

Yesterday

zoecarver updated the diff for D77563: [libc++] Move C++17 check around optional only in ObjC is_scalar test..
  • Merge branch 'master' into fix/objc-is-scalar
Mon, Apr 6, 11:25 AM · Restricted Project
zoecarver updated the diff for D77563: [libc++] Move C++17 check around optional only in ObjC is_scalar test..
  • Remove std::optional test altogether because it's tested elsewhere
Mon, Apr 6, 11:25 AM · Restricted Project
zoecarver added inline comments to D77563: [libc++] Move C++17 check around optional only in ObjC is_scalar test..
Mon, Apr 6, 9:11 AM · Restricted Project
zoecarver created D77563: [libc++] Move C++17 check around optional only in ObjC is_scalar test..
Mon, Apr 6, 9:11 AM · Restricted Project
zoecarver updated the diff for D77519: Fix __is_pointer builtin type trait to work with Objective-C pointer types..

Diff from master not last commit.

Mon, Apr 6, 9:11 AM · Restricted Project, Restricted Project
zoecarver updated the diff for D77519: Fix __is_pointer builtin type trait to work with Objective-C pointer types..

Fix based on review:

  • Use static_assert directly in the test
  • Update run command to work on non-objc platforms (e.g. linux)
Mon, Apr 6, 9:11 AM · Restricted Project, Restricted Project
zoecarver added a comment to D77519: Fix __is_pointer builtin type trait to work with Objective-C pointer types..

@ldionne of course!

Mon, Apr 6, 8:38 AM · Restricted Project, Restricted Project

Sun, Apr 5

zoecarver created D77519: Fix __is_pointer builtin type trait to work with Objective-C pointer types..
Sun, Apr 5, 7:14 PM · Restricted Project, Restricted Project
zoecarver added reviewers for D77519: Fix __is_pointer builtin type trait to work with Objective-C pointer types.: ldionne, rsmith, EricWF.
Sun, Apr 5, 7:14 PM · Restricted Project, Restricted Project

Fri, Apr 3

zoecarver added a comment to D75905: [libc++][P1115][C++20] Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if..

Sorry, this slipped through my inbox somehow.

Fri, Apr 3, 10:15 AM · Restricted Project

Wed, Apr 1

zoecarver committed rGe6a39f00e8d0: [libcxx] Stop using builtin type traits for is_floating_point and is_arithmetic. (authored by zoecarver).
[libcxx] Stop using builtin type traits for is_floating_point and is_arithmetic.
Wed, Apr 1, 5:28 PM
zoecarver added a comment to D67900: [libc++] Use builtin type traits whenever possible.

@tcwang fixed in e6a39f00e8d0cd3684df54fb03d288efe2969202.

Wed, Apr 1, 5:26 PM · Restricted Project
zoecarver updated subscribers of D67900: [libc++] Use builtin type traits whenever possible.

@tcanens sorry about that. Yes, I meant @tcwang.

Wed, Apr 1, 1:09 PM · Restricted Project
zoecarver updated subscribers of D67900: [libc++] Use builtin type traits whenever possible.

@tcanens I didn't look closely enough at the error. It looks like it's because vector uses numeric limits. I'll revert the changes which will fix the problem so, don't worry about it :)

Wed, Apr 1, 10:41 AM · Restricted Project
zoecarver added a comment to D67900: [libc++] Use builtin type traits whenever possible.

I'm going to plan to revert the is_arithmetic and is_floating_point changes later today. Any objections?

Wed, Apr 1, 10:26 AM · Restricted Project

Tue, Mar 31

zoecarver added a comment to D67900: [libc++] Use builtin type traits whenever possible.

@tcwang here's you're reproducer: https://godbolt.org/z/RJtTBG

Tue, Mar 31, 10:00 PM · Restricted Project
zoecarver added a comment to D67900: [libc++] Use builtin type traits whenever possible.

Also, in the future, it's easier to read the error if you use triple backticks. That way the formatting/indentation isn't messed up.

Tue, Mar 31, 3:27 PM · Restricted Project
zoecarver added a comment to D67900: [libc++] Use builtin type traits whenever possible.

@tcwang I'll try to put together a fix later today. My guess is that one of these type trait builtins doesn't play nice with __float128. But, that's only a guess.

Tue, Mar 31, 3:27 PM · Restricted Project

Wed, Mar 25

zoecarver updated the diff for D66610: [libc++] ECMAScript IdentityEscape is ambiguous (2584).
  • Diff from master (sorry for the bad diff)
Wed, Mar 25, 9:40 PM · Restricted Project
zoecarver updated the diff for D76525: Expose cache line size in __builtin_get_cpu_cache_line_size.
  • Diff from master
Wed, Mar 25, 9:39 PM · Restricted Project
zoecarver added a comment to D76525: Expose cache line size in __builtin_get_cpu_cache_line_size.

@craig.topper I'm not sure what should happen. It should probably just use that CPU (although that's not a great solution). Is there a way to detect if an attribute was used to change the target in which case we could error? What do you think should happen?

Wed, Mar 25, 9:39 PM · Restricted Project
zoecarver updated the diff for D76525: Expose cache line size in __builtin_get_cpu_cache_line_size.
  • Fix based on review comments
Wed, Mar 25, 9:39 PM · Restricted Project
zoecarver added a comment to D76525: Expose cache line size in __builtin_get_cpu_cache_line_size.

@jyknight yes, the current plan is to use it in libc++'s implementation. I can put that implementation (which uses this builtin) up for review before this lands. That way we can discuss the implementation before adding a (possibly unneeded) builtin. Sound good?

Wed, Mar 25, 10:47 AM · Restricted Project
zoecarver committed rGb915aec6b591: Add method to TargetInfo to get CPU cache line size (authored by zoecarver).
Add method to TargetInfo to get CPU cache line size
Wed, Mar 25, 10:16 AM
zoecarver closed D74918: Add method to TargetInfo to get CPU cache line size.
Wed, Mar 25, 10:16 AM · Restricted Project
zoecarver added a comment to D74918: Add method to TargetInfo to get CPU cache line size.

@lebedev.ri my misunderstanding. I'll commit :)

Wed, Mar 25, 10:15 AM · Restricted Project
zoecarver added a comment to D65041: Change requirements on linear_congruential_engine.

Ping.

Wed, Mar 25, 9:43 AM
zoecarver added a comment to D76525: Expose cache line size in __builtin_get_cpu_cache_line_size.

@craig.topper thanks for the comments! I'm going to hold off on updating this until we figure out what's happening with D74918, though.

Wed, Mar 25, 9:10 AM · Restricted Project
zoecarver added a comment to D74918: Add method to TargetInfo to get CPU cache line size.

I don't know enough about clang and llvm to know what is both possible and preferable. @craig.topper @lebedev.ri what is the best course of action here?

Wed, Mar 25, 9:10 AM · Restricted Project

Mon, Mar 23

zoecarver added a comment to D62259: shared_ptr changes from library fundamentals (P0414R2).

@EricWF @ldionne Ping :)

Mon, Mar 23, 4:21 PM · Restricted Project, Restricted Project
zoecarver added a comment to D60849: Use const predicate operators in algorithms .

Ping. I can split this into three patches if that would be better.

Mon, Mar 23, 4:21 PM
zoecarver added a comment to D74918: Add method to TargetInfo to get CPU cache line size.

@craig.topper that would mean that it couldn't be constexpr though, right?

Mon, Mar 23, 3:16 PM · Restricted Project
zoecarver updated the diff for D74918: Add method to TargetInfo to get CPU cache line size.
  • Rebase off master
  • For i386, return 16
Mon, Mar 23, 9:48 AM · Restricted Project
zoecarver added a comment to D74918: Add method to TargetInfo to get CPU cache line size.

@lebedev.ri Where should I put this? Could you maybe point me to another LLVM target API that clang uses that I could base this off? Maybe it should go inside the triple or just be a static function?

Mon, Mar 23, 9:48 AM · Restricted Project
zoecarver committed rG278c00c4ff8b: [libc++] [NFC] Test that correct value category is used in… (authored by zoecarver).
[libc++] [NFC] Test that correct value category is used in…
Mon, Mar 23, 9:16 AM
zoecarver closed D63050: Test that correct value category is used in scoped_allocator_adaptor::construct.
Mon, Mar 23, 9:16 AM · Restricted Project

Sat, Mar 21

zoecarver added inline comments to D74918: Add method to TargetInfo to get CPU cache line size.
Sat, Mar 21, 9:37 AM · Restricted Project

Fri, Mar 20

zoecarver added a comment to D63050: Test that correct value category is used in scoped_allocator_adaptor::construct.

Friendly ping. This patch just tests so its a non-functional change.

Fri, Mar 20, 2:39 PM · Restricted Project
zoecarver updated the diff for D63050: Test that correct value category is used in scoped_allocator_adaptor::construct.
  • Rebase off master
Fri, Mar 20, 2:39 PM · Restricted Project
zoecarver updated the diff for D66610: [libc++] ECMAScript IdentityEscape is ambiguous (2584).
  • Remove now valid bad escape tests
Fri, Mar 20, 2:39 PM · Restricted Project
zoecarver updated the diff for D74918: Add method to TargetInfo to get CPU cache line size.

Fix based on review:

  • update comments
  • return 64 for Core2
Fri, Mar 20, 2:39 PM · Restricted Project
zoecarver added a comment to D74918: Add method to TargetInfo to get CPU cache line size.

I've made the suggested changes. Is there a consensus that this should be moved to LLVM? I think it's fairly clang-specific (given the use case). We can also always move it to LLVM if the need arises in the future.

Fri, Mar 20, 2:39 PM · Restricted Project
zoecarver created D76525: Expose cache line size in __builtin_get_cpu_cache_line_size.
Fri, Mar 20, 2:07 PM · Restricted Project
zoecarver added a comment to D74918: Add method to TargetInfo to get CPU cache line size.

In D76525 I've added a builtin that uses this API. We can use that builtin in libc++.

Fri, Mar 20, 2:07 PM · Restricted Project
zoecarver added reviewers for D76525: Expose cache line size in __builtin_get_cpu_cache_line_size: jfb, EricWF, efriedma, jyknight, echristo, __simt__.
Fri, Mar 20, 2:07 PM · Restricted Project

Thu, Mar 19

zoecarver committed rG9e2207a00bdd: [libc++] fix non-builtin is_void implementation (authored by zoecarver).
[libc++] fix non-builtin is_void implementation
Thu, Mar 19, 11:30 AM
zoecarver added a comment to D67900: [libc++] Use builtin type traits whenever possible.

9e2207a00bddf9cf5f3f58b79dd63d01bb898198 adds the missing closing bracket in the is_void non-builtin implementation. If there's another failure I'll revert all three commits. It's extremely hard to test all paths of this patch because almost every compiler has a different set of the builtins.

Thu, Mar 19, 11:27 AM · Restricted Project
zoecarver committed rG74494d9992bd: [libc++] Don't use __is_fundamental in C++03 mode (authored by zoecarver).
[libc++] Don't use __is_fundamental in C++03 mode
Thu, Mar 19, 10:54 AM
zoecarver added a comment to D67900: [libc++] Use builtin type traits whenever possible.

74494d9992bdf266259f8add410f346971471c46 fixed both the issue with is_fundamental and is_compound (which failed because it's implemented using is_fundamental).

Thu, Mar 19, 10:52 AM · Restricted Project
zoecarver committed rG5ade17e0ca8b: [libc++] Use builtin type traits whenever possible (authored by zoecarver).
[libc++] Use builtin type traits whenever possible
Thu, Mar 19, 10:19 AM
zoecarver closed D67900: [libc++] Use builtin type traits whenever possible.
Thu, Mar 19, 10:18 AM · Restricted Project
zoecarver added a comment to D61878: Change how containers are compared .

Would it be better to make a patch with just the benchmarks?

Thu, Mar 19, 9:45 AM
zoecarver added a comment to D67900: [libc++] Use builtin type traits whenever possible.

The CI just saved me at least half an hour of work (likely more) and three commits :)

Thu, Mar 19, 9:11 AM · Restricted Project
zoecarver updated the diff for D67900: [libc++] Use builtin type traits whenever possible.
  • Remove changes to __underlying_type (I didn't see the is_enum check.)
Thu, Mar 19, 9:11 AM · Restricted Project
zoecarver added a comment to D67900: [libc++] Use builtin type traits whenever possible.

I'll look into the CI failure.

Thu, Mar 19, 9:11 AM · Restricted Project
zoecarver added a comment to D74918: Add method to TargetInfo to get CPU cache line size.

@lebedev.ri LLVM may be better, I'm not sure. If you feel strongly I can move it.

Thu, Mar 19, 9:10 AM · Restricted Project

Wed, Mar 18

zoecarver added a comment to D74918: Add method to TargetInfo to get CPU cache line size.

@kristof.beyls I'll try to bring that up in my libc++ patch, thanks.

Wed, Mar 18, 8:41 AM · Restricted Project

Sat, Mar 14

Herald added a reviewer for D62259: shared_ptr changes from library fundamentals (P0414R2): Restricted Project.

Ping. This patch now has no references to any other patches so it can now be merged immediately.

Sat, Mar 14, 3:02 PM · Restricted Project, Restricted Project
zoecarver added a comment to D74918: Add method to TargetInfo to get CPU cache line size.

There are a lot of different ways we could implement the feature. We may want to only enable it when -march=native, or maybe only in the unstable ABI, and maybe we want to support aligned pairs on some architectures. I think that's an important discussion to have but I'm not sure _this_ patch is the best place to have that discussion.

Sat, Mar 14, 2:31 PM · Restricted Project
zoecarver added a comment to D60368: Add bind_front function (P0356R5).

@EricWF friendly ping.

Sat, Mar 14, 2:30 PM
zoecarver added a comment to D63230: Add observer_ptr.

Ping.

Sat, Mar 14, 2:30 PM
zoecarver updated the diff for D67900: [libc++] Use builtin type traits whenever possible.
  • Support underlying_type and is_enum
Sat, Mar 14, 2:30 PM · Restricted Project
zoecarver updated the diff for D67900: [libc++] Use builtin type traits whenever possible.
  • Rebase off master
  • Add _LIBCPP_TEMPLATE_VIS everwhere
  • Add *_v everywhere
  • Remove add_reference and friends
Sat, Mar 14, 2:30 PM · Restricted Project
Herald added a reviewer for D67900: [libc++] Use builtin type traits whenever possible: Restricted Project.
Sat, Mar 14, 1:57 PM · Restricted Project
zoecarver updated the diff for D66610: [libc++] ECMAScript IdentityEscape is ambiguous (2584).
  • rebase off master
  • address review comments
Sat, Mar 14, 1:25 PM · Restricted Project
zoecarver added a comment to D66610: [libc++] ECMAScript IdentityEscape is ambiguous (2584).

@ldionne thanks for the review! Sorry for the delayed response/update. Last week I was super busy with another project I work on.

Sat, Mar 14, 1:25 PM · Restricted Project

Wed, Mar 11

zoecarver added a comment to D75905: [libc++][P1115][C++20] Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if..

It would be nice if we could remove the calls to std::difference and replace them with a count variable so that we only have to iterate once. It may require adding a __libcpp_ erase function, though.

Wed, Mar 11, 9:13 PM · Restricted Project

Feb 27 2020

zoecarver added a comment to D74918: Add method to TargetInfo to get CPU cache line size.

Here's what I think we should do: continue to have this method just return the cache line size. Then have another method that returns true or false for whether the given architecture supports aligned pairs of cache lines then, users of this (either in clang or libc++) can decide what they want to do.

Feb 27 2020, 7:47 PM · Restricted Project
zoecarver added a comment to D74918: Add method to TargetInfo to get CPU cache line size.

Friendly ping. Any other comments on this?

Feb 27 2020, 1:04 PM · Restricted Project
zoecarver updated the diff for D62259: shared_ptr changes from library fundamentals (P0414R2).
  • Fix failing test after formatting change
Feb 27 2020, 1:04 PM · Restricted Project, Restricted Project
zoecarver updated the diff for D62259: shared_ptr changes from library fundamentals (P0414R2).
  • Run everything through clang-format
Feb 27 2020, 12:23 PM · Restricted Project, Restricted Project
zoecarver updated the diff for D62259: shared_ptr changes from library fundamentals (P0414R2).
  • Remove remaining .rej files
Feb 27 2020, 9:17 AM · Restricted Project, Restricted Project
zoecarver updated the diff for D62259: shared_ptr changes from library fundamentals (P0414R2).
  • Remove accidentally added files (.rej and weak_ptr_Y)
Feb 27 2020, 9:15 AM · Restricted Project, Restricted Project
zoecarver updated the diff for D62259: shared_ptr changes from library fundamentals (P0414R2).
  • Diff from master (not whatever phabricator selected...)
Feb 27 2020, 9:11 AM · Restricted Project, Restricted Project
zoecarver updated the diff for D62259: shared_ptr changes from library fundamentals (P0414R2).
  • Rebase off master
  • Remove references to D66177
  • Incorporate changes (tests) from D62103
Feb 27 2020, 9:10 AM · Restricted Project, Restricted Project
zoecarver abandoned D66177: Update shared_ptr's constructor.
Feb 27 2020, 9:09 AM · Restricted Project
zoecarver abandoned D62103: Update shared_ptr tests to match the standard.

Changed incorporated into D62259.

Feb 27 2020, 9:08 AM
zoecarver added a comment to D66177: Update shared_ptr's constructor.

I'm going to rebase D62259 off master instead of this patch. I'll close this patch for now if you think it would be a good change, I can re-open it later.

Feb 27 2020, 8:49 AM · Restricted Project

Feb 25 2020

zoecarver added a comment to D66177: Update shared_ptr's constructor.

Looking at it again, I'm not sure this patch is really needed. None of my other subsequent patches depend on it. If you want, I'm happy to abandon it. I do think it's not a bad cleanup, though. Anyway, I'd like to close it one way or another (either by committing it or by abandoning it).

Feb 25 2020, 5:03 PM · Restricted Project
zoecarver committed rG28d38a25e963: Remove std::shared_ptr::allocate_shared (authored by zoecarver).
Remove std::shared_ptr::allocate_shared
Feb 25 2020, 4:53 PM
zoecarver closed D66178: Remove std::shared_ptr::make_shared and std::shared_ptr::allocate_shared.
Feb 25 2020, 4:53 PM · Restricted Project, Restricted Project
zoecarver committed rG6201f6601dec: Check args passed to __builtin_frame_address and __builtin_return_address. (authored by zoecarver).
Check args passed to __builtin_frame_address and __builtin_return_address.
Feb 25 2020, 12:50 PM
zoecarver closed D66839: Fix stack address builtin for negative numbers.
Feb 25 2020, 12:49 PM · Restricted Project
zoecarver updated the diff for D66839: Fix stack address builtin for negative numbers.
  • diff from master (arg phab...)
Feb 25 2020, 9:11 AM · Restricted Project
zoecarver added a comment to D66839: Fix stack address builtin for negative numbers.

I was using SemaBuiltinConstantArgRange incorrectly. I was returning an error for !SemaBuiltinConstantArgRange instead of SemaBuiltinConstantArgRange. Also, I only modified the fail tests so I wasn't able to catch the error. Updated and am running both the Sema and CodeGen tests now. Should fix the error.

Feb 25 2020, 9:11 AM · Restricted Project
zoecarver updated the diff for D66839: Fix stack address builtin for negative numbers.
  • Error if SemaBuiltinConstantArgRange returns true, not false
Feb 25 2020, 9:06 AM · Restricted Project

Feb 24 2020

zoecarver committed rG698078257285: Revert "Validate argument passed to __builtin_frame_address and… (authored by zoecarver).
Revert "Validate argument passed to __builtin_frame_address and…
Feb 24 2020, 2:38 PM
zoecarver added a reverting change for rGc93112dc4f74: Validate argument passed to __builtin_frame_address and __builtin_return_address: rG698078257285: Revert "Validate argument passed to __builtin_frame_address and….
Feb 24 2020, 2:38 PM
zoecarver reopened D66839: Fix stack address builtin for negative numbers.

Reverted: 698078257285a044110620d7dab2fb4451a3fa29

Feb 24 2020, 2:38 PM · Restricted Project
zoecarver committed rGc93112dc4f74: Validate argument passed to __builtin_frame_address and __builtin_return_address (authored by zoecarver).
Validate argument passed to __builtin_frame_address and __builtin_return_address
Feb 24 2020, 2:29 PM
zoecarver closed D66839: Fix stack address builtin for negative numbers.

Resolved by c93112dc4f745b0455addb54bfe1c2f79b827c6d

Feb 24 2020, 2:29 PM · Restricted Project
zoecarver updated the diff for D66839: Fix stack address builtin for negative numbers.
  • move verification to SemaChecking
Feb 24 2020, 12:29 PM · Restricted Project
zoecarver abandoned D58004: Bit-casting object representations (p0476r2).
Feb 24 2020, 10:21 AM
zoecarver abandoned D60393: Force is_invocable template parameters to be complete types.
Feb 24 2020, 10:21 AM

Feb 21 2020

zoecarver added inline comments to D74918: Add method to TargetInfo to get CPU cache line size.
Feb 21 2020, 10:34 AM · Restricted Project
zoecarver updated the diff for D66178: Remove std::shared_ptr::make_shared and std::shared_ptr::allocate_shared.
  • Use __create_with_control_block in allocate_shared
Feb 21 2020, 10:32 AM · Restricted Project, Restricted Project
zoecarver added a comment to D66178: Remove std::shared_ptr::make_shared and std::shared_ptr::allocate_shared.

@ldionne friendly ping. This patch now only removes std::shared_ptr::allocate_shared. Should be an easy change. And I think we fixed @phosek's issue by breaking __hold2.get()->get() into a variable so that compilers that parse args backwards still work here.

Feb 21 2020, 10:32 AM · Restricted Project, Restricted Project
zoecarver updated the diff for D66178: Remove std::shared_ptr::make_shared and std::shared_ptr::allocate_shared.
  • Remove std::shared_ptr::allocate_shared
Feb 21 2020, 10:14 AM · Restricted Project, Restricted Project
zoecarver updated the diff for D66178: Remove std::shared_ptr::make_shared and std::shared_ptr::allocate_shared.
  • Remove std::shared_ptr::allocate_shared
Feb 21 2020, 10:14 AM · Restricted Project, Restricted Project
zoecarver updated the diff for D74918: Add method to TargetInfo to get CPU cache line size.
  • Update getCPUCacheLineSize to return optional
Feb 21 2020, 9:46 AM · Restricted Project