- Nov 20, 2013
-
-
Chandler Carruth authored
Somehow, this ADT got missed which is moderately terrifying considering the efficiency of move for it. The code to implement move semantics for it is pretty horrible currently but was written to reasonably closely match the rest of the code. Unittests that cover both copying and moving (at a basic level) added. llvm-svn: 195239
-
- Nov 18, 2013
-
-
Aaron Ballman authored
llvm-svn: 195018
-
- Mar 29, 2013
-
-
Jean-Luc Duprat authored
This time tested on both OSX and Linux. llvm-svn: 178377
-
Rafael Espindola authored
This reverts commit 617330909f0c26a3f2ab8601a029b9bdca48aa61. It broke the bots: /home/clangbuild2/clang-ppc64-2/llvm.src/unittests/ADT/SmallVectorTest.cpp:150: PushPopTest /home/clangbuild2/clang-ppc64-2/llvm.src/unittests/ADT/SmallVectorTest.cpp:118: Failure Value of: v[i].getValue() Actual: 0 Expected: value Which is: 2 llvm-svn: 178334
-
Jean-Luc Duprat authored
being power-of-two sized. llvm-svn: 178332
-
- Apr 18, 2012
-
-
Benjamin Kramer authored
DenseMap's hash function uses slightly more entropy and reduces hash collisions significantly. I also experimented with Hashing.h, but it didn't gave a lot of improvement while being much more expensive to compute. llvm-svn: 154996
-
- Mar 07, 2012
-
-
Benjamin Kramer authored
llvm-svn: 152254
-
Benjamin Kramer authored
This fixes a build failure in webkit. Copying all elements shouldn't be necessary, I'll look out for a better fix soon. llvm-svn: 152252
-
- Mar 06, 2012
-
-
Benjamin Kramer authored
SmallPtrSet: Provide a more efficient implementation of swap than the default triple-copy std::swap. This currently assumes that both sets have the same SmallSize to keep the implementation simple, a limitation that can be lifted if someone cares. llvm-svn: 152143
-
- Mar 30, 2011
-
-
Jakob Stoklund Olesen authored
Rehash but don't grow when full of tombstones. Patch by José Fonseca! llvm-svn: 128566
-
- Jun 30, 2010
-
-
Duncan Sands authored
replaced by a bigger array in SmallPtrSet (by overridding it), instead just use a pointer to the start of the storage, and have SmallPtrSet pass in the value to use. This has the disadvantage that SmallPtrSet becomes bigger by one pointer. It has the advantage that it no longer uses tricky C++ rules, and is clearly correct while I'm not sure the previous version was. This was inspired by g++-4.6 pointing out that SmallPtrSetImpl was writing off the end of SmallArray, which it was. Since SmallArray is replaced with a bigger array in SmallPtrSet, the write was still to valid memory. But it was writing off the end of the declared array type - sounds kind of dubious to me, like it sounded dubious to g++-4.6. Maybe g++-4.6 is wrong and this construct is perfectly valid and correctly compiled by all compilers, but I think it is better to avoid the whole can of worms by avoiding this construct. llvm-svn: 107285
-
- Aug 05, 2008
-
-
Dan Gohman authored
llvm-svn: 54349
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
- Nov 06, 2007
-
-
Chris Lattner authored
minor bugs. llvm-svn: 43782
-
- Aug 15, 2007
-
-
Anton Korobeynikov authored
llvm-svn: 41111
-
- Aug 05, 2007
-
-
Chris Lattner authored
contents of the set were small, deallocate and shrink the set. This avoids having us to memset as much data, significantly speeding up some pathological cases. For example, this speeds up the verifier from 0.3899s to 0.0763 (5.1x) on the testcase from PR1432 in a release build. llvm-svn: 40837
-
- Jul 27, 2007
-
-
Owen Anderson authored
llvm-svn: 40556
-
- Jul 24, 2007
-
-
Owen Anderson authored
llvm-svn: 40474
-
- Jul 19, 2007
-
-
Owen Anderson authored
llvm-svn: 40043
-
- Jul 18, 2007
-
-
Owen Anderson authored
would result in calling realloc() on a null pointer. Instead, if we encounter this situation, make a normal call to malloc(). llvm-svn: 40014
-
- Jul 17, 2007
-
-
Reid Spencer authored
having that implementation file #include <cstdlib>. llvm-svn: 39952
-
- Jul 16, 2007
-
-
Owen Anderson authored
llvm-svn: 39926
-
- Jul 10, 2007
-
-
Owen Anderson authored
llvm-svn: 38474
-
- Jul 09, 2007
-
-
Owen Anderson authored
Make the assignment operator for SmallPtrSet return a reference, and fix a long-standing bug in the copy ctor while I'm at it. Thanks to Chris Lattner for help with this patch. llvm-svn: 38470
-
Owen Anderson authored
Patch by Chis Lattner. llvm-svn: 38467
-
Chris Lattner authored
llvm-svn: 38460
-
- Jun 22, 2007
-
-
Owen Anderson authored
llvm-svn: 37697
-
Chris Lattner authored
1. Make SmallPtrSet::erase faster in the small case by replacing a memmove with a pointer copy. 2. Fix a bug where the null terminator at the end of the array in the small case was not copied llvm-svn: 37696
-
- Apr 14, 2007
-
-
Jeff Cohen authored
llvm-svn: 36016
-
- Feb 07, 2007
-
-
Chris Lattner authored
llvm-svn: 33973
-
- Feb 06, 2007
-
-
Chris Lattner authored
element was in the set. llvm-svn: 33931
-
- Jan 27, 2007
-
-
Chris Lattner authored
llvm-svn: 33581
-
Chris Lattner authored
llvm-svn: 33578
-
Chris Lattner authored
llvm-svn: 33577
-