MMark de Wever[libc++] Implements Unicode grapheme clustering
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[libc++][ranges] Implement modifying heap algorithms: - ranges::make_heap; - ranges::push_heap; - ranges::pop_heap; - ranges::sort_heap. Differential Revision: https://reviews.llvm.org/D128115 | 3 年前 | |
[libc++] Treat incomplete features just like other experimental features In particular remove the ability to expel incomplete features from the library at configure-time, since this can now be done through the _LIBCPP_ENABLE_EXPERIMENTAL macro. Also, never provide symbols related to incomplete features inside the dylib, instead provide them in c++experimental.a (this changes the symbols list, but not for any configuration that should have shipped). Differential Revision: https://reviews.llvm.org/D128928 | 3 年前 | |
[libc++][NFC] Remove excess trailing newlines from most files Testing git commit access. | 6 年前 | |
[libc++] Don't call key_eq in unordered_map/set rehashing routine As of now containers key_eq might get called when rehashing happens, which is redundant for unique keys containers. Reviewed By: #libc, philnik, Mordante Differential Revision: https://reviews.llvm.org/D128021 | 3 年前 | |
[libc++] [bench] Stop using uniform_int_distribution<char> in benchmarks. Reviewed as part of D114920. | 4 年前 | |
libcxx: Rename .hpp files in libcxx/benchmarks to .h LLVM uses .h as its extension for header files. Differential Revision: https://reviews.llvm.org/D66509 llvm-svn: 369487 | 6 年前 | |
[libcxx/variant] Add a few benchmarks for std::visit. This patch adds a few std::visit benchmarks as a starting point. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D85419 | 5 年前 | |
[libc++] [bench] Stop using uniform_int_distribution<char> in benchmarks. Reviewed as part of D114920. | 4 年前 | |
[libc++] [bench] Stop using uniform_int_distribution<char> in benchmarks. Reviewed as part of D114920. | 4 年前 | |
[libc++] Remove "// -*- C++ -*-" comments from all .cpp files. NFCI. Even if these comments have a benefit in .h files (for editors that care about language but can't be configured to treat .h as C++ code), they certainly have no benefit for files with the .cpp extension. Discussed in D110794. | 4 年前 | |
[libc++] Fix benchmark failure | 4 年前 | |
[libc++][format] Adds formatting benchmarks. These benchmarks will be used to test the performance inpact of the next set of optimization patches. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D110501 | 4 年前 | |
[libc++][format] Adds formatting benchmarks. These benchmarks will be used to test the performance inpact of the next set of optimization patches. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D110501 | 4 年前 | |
[libc++][format] Adds formatting benchmarks. These benchmarks will be used to test the performance inpact of the next set of optimization patches. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D110501 | 4 年前 | |
[libc++][format] Adds formatting benchmarks. These benchmarks will be used to test the performance inpact of the next set of optimization patches. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D110501 | 4 年前 | |
[libc++][format] Implement format-string. Implements the compile-time checking of the formatting arguments. Completes: - P2216 std::format improvements Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D121530 | 3 年前 | |
[libc++][format] Adds integral formatter benchmarks. This is a preparation to look at possible performance improvements. Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D129421 | 3 年前 | |
libcxx: Rename .hpp files in libcxx/benchmarks to .h LLVM uses .h as its extension for header files. Differential Revision: https://reviews.llvm.org/D66509 llvm-svn: 369487 | 6 年前 | |
Rename cxx-benchmark-unittests target and convert to LIT. This patch renames the cxx-benchmark-unittests to check-cxx-benchmarks and converts the target to use LIT in order to make the tests run faster and provide better output. In particular this runs each benchmark in a suite one by one, allowing more parallelism while ensuring output isn't garbage with multiple threads. Additionally, it adds the CMake flag '-DLIBCXX_BENCHMARK_TEST_ARGS=<list>' to specify what options are passed when running the benchmarks. llvm-svn: 346888 | 7 年前 | |
Rename cxx-benchmark-unittests target and convert to LIT. This patch renames the cxx-benchmark-unittests to check-cxx-benchmarks and converts the target to use LIT in order to make the tests run faster and provide better output. In particular this runs each benchmark in a suite one by one, allowing more parallelism while ensuring output isn't garbage with multiple threads. Additionally, it adds the CMake flag '-DLIBCXX_BENCHMARK_TEST_ARGS=<list>' to specify what options are passed when running the benchmarks. llvm-svn: 346888 | 7 年前 | |
[libc++] Add a benchmark for std::map operations Before tackling http://llvm.org/PR38722, make sure there is a baseline benchmark. Differential Revision: https://reviews.llvm.org/D62778 | 5 年前 | |
libcxx: Rename .hpp files in libcxx/benchmarks to .h LLVM uses .h as its extension for header files. Differential Revision: https://reviews.llvm.org/D66509 llvm-svn: 369487 | 6 年前 | |
[libc++] Replace modulus operations in std::seed_seq::generate with conditional checks. Abseil benchmarks suggest that the conditional checks result in faster code (4-5x) as they are compiled into conditional move instructions (cmov on x86). Reviewed By: #libc, philnik, Mordante Spies: pengfei, Mordante, philnik, libcxx-commits Differential Revision: https://reviews.llvm.org/D125329 | 4 年前 | |
[libc++] Implements Unicode grapheme clustering This implements the Grapheme clustering as required by P1868R2 width: clarifying units of width and precision in std::format This was omitted in the initial patch, but the paper was marked as completed. This really completes the paper. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D126971 | 3 年前 | |
Add benchmarks for basic_string::erase Reviewers: EricWF Subscribers: christof, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D73740 | 6 年前 | |
Add test macros for always_inline and noinline llvm-svn: 344167 | 7 年前 | |
[libc++] Fixes std::to_chars for bases != 10. While working on D70631, Microsoft's unit tests discovered an issue. Our std::to_chars implementation for bases != 10 uses the range [first,last) as temporary buffer. This violates the contract for to_chars: [charconv.to.chars]/1 http://eel.is/c++draft/charconv#to.chars-1 to_chars_result to_chars(char* first, char* last, see below value, int base = 10); "If the member ec of the return value is such that the value is equal to the value of a value-initialized errc, the conversion was successful and the member ptr is the one-past-the-end pointer of the characters written." Our implementation modifies the range [member ptr, last), which causes Microsoft's test to fail. Their test verifies the buffer [member ptr, last) is unchanged. (The test is only done when the conversion is successful.) While looking at the code I noticed the performance for bases != 10 also is suboptimal. This is tracked in D97705. This patch fixes the issue and adds a benchmark. This benchmark will be used as baseline for D97705. Reviewed By: #libc, Quuxplusone, zoecarver Differential Revision: https://reviews.llvm.org/D100722 | 5 年前 | |
[libc++] Don't call key_eq in unordered_map/set rehashing routine As of now containers key_eq might get called when rehashing happens, which is redundant for unique keys containers. Reviewed By: #libc, philnik, Mordante Differential Revision: https://reviews.llvm.org/D128021 | 3 年前 | |
Update more file headers across all of the LLVM projects in the monorepo to reflect the new license. These used slightly different spellings that defeated my regular expressions. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351648 | 7 年前 | |
[libcxx/variant] Add a few benchmarks for std::visit. This patch adds a few std::visit benchmarks as a starting point. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D85419 | 5 年前 | |
[libcxx/variant] Add a few benchmarks for std::visit. This patch adds a few std::visit benchmarks as a starting point. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D85419 | 5 年前 | |
[libcxx/variant] Add a few benchmarks for std::visit. This patch adds a few std::visit benchmarks as a starting point. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D85419 | 5 年前 | |
libcxx: Rename .hpp files in libcxx/benchmarks to .h LLVM uses .h as its extension for header files. Differential Revision: https://reviews.llvm.org/D66509 llvm-svn: 369487 | 6 年前 |