aboutsummaryrefslogtreecommitdiff
path: root/libcxx/CREDITS.TXT
AgeCommit message (Collapse)AuthorFilesLines
2021-12-12Microsoft's floating-point to_chars powered by Ryu and Ryu PrintfMark de Wever1-0/+15
Microsoft would like to contribute its implementation of floating-point to_chars to libc++. This uses the impossibly fast Ryu and Ryu Printf algorithms invented by Ulf Adams at Google. Upstream repos: https://github.com/microsoft/STL and https://github.com/ulfjack/ryu . Licensing notes: MSVC's STL is available under the Apache License v2.0 with LLVM Exception, intentionally chosen to match libc++. We've used Ryu under the Boost Software License. This patch contains minor changes from Jorg Brown at Google, to adapt the code to libc++. He verified that it works in Google's Linux-based environment, but then I applied more changes on top of his, so any compiler errors are my fault. (I haven't tried to build and test libc++ yet.) Please tell me if we need to do anything else in order to follow https://llvm.org/docs/DeveloperPolicy.html#attribution-of-changes . Notes: * libc++'s integer charconv is unchanged (except for a small refactoring). MSVC's integer charconv hasn't been tuned for performance yet, so you're not missing anything. * Floating-point from_chars isn't part of this patch because Jorg found that MSVC's implementation (derived from our CRT's strtod) was slower than Abseil's. If you're unable to use Abseil or another implementation due to licensing or technical considerations, Microsoft would be delighted if you used MSVC's from_chars (and you can just take it, or ask us to provide a patch like this). Ulf is also working on a novel algorithm for from_chars. * This assumes that float is IEEE 32-bit, double is IEEE 64-bit, and long double is also IEEE 64-bit. * I have added MSVC's charconv tests (the whole thing: integer/floating from_chars/to_chars), but haven't adapted them to libcxx's harness at all. (These tests will be available in the microsoft/STL repo soon.) * Jorg added int128 codepaths. These were originally present in upstream Ryu, and I removed them from microsoft/STL purely for performance reasons (MSVC doesn't support int128; Clang on Windows does, but I found that x64 intrinsics were slightly faster). * The implementation is split into 3 headers. In MSVC's STL, charconv contains only Microsoft-written code. xcharconv_ryu.h contains code derived from Ryu (with significant modifications and additions). xcharconv_ryu_tables.h contains Ryu's large lookup tables (they were sufficiently large to make editing inconvenient, hence the separate file). The xmeow.h convention is MSVC's for internal headers; you may wish to rename them. * You should consider separately compiling the lookup tables (see https://github.com/microsoft/STL/issues/172 ) for compiler throughput and reduced object file size. * See https://github.com/StephanTLavavej/llvm-project/commits/charconv for fine-grained history. (If necessary, I can perform some rebase surgery to show you what Jorg changed relative to the microsoft/STL repo; currently that's all fused into the first commit.) Differential Revision: https://reviews.llvm.org/D70631
2021-12-07Revert "Microsoft's floating-point to_chars powered by Ryu and Ryu Printf"Petr Hosek1-15/+0
This reverts commit a8025e06fc0f2fe1bbee9e1a6f15c336bfbdcb05 since it triggers PR52584 with debug info enabled.
2021-12-05Microsoft's floating-point to_chars powered by Ryu and Ryu PrintfMark de Wever1-0/+15
Microsoft would like to contribute its implementation of floating-point to_chars to libc++. This uses the impossibly fast Ryu and Ryu Printf algorithms invented by Ulf Adams at Google. Upstream repos: https://github.com/microsoft/STL and https://github.com/ulfjack/ryu . Licensing notes: MSVC's STL is available under the Apache License v2.0 with LLVM Exception, intentionally chosen to match libc++. We've used Ryu under the Boost Software License. This patch contains minor changes from Jorg Brown at Google, to adapt the code to libc++. He verified that it works in Google's Linux-based environment, but then I applied more changes on top of his, so any compiler errors are my fault. (I haven't tried to build and test libc++ yet.) Please tell me if we need to do anything else in order to follow https://llvm.org/docs/DeveloperPolicy.html#attribution-of-changes . Notes: * libc++'s integer charconv is unchanged (except for a small refactoring). MSVC's integer charconv hasn't been tuned for performance yet, so you're not missing anything. * Floating-point from_chars isn't part of this patch because Jorg found that MSVC's implementation (derived from our CRT's strtod) was slower than Abseil's. If you're unable to use Abseil or another implementation due to licensing or technical considerations, Microsoft would be delighted if you used MSVC's from_chars (and you can just take it, or ask us to provide a patch like this). Ulf is also working on a novel algorithm for from_chars. * This assumes that float is IEEE 32-bit, double is IEEE 64-bit, and long double is also IEEE 64-bit. * I have added MSVC's charconv tests (the whole thing: integer/floating from_chars/to_chars), but haven't adapted them to libcxx's harness at all. (These tests will be available in the microsoft/STL repo soon.) * Jorg added int128 codepaths. These were originally present in upstream Ryu, and I removed them from microsoft/STL purely for performance reasons (MSVC doesn't support int128; Clang on Windows does, but I found that x64 intrinsics were slightly faster). * The implementation is split into 3 headers. In MSVC's STL, charconv contains only Microsoft-written code. xcharconv_ryu.h contains code derived from Ryu (with significant modifications and additions). xcharconv_ryu_tables.h contains Ryu's large lookup tables (they were sufficiently large to make editing inconvenient, hence the separate file). The xmeow.h convention is MSVC's for internal headers; you may wish to rename them. * You should consider separately compiling the lookup tables (see https://github.com/microsoft/STL/issues/172 ) for compiler throughput and reduced object file size. * See https://github.com/StephanTLavavej/llvm-project/commits/charconv for fine-grained history. (If necessary, I can perform some rebase surgery to show you what Jorg changed relative to the microsoft/STL repo; currently that's all fused into the first commit.) Differential Revision: https://reviews.llvm.org/D70631
2021-11-28[libc++] Add myself to the credits.Mark de Wever1-0/+4
Noticed while updating the credits for the to_chars patch.
2021-09-29[NFC] Add contributor name to CREDITS.TXTMuiez Ahmed1-0/+4
Differential Revision: https://reviews.llvm.org/D110650
2021-08-20[libc++] Update credits.txt per coment on D108263Louis Dionne1-1/+1
2021-08-19[libc++][NFC] Update and alphabetize CREDITS.TXTKent Ross1-12/+16
Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D108263
2020-04-08[libcxx] Adds [concept.same]Eric Fiselier1-0/+5
Patch from Christopher Di Bella (cjdb@google.com) Reviewed as https://reviews.llvm.org/D74291 Adds `std::same_as` to libc++. Since there aren't clang-format rules for //requires-expressions//, I'll need to disable the formatter in certain areas.
2019-11-21[libcxx] Add Sergej Jaskiewicz to CREDITS.txtSergej Jaskiewicz1-0/+4
Summary: Also, test commit access Reviewers: EricWF Subscribers: christof, ldionne, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D70526
2017-12-29Try again, this time with the correct addressJonathan Roelofs1-1/+1
llvm-svn: 321570
2017-12-29Update CREDITS.txt with personal emailJonathan Roelofs1-1/+1
llvm-svn: 321563
2017-11-23Update C++2a status and add Glen to CREDITS.TXT. Reviewed as ↵Marshall Clow1-0/+4
https://reviews.llvm.org/D40379 llvm-svn: 318919
2017-03-06Updated email address in `CREDITS.txt`.Michael Park1-1/+1
llvm-svn: 297065
2017-01-07Added "Michael Park" to `CREDITS.TXT`.Michael Park1-0/+4
Summary: Test commit + give myself credit. Reviewers: EricWF Differential Revision: https://reviews.llvm.org/D28431 llvm-svn: 291344
2016-06-19Add entry to CREDITS.TXT for propagate_constJonathan Coe1-0/+4
llvm-svn: 273123
2015-02-26Add self to CREDITS.txtJonathan Roelofs1-0/+4
llvm-svn: 230595
2015-02-20Add self to CREDITS.TXTLarisse Voufo1-0/+3
llvm-svn: 229969
2015-01-30Add myself to CREDITS.TXT.Dan Albert1-0/+4
llvm-svn: 227630
2014-08-21Add self to creditsEric Fiselier1-0/+4
llvm-svn: 216154
2013-09-28Updated my roleMarshall Clow1-1/+1
llvm-svn: 191596
2013-08-14Xing Xue: port to IBM XLC++/AIX.Howard Hinnant1-0/+4
llvm-svn: 188396
2013-08-12Nico Rieck: this patch series fixes visibility issues on Windows as ↵Howard Hinnant1-0/+4
explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. llvm-svn: 188192
2013-08-07Update CREDITS.TXTHoward Hinnant1-0/+4
llvm-svn: 187936
2013-07-02Updated CREDITS.TXTHoward Hinnant1-0/+4
llvm-svn: 185462
2013-07-02Bill Fisher: This patch fixes a bug where the regex parser doesn't advance ↵Howard Hinnant1-0/+4
the pointer after reading the third character of an octal escape (in awk mode). That is, regex{"\141", awk} results in the regular expression /a1/ instead of just /a/. llvm-svn: 185449
2013-05-02Stephan Tolksdorf: fixes the issue in the <atomic> header and adds ↵Howard Hinnant1-4/+8
corresponding tests. I've used macros to fall back to a user-provided default constructor if _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS (though I suspect that there won't be many users defining that macro). The tests use placement new to check that atomic values get properly zero-initialized. I had to modify the atomic_is_lock_free test, because default initialization of an object of const type 'const A' (aka 'const atomic<int>') requires a user-provided default constructor. llvm-svn: 180945
2013-04-29Add entry for myself.Joerg Sonnenberger1-0/+4
llvm-svn: 180728
2013-03-29Bruce Mitchener, Jr.: Port to emscripten. Fixes ↵Howard Hinnant1-0/+4
http://llvm.org/bugs/show_bug.cgi?id=15624. llvm-svn: 178354
2013-02-08Add Michael van der Westhuizen to CREDITS.TXTHoward Hinnant1-0/+3
llvm-svn: 174732
2013-01-01Updating CREDITS.TXTHoward Hinnant1-0/+4
llvm-svn: 171347
2012-12-27Saleem Abdulrasool: Add entry to CREDITS.TXT.Howard Hinnant1-43/+47
llvm-svn: 171174
2012-12-13Updated CREDITS.TXTHoward Hinnant1-0/+4
llvm-svn: 170062
2012-10-15Add an entry in CREDITS.TXTArgyrios Kyrtzidis1-0/+4
llvm-svn: 165949
2012-10-03Holger Arnold: Correct the use and testing of __GNUC__ and __GNUC_MINOR__ ↵Howard Hinnant1-0/+4
in <__config>. llvm-svn: 165151
2012-09-24Updating email addressMarshall Clow1-1/+1
llvm-svn: 164489
2012-09-14Update CREDITS.TXTHoward Hinnant1-0/+4
llvm-svn: 163949
2012-08-26Update CREDITS.TXTHoward Hinnant1-0/+4
llvm-svn: 162647
2012-08-24Add Hyeon-bin Jeong to CREDITS.TXTHoward Hinnant1-0/+4
llvm-svn: 162604
2012-07-26Update CREDITS.TXTHoward Hinnant1-0/+4
llvm-svn: 160812
2012-04-19libc++: Add some missing #includes to atomics tests. libc++ doesn't need theseRichard Smith1-0/+3
at the moment, but they allow these tests to be used to test clang against libstdc++. Add myself to the credits file, as suggested by Howard. llvm-svn: 155085
2012-04-02Update <limits> with constexpr support. Patch contributed by Jonathan Sauer.Howard Hinnant1-0/+3
llvm-svn: 153888
2012-02-29Solaris port. Currently sees around 200 test failures, mostly related toDavid Chisnall1-1/+1
Solaris not providing some of the locales that the test suite uses. Note: This depends on an xlocale (partial) implementation for Solaris and a couple of fixed standard headers. These will be committed to a branch later today. llvm-svn: 151720
2012-02-19Add myself to the CREDITS file.Jeffrey Yasskin1-0/+5
llvm-svn: 150935
2011-12-10Installation of CityHash by Craig SilversteinHoward Hinnant1-0/+7
llvm-svn: 146329
2011-10-11Starting on musl port by Arvid PiccianiHoward Hinnant1-0/+4
llvm-svn: 141672
2011-09-22Partial Windows port by Ruben Van BoxemHoward Hinnant1-0/+4
llvm-svn: 140328
2011-09-21Fixes for FreeBSD, including some fairly obvious copy-and-paste errors.David Chisnall1-0/+3
libc++ now mostly works on FreeBSD with libcxxrt and this patch applied to the base system: http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20110920/e666632c/xlocale-0001.obj Summary of tests on FreeBSD: **************************************************** Results for /root/libcxx/test: using FreeBSD clang version 3.0 (trunk 135360) 20110717 Target: x86_64-unknown-freebsd9.0 Thread model: posix with -std=c++0x -stdlib=libc++ -I/root/libcxx/include -L/root/libcxx/build/lib ---------------------------------------------------- sections without tests : 1 sections with failures : 48 sections without failures: 1015 + ---- total number of sections : 1064 ---------------------------------------------------- number of tests failed : 145 number of tests passed : 4179 + ---- total number of tests : 4324 **************************************************** (Many due to this clang version not supporting C++ atomics) More fixes to follow... llvm-svn: 140245
2011-07-22Test commitDave Zarzycki1-0/+1
llvm-svn: 135774
2011-06-09Update CREDITS.TXTHoward Hinnant1-0/+4
llvm-svn: 132780
2011-01-04Marshall Clow's fix for Bug 8421.Howard Hinnant1-1/+4
llvm-svn: 122825