Page MenuHomePhabricator

zoecarver (Zoe Carver)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 28 2019, 10:13 PM (86 w, 3 d)

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 added a comment to D60368: Add bind_front function (P0356R5).

@ldionne no rush, but this is ready for re-review whenever you have time.

Wed, Sep 23, 4:09 PM · Restricted Project
zoecarver updated the diff for D60368: Add bind_front function (P0356R5).
  • Add more test cases.
Wed, Sep 23, 4:09 PM · Restricted Project

Tue, Sep 22

zoecarver updated the diff for D87974: [Builtin] Add __builtin_zero_non_value_bits..
  • Add more test cases.
  • Fix typo.
  • Add codegen tests.
Tue, Sep 22, 5:46 PM · Restricted Project
zoecarver retitled D87974: [Builtin] Add __builtin_zero_non_value_bits. from Summary: [Builtin] Add __builtin_zero_non_value_bits. to [Builtin] Add __builtin_zero_non_value_bits..
Tue, Sep 22, 9:32 AM · Restricted Project

Sun, Sep 20

zoecarver added inline comments to D60368: Add bind_front function (P0356R5).
Sun, Sep 20, 2:27 PM · Restricted Project
zoecarver updated the diff for D60368: Add bind_front function (P0356R5).
  • constexpr -> _LIBCPP_CONSTEXPR_AFTER_CXX11 in front of invoke
Sun, Sep 20, 2:26 PM · Restricted Project
zoecarver updated the diff for D60368: Add bind_front function (P0356R5).
  • Make all constructors and members in callable_types constexpr.
  • Make invoke use __invoke_constexpr after C++17.
  • Update bind_front.pass.cpp to run all tests in a constexpr context as well.
  • Remove inline prefix.
Sun, Sep 20, 2:24 PM · Restricted Project
zoecarver added inline comments to D87974: [Builtin] Add __builtin_zero_non_value_bits..
Sun, Sep 20, 1:35 PM · Restricted Project

Sat, Sep 19

zoecarver updated the summary of D87974: [Builtin] Add __builtin_zero_non_value_bits..
Sat, Sep 19, 1:32 PM · Restricted Project
zoecarver requested review of D87974: [Builtin] Add __builtin_zero_non_value_bits..
Sat, Sep 19, 1:25 PM · Restricted Project

Fri, Sep 18

zoecarver updated the diff for D60368: Add bind_front function (P0356R5).
  • Remove rejected files and files from incorrectly applied diff
Fri, Sep 18, 11:13 AM · Restricted Project
zoecarver added inline comments to D60368: Add bind_front function (P0356R5).
Fri, Sep 18, 11:13 AM · Restricted Project
zoecarver updated the diff for D60368: Add bind_front function (P0356R5).
  • Rebase and address review comments
  • Add _LIBCPP_INLINE_VISIBILITY
Fri, Sep 18, 11:08 AM · Restricted Project

Tue, Sep 15

zoecarver added inline comments to D60368: Add bind_front function (P0356R5).
Tue, Sep 15, 6:01 PM · Restricted Project

Mon, Sep 14

zoecarver added a reverting change for rG1ec02efee9b1: [libc++] Make rotate a constexpr.: rGed653184ac63: Revert "[libc++] Make rotate a constexpr.".
Mon, Sep 14, 2:54 PM
zoecarver committed rGed653184ac63: Revert "[libc++] Make rotate a constexpr." (authored by zoecarver).
Revert "[libc++] Make rotate a constexpr."
Mon, Sep 14, 2:54 PM
zoecarver added a reverting change for D65721: Make rotate a constexpr: rGed653184ac63: Revert "[libc++] Make rotate a constexpr.".
Mon, Sep 14, 2:54 PM · Restricted Project
zoecarver added a comment to D65721: Make rotate a constexpr.

@ldionne thanks for your patience with this patch. It's great to finally get it in.

Mon, Sep 14, 1:58 PM · Restricted Project
zoecarver committed rG1ec02efee9b1: [libc++] Make rotate a constexpr. (authored by zoecarver).
[libc++] Make rotate a constexpr.
Mon, Sep 14, 1:57 PM
zoecarver closed D65721: Make rotate a constexpr.
Mon, Sep 14, 1:57 PM · Restricted Project
zoecarver abandoned D69344: [libcxx] Add move constructor to compressed pair.

I think I originally created this as a precursor to D62274. But, I don't think it's needed anymore.

Mon, Sep 14, 1:43 PM · Restricted Project

Sun, Sep 13

zoecarver closed D62928: Constrain function assignment operator (2574).

Resolved by 8aa2266fd8dd237c84daf12c2eec0df244558f49.

Sun, Sep 13, 10:00 PM · Restricted Project

Aug 1 2020

zoecarver added a comment to D84943: [libc++] Remove workarounds for missing rvalue references.

Not sure if this is the right patch or if it would be better as a follow-up, but there are a lot of places (vector, unique_ptr, valarray, etc.) where rvalues (or in the case of unique_ptr, lvalue references) are gated on _LIBCPP_CXX03_LANG rather than _LIBCPP_HAS_NO_RVALUE_REFERENCES. We should probably try to remove those workarounds as well.

Aug 1 2020, 12:15 PM · Restricted Project
zoecarver committed rG8697d6cfa894: [libcxx] Add compatible with constraint tests for some shared_ptr constructors. (authored by zoecarver).
[libcxx] Add compatible with constraint tests for some shared_ptr constructors.
Aug 1 2020, 12:07 PM
zoecarver closed D81532: [libcxx] Add compatible with constraint tests for some shared_ptr constructors..
Aug 1 2020, 12:07 PM · Restricted Project

Jul 23 2020

zoecarver added inline comments to D84275: [Libcxx] Finish implementing Paper 0202R3.
Jul 23 2020, 1:11 PM · Restricted Project
zoecarver added inline comments to D84275: [Libcxx] Finish implementing Paper 0202R3.
Jul 23 2020, 12:37 PM · Restricted Project

Jul 22 2020

zoecarver updated the diff for D65721: Make rotate a constexpr.
  • Remove "has builtin" check in __move.
  • Replace #if in test with UNSUPPORTED.
Jul 22 2020, 11:00 PM · Restricted Project
zoecarver added a comment to D84275: [Libcxx] Finish implementing Paper 0202R3.

Hopefully, I can land D65721 sometime this week, and then you can rebase this patch on master. Otherwise, feel free to take anything you need from that patch.

Jul 22 2020, 10:57 PM · Restricted Project
zoecarver added inline comments to D65721: Make rotate a constexpr.
Jul 22 2020, 10:57 PM · Restricted Project

Jul 14 2020

zoecarver committed rG9846c48ddb8d: [CodeGen] Add public function to emit C++ destructor call. (authored by zoecarver).
[CodeGen] Add public function to emit C++ destructor call.
Jul 14 2020, 4:56 PM

Jul 1 2020

zoecarver committed rGe7c5da57a5f3: [CodeGen] Add public function to emit C++ destructor call. (authored by zoecarver).
[CodeGen] Add public function to emit C++ destructor call.
Jul 1 2020, 11:22 AM
zoecarver closed D82392: [CodeGen] Add public function to emit C++ destructor call..
Jul 1 2020, 11:22 AM · Restricted Project

Jun 30 2020

zoecarver added a comment to D82392: [CodeGen] Add public function to emit C++ destructor call..

@rjmccall I updated this patch to introduce the function getCXXDestructorImplicitParam instead. This should be closer to D79942. It seems like there is never more than one implicit parameter so, I just have it return a single llvm::Value*.

Jun 30 2020, 2:41 PM · Restricted Project
zoecarver updated the diff for D82392: [CodeGen] Add public function to emit C++ destructor call..
  • Remove emitCXXDestructorCall and add getCXXDestructorImplicitParam.
Jun 30 2020, 2:41 PM · Restricted Project

Jun 26 2020

zoecarver updated the diff for D82588: [DSE] Look through memory PHI arguments when removing noop stores in MSSA..
  • Check all MemoryAccesses (fix segfault when one block is noop but another uses the store).
Jun 26 2020, 10:23 AM · Restricted Project
zoecarver added a comment to D82588: [DSE] Look through memory PHI arguments when removing noop stores in MSSA..

All tests now pass. dse.NumNoopStores still hasn't changed.

Jun 26 2020, 10:23 AM · Restricted Project
zoecarver added a comment to D82588: [DSE] Look through memory PHI arguments when removing noop stores in MSSA..

Does it pass without the patch? If it only fails with the patch, the patch is likely introducing a mis-compile.

Jun 26 2020, 9:50 AM · Restricted Project

Jun 25 2020

zoecarver added a comment to D82588: [DSE] Look through memory PHI arguments when removing noop stores in MSSA..

Also, MultiSource/Applications/SPASS/SPASS.test is failing for some reason. The error it's giving me is:

/Users/zoe/Developer/llvm-source/stats-build/tools/fpcmp-target: files differ without tolerance allowance

It looks like this may be an issue with the time it took to execute the test? That may be because I'm running these tests on a laptop (so both compile time and execution time aren't going to be accurate metrics).

Jun 25 2020, 11:54 AM · Restricted Project
zoecarver added a comment to D82588: [DSE] Look through memory PHI arguments when removing noop stores in MSSA..

After running this on the LLVM test suite here are the stats:

Jun 25 2020, 11:54 AM · Restricted Project
zoecarver created D82588: [DSE] Look through memory PHI arguments when removing noop stores in MSSA..
Jun 25 2020, 11:20 AM · Restricted Project
zoecarver added inline comments to D82588: [DSE] Look through memory PHI arguments when removing noop stores in MSSA..
Jun 25 2020, 11:20 AM · Restricted Project

Jun 23 2020

zoecarver added a comment to D81532: [libcxx] Add compatible with constraint tests for some shared_ptr constructors..

Ping. This is a NFC.

Jun 23 2020, 9:03 PM · Restricted Project
zoecarver added a comment to D62274: shared_ptr deleter requirements (2802).

Ping.

Jun 23 2020, 8:32 PM · Restricted Project
zoecarver created D82392: [CodeGen] Add public function to emit C++ destructor call..
Jun 23 2020, 10:10 AM · Restricted Project

Jun 16 2020

zoecarver added a comment to D81973: [libcxx/variant] Fix build error for when exceptions disabled..

(You still need one of the libc++ maintainers to sign off on this)

Jun 16 2020, 3:56 PM · Restricted Project
zoecarver accepted D81973: [libcxx/variant] Fix build error for when exceptions disabled..
Jun 16 2020, 3:56 PM · Restricted Project
zoecarver added inline comments to D81954: Remove the try/catch codepath if `swap` is `noexcept`..
Jun 16 2020, 12:39 PM · Restricted Project
zoecarver added a comment to D81954: Remove the try/catch codepath if `swap` is `noexcept`..

Thanks for making this patch. Other than the noexcept issue, this LGTM.

Jun 16 2020, 11:32 AM · Restricted Project

Jun 12 2020

zoecarver added a comment to D63230: Add observer_ptr.

Friendly ping.

Jun 12 2020, 11:26 AM

Jun 10 2020

zoecarver added inline comments to D62274: shared_ptr deleter requirements (2802).
Jun 10 2020, 12:21 PM · Restricted Project
zoecarver updated the summary of D62274: shared_ptr deleter requirements (2802).
Jun 10 2020, 12:21 PM · Restricted Project
zoecarver updated the summary of D62274: shared_ptr deleter requirements (2802).
Jun 10 2020, 12:15 PM · Restricted Project
zoecarver updated the diff for D62274: shared_ptr deleter requirements (2802).
  • Mark as complete in cxx1z status
Jun 10 2020, 12:15 PM · Restricted Project
zoecarver added a comment to D62274: shared_ptr deleter requirements (2802).

In C++03 __compressed_pair doesn't have an implicit move constructor. So, I disabled the tests in C++03.

Jun 10 2020, 12:13 PM · Restricted Project
zoecarver updated the summary of D62274: shared_ptr deleter requirements (2802).
Jun 10 2020, 12:13 PM · Restricted Project
zoecarver updated the diff for D62274: shared_ptr deleter requirements (2802).
  • Rebase off master.
  • Dissable in C++03 mode.
Jun 10 2020, 12:13 PM · Restricted Project
zoecarver reclaimed D81174: [libcxx] Return "real" pointer from array<T, 0>::data..
Jun 10 2020, 12:13 PM · Restricted Project

Jun 9 2020

zoecarver planned changes to D81412: [libcxx] Fix LWG 2876: shared_ptr::shared_ptr(const weak_ptr<Y>&) constructor should be constrained..

If we don't have proper support for array types in weak_ptr, we should add it separately (with tests too), not as part of fixing this simple LWG issue.

Jun 9 2020, 10:01 PM · Restricted Project
zoecarver created D81532: [libcxx] Add compatible with constraint tests for some shared_ptr constructors..
Jun 9 2020, 10:01 PM · Restricted Project
zoecarver added a comment to D81414: [libcxx] Fix LWG 2875: shared_ptr::shared_ptr(Y*, D, […]) constructors should be constrained..

Do we have tests that shared_ptr isn't constructible from incompatible array types? If not, could we add some?

Jun 9 2020, 10:01 PM · Restricted Project
zoecarver updated the diff for D81414: [libcxx] Fix LWG 2875: shared_ptr::shared_ptr(Y*, D, […]) constructors should be constrained..
  • Fix line wrapping
Jun 9 2020, 10:01 PM · Restricted Project
zoecarver updated the diff for D81417: [libcxx] Fix LWG 2874: Constructor shared_ptr::shared_ptr(Y*) should be constrained..
  • Update status.
  • Use TEST_STD_VER instead of the non-existant STD_TEST_VERSION.
  • Use std::conditional (instead of logical and/or).
Jun 9 2020, 9:29 PM · Restricted Project
zoecarver added inline comments to D81417: [libcxx] Fix LWG 2874: Constructor shared_ptr::shared_ptr(Y*) should be constrained..
Jun 9 2020, 9:29 PM · Restricted Project
zoecarver updated the summary of D81417: [libcxx] Fix LWG 2874: Constructor shared_ptr::shared_ptr(Y*) should be constrained..
Jun 9 2020, 9:29 PM · Restricted Project

Jun 8 2020

zoecarver abandoned D81288: [Opt] Smart pointer lifetime optimizations pass..

Closing this based on the discussion on the mailing list.

Jun 8 2020, 7:55 PM · Restricted Project, Restricted Project
zoecarver created D81417: [libcxx] Fix LWG 2874: Constructor shared_ptr::shared_ptr(Y*) should be constrained..
Jun 8 2020, 12:08 PM · Restricted Project
zoecarver created D81414: [libcxx] Fix LWG 2875: shared_ptr::shared_ptr(Y*, D, […]) constructors should be constrained..
Jun 8 2020, 11:35 AM · Restricted Project
zoecarver updated the diff for D81412: [libcxx] Fix LWG 2876: shared_ptr::shared_ptr(const weak_ptr<Y>&) constructor should be constrained..
  • Update 1z satus
Jun 8 2020, 11:02 AM · Restricted Project
zoecarver added a comment to D81412: [libcxx] Fix LWG 2876: shared_ptr::shared_ptr(const weak_ptr<Y>&) constructor should be constrained..

I'm going to add a more comprehensive patch to fully support array types in weak_ptr later this week.

Jun 8 2020, 11:02 AM · Restricted Project
zoecarver created D81412: [libcxx] Fix LWG 2876: shared_ptr::shared_ptr(const weak_ptr<Y>&) constructor should be constrained..
Jun 8 2020, 11:02 AM · Restricted Project
zoecarver abandoned D81174: [libcxx] Return "real" pointer from array<T, 0>::data..
Jun 8 2020, 11:02 AM · Restricted Project
zoecarver committed rGb1b64dbef1e2: [NFC] [libcxx] Remove shared_ptr's no-rvalue unique_ptr converting constructor. (authored by zoecarver).
[NFC] [libcxx] Remove shared_ptr's no-rvalue unique_ptr converting constructor.
Jun 8 2020, 9:58 AM
zoecarver closed D80881: [NFC] [libcxx] Remove shared_ptr's no-rvalue unique_ptr converting constructor..
Jun 8 2020, 9:57 AM · Restricted Project
zoecarver added a comment to D80882: [libcxx] Allow shared_ptr's unique_ptr converting constructor to support array types..

Friendly ping.

Jun 8 2020, 9:56 AM · Restricted Project
zoecarver added inline comments to D81174: [libcxx] Return "real" pointer from array<T, 0>::data..
Jun 8 2020, 9:56 AM · Restricted Project

Jun 5 2020

zoecarver added inline comments to D81288: [Opt] Smart pointer lifetime optimizations pass..
Jun 5 2020, 11:45 AM · Restricted Project, Restricted Project
zoecarver created D81288: [Opt] Smart pointer lifetime optimizations pass..
Jun 5 2020, 11:45 AM · Restricted Project, Restricted Project
zoecarver added inline comments to D81174: [libcxx] Return "real" pointer from array<T, 0>::data..
Jun 5 2020, 10:01 AM · Restricted Project

Jun 4 2020

zoecarver added a comment to D81174: [libcxx] Return "real" pointer from array<T, 0>::data..

I am still having trouble to unterstand what benefit this has.

Jun 4 2020, 11:00 AM · Restricted Project
zoecarver created D81174: [libcxx] Return "real" pointer from array<T, 0>::data..
Jun 4 2020, 9:53 AM · Restricted Project

May 30 2020

zoecarver created D80881: [NFC] [libcxx] Remove shared_ptr's no-rvalue unique_ptr converting constructor..
May 30 2020, 3:22 PM · Restricted Project
zoecarver created D80882: [libcxx] Allow shared_ptr's unique_ptr converting constructor to support array types..
May 30 2020, 3:22 PM · Restricted Project
zoecarver added a comment to D80881: [NFC] [libcxx] Remove shared_ptr's no-rvalue unique_ptr converting constructor..

This passes all memory tests in C++03, C++11, and C++2a mode.

May 30 2020, 3:22 PM · Restricted Project
zoecarver committed rG065bf124fde8: [DSE] Remove noop stores in MSSA. (authored by zoecarver).
[DSE] Remove noop stores in MSSA.
May 30 2020, 10:03 AM
zoecarver closed D79391: [DSE] Remove noop stores in MSSA..
May 30 2020, 10:03 AM · Restricted Project
zoecarver added a comment to D79391: [DSE] Remove noop stores in MSSA..

Oh right, I meant flipping the cl::init value of the variable https://github.com/llvm/llvm-project/blob/master/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp#L100 and rebuilding ;)

May 30 2020, 10:03 AM · Restricted Project

May 29 2020

zoecarver added a comment to D79391: [DSE] Remove noop stores in MSSA..

@fhahn I really appreciate all your help with this patch. The tests are updated.

May 29 2020, 11:22 PM · Restricted Project
zoecarver updated the diff for D79391: [DSE] Remove noop stores in MSSA..
  • Update tests based on review
May 29 2020, 11:22 PM · Restricted Project
zoecarver accepted D80821: [libc++] Fix issues with the triviality of std::array.
May 29 2020, 1:07 PM · Restricted Project
zoecarver added a comment to D80790: [libc++] Remove redundant empty specialization in std::array.

I'm not sure what huge benefit that would yield.

May 29 2020, 11:26 AM · Restricted Project
zoecarver added a comment to D80821: [libc++] Fix issues with the triviality of std::array.

@ldionne I disagree. I think we can have all the things here :)

May 29 2020, 11:26 AM · Restricted Project
zoecarver added a comment to D80790: [libc++] Remove redundant empty specialization in std::array.

What if we did this in three patches?

  1. Update everything to use data() instead of __elems_.
  2. Use __array_storage in both implementations.
  3. Remove the array<T, 0> specialization.
May 29 2020, 10:55 AM · Restricted Project

May 28 2020

zoecarver added a comment to D79391: [DSE] Remove noop stores in MSSA..

Might be interesting to see what happens with MSSA disabled for EarlyCSE.

May 28 2020, 9:23 PM · Restricted Project
zoecarver added inline comments to D79391: [DSE] Remove noop stores in MSSA..
May 28 2020, 8:51 PM · Restricted Project
zoecarver closed D80069: [NFC] Remove no-variadic overloads of __allocator_traits_rebind..

Resolved by ca5bff18fc63d4f6b7fa2731d7a0a839efc984d8.

May 28 2020, 9:50 AM · Restricted Project
zoecarver closed D80071: [NFC] Add _EnableIfLValueCallable and move reference out of __callable..

Resolved by c98648a1759b453a2ae019f4fcc5e38128c4cd4a.

May 28 2020, 9:50 AM · Restricted Project
zoecarver accepted D80452: [libc++] Complete overhaul of constexpr support in std::array.
May 28 2020, 9:49 AM · Restricted Project
zoecarver added a comment to D80452: [libc++] Complete overhaul of constexpr support in std::array.

This LGTM!

May 28 2020, 9:18 AM · Restricted Project

May 27 2020

zoecarver added inline comments to D80452: [libc++] Complete overhaul of constexpr support in std::array.
May 27 2020, 3:16 PM · Restricted Project