llvm-project/libcxx
Vedant Kumar fb36d079e5 Low-hanging fruit optimization in string::__move_assign().
shrink_to_fit() ends up doing a lot work to get information that we
already know since we just called clear(). This change seems concise
enough to be worth the couple extra lines and my benchmarks show that it
is indeed a pretty decent win. It looks like the same thing is going on
twice in __copy_assign_alloc(), but I didn't want to go overboard since
this is my first contribution to llvm/libc++.

Patch by Timothy VanSlyke!

Differential Revision: https://reviews.llvm.org/D41976

llvm-svn: 327064
2018-03-08 21:15:26 +00:00
..
benchmarks Update Google Benchmark library 2018-01-18 04:23:01 +00:00
cmake [cmake] Always respect existing CMAKE_REQUIRED_FLAGS when adding additional ones. 2018-01-23 03:30:23 +00:00
docs Fix typos. 2018-02-13 08:12:00 +00:00
fuzzing Wrote my own version of is_permutation; that was dominating the timings 2018-01-19 03:17:45 +00:00
include Low-hanging fruit optimization in string::__move_assign(). 2018-03-08 21:15:26 +00:00
lib LLVM_FOUND isn't always set, so just test if llvm_setup_rpath() is 2018-01-27 18:55:30 +00:00
src Fix building libc++ with the macOS 10.13 SDK with -mmacosx-version-min=10.12 or lower. 2018-02-06 19:17:41 +00:00
test Low-hanging fruit optimization in string::__move_assign(). 2018-03-08 21:15:26 +00:00
utils Allow passing additional compiler/linker flags for the tests 2018-02-23 15:19:48 +00:00
www Implement LWG#2518 - Non-member swap for propagate_const should call member swap 2018-03-08 15:01:50 +00:00
.arcconfig [libcxx] Set up .arcconfig to point to new Diffusion CXX repository 2017-12-04 17:55:28 +00:00
.clang-format Make clang-format use C++03 syntax 2017-04-15 02:45:43 +00:00
.gitignore Implement N4606 optional 2016-10-12 07:46:20 +00:00
CMakeLists.txt Add default C++ ABI libname and include paths for FreeBSD 2018-02-11 22:31:05 +00:00
CREDITS.TXT Try again, this time with the correct address 2017-12-29 19:26:53 +00:00
LICENSE.TXT Update year to 2017 2017-01-03 11:20:43 +00:00
NOTES.TXT Update doc and various cleanup 2016-12-23 20:00:13 +00:00
TODO.TXT Add list of filesystem NB comments to TODO.TXT so they can be tracked separately 2017-03-06 21:23:36 +00:00
appveyor-reqs-install.cmd Update Appveyor LLVM install link to be current and non-broken 2017-11-15 01:37:11 +00:00
appveyor.yml Rename Appveyor install helper script. 2017-05-10 02:43:02 +00:00