Page MenuHomePhabricator
Feed Advanced Search

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
zoecarver updated the diff for D74918: Add method to TargetInfo to get CPU cache line size.
  • Update values returned by getCPUCacheLineSize based on review comments
Feb 21 2020, 9:46 AM · Restricted Project
zoecarver added inline comments to D74918: Add method to TargetInfo to get CPU cache line size.
Feb 21 2020, 9:37 AM · Restricted Project

Feb 20 2020

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

To address the question, what will this be used for: this could be used for several things in the library and compiler, but the primary use will be to create a builtin that can be used to implement P0154.

Feb 20 2020, 10:08 PM · Restricted Project
zoecarver updated the diff for D74918: Add method to TargetInfo to get CPU cache line size.
  • Add AMD cache line sizes based on @lebedev.ri's comments
Feb 20 2020, 12:01 PM · Restricted Project
zoecarver added a comment to D74918: Add method to TargetInfo to get CPU cache line size.

@lebedev.ri thanks! I'll add those.

Feb 20 2020, 11:52 AM · Restricted Project
zoecarver added a reviewer for D74918: Add method to TargetInfo to get CPU cache line size: __simt__.
Feb 20 2020, 11:33 AM · Restricted Project
zoecarver added a comment to D66822: Hardware cache line size builtins.
In D66822#1656476, @jfb wrote:
  1. Add to target infrastructure
Feb 20 2020, 11:33 AM · Restricted Project
zoecarver added reviewers for D74918: Add method to TargetInfo to get CPU cache line size: jfb, EricWF, efriedma, jyknight, echristo.
Feb 20 2020, 11:33 AM · Restricted Project
zoecarver created D74918: Add method to TargetInfo to get CPU cache line size.
Feb 20 2020, 11:24 AM · Restricted Project

Feb 11 2020

zoecarver added inline comments to D67052: Add reference type transformation builtins.
Feb 11 2020, 5:52 AM · Restricted Project, Restricted Project
zoecarver abandoned D67588: Add builtin trait for add/remove cv (and similar).

Closing in favor of D67052.

Feb 11 2020, 5:43 AM · Restricted Project, Restricted Project
zoecarver updated the diff for D67052: Add reference type transformation builtins.
  • Combine D67052 and D67588.
  • Remove __add* type traits.
  • Update mangling/dumping/encoding of all traits.
  • Remove stress tests.
  • Address comments in D67588.
Feb 11 2020, 5:43 AM · Restricted Project, Restricted Project

Feb 9 2020

zoecarver added inline comments to D74291: [libcxx] Adds [concept.same].
Feb 9 2020, 11:01 PM

Jan 27 2020

zoecarver added a comment to D68480: Implementation of C++20's P1135R6 for libcxx.

Not finished looking through this but, here are some comments.

Jan 27 2020, 12:53 PM · Restricted Project

Jan 17 2020

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

Ping. I'd like to get this approved before I rebase off master again. Any other review comments?

Jan 17 2020, 1:26 PM · Restricted Project

Jan 14 2020

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

@ldionne ping.

Jan 14 2020, 7:42 PM · Restricted Project

Jan 10 2020

zoecarver added inline comments to D68480: Implementation of C++20's P1135R6 for libcxx.
Jan 10 2020, 2:54 PM · Restricted Project

Jan 9 2020

zoecarver added a comment to D65041: Change requirements on linear_congruential_engine.

Ping :)

Jan 9 2020, 1:04 PM