[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-06-14 Thread Aditya Kumar via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL305427: [locale] Avoid copy of __atoms when char_type is char (authored by hiraditya). Changed prior to commit: https://reviews.llvm.org/D30268?vs=102566=102621#toc Repository: rL LLVM

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-06-14 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya updated this revision to Diff 102566. hiraditya added a comment. Addressed comments from Eric. https://reviews.llvm.org/D30268 Files: libcxx/benchmarks/stringstream.bench.cpp libcxx/include/__config libcxx/include/locale Index: libcxx/include/locale

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-06-13 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision. EricWF added a comment. This revision is now accepted and ready to land. LGTM. Could you please add the benchmark under `libcxx/benchmarks`. Could you also make sure that the existing tests (under `test/std`) for number parsing have sufficient test coverages for

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-06-07 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added a comment. Ping https://reviews.llvm.org/D30268 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-05-08 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added a comment. Ping https://reviews.llvm.org/D30268 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-05-01 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added a comment. This revision now requires changes to proceed. Ping https://reviews.llvm.org/D30268 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-04-21 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added inline comments. Comment at: libcxx/include/locale:891 +#ifndef _LIBCPP_ABI_OPTIMIZED_LOCALE // signed EricWF wrote: > Would it be possible to reduce the amount of duplicate code between the two > implementations? Currently it seems like

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-04-21 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya updated this revision to Diff 96159. hiraditya added a comment. Minimized the diff by putting #ifdefs inside the function. https://reviews.llvm.org/D30268 Files: libcxx/include/__config libcxx/include/locale Index: libcxx/include/locale

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-03-27 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment. OK, so ABI wise this seems good. I'll need a fresh head to review the locale changes for correctness. I'll get around to that tomorrow. Comment at: libcxx/include/locale:891 +#ifndef _LIBCPP_ABI_OPTIMIZED_LOCALE // signed Would it

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-03-16 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added a comment. Ping https://reviews.llvm.org/D30268 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-03-09 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added a comment. ping https://reviews.llvm.org/D30268 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-03-01 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya updated this revision to Diff 90214. hiraditya added a comment. Guarded the new implementation with _LIBCPP_ABI_OPTIMIZED_LOCALE macro to avoid ABI incompatibilities. https://reviews.llvm.org/D30268 Files: libcxx/include/__config libcxx/include/locale Index:

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-02-28 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF requested changes to this revision. EricWF added a comment. This revision now requires changes to proceed. `__num_get` is externally instantiated. Adding non-template methods or changing method signatures is ABI breaking (As shown by the `check-cxx-abilist` rule output

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-02-28 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya added a comment. Ping https://reviews.llvm.org/D30268 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D30268: Avoid copy of __atoms when char_type is char

2017-02-22 Thread Aditya Kumar via Phabricator via cfe-commits
hiraditya created this revision. The function __num_get<_CharT>::__stage2_int_prep makes unnecessary copy of __src into __atoms when char_type is char. This can be avoided by creating a switch on type and just returning __src when char_type is char. Running a synthetic benchmark shows the