4bb87cbac50098acc6816390c00fad419d3434fc |
|
18-Apr-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
SmallPtrSet: Reuse DenseMapInfo's pointer hash function instead of inventing a bad one ourselves. 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
2945a32ffd0bf079de1b23db12bc8a0de596a167 |
|
06-Mar-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
e10fff6f8802d6ab4045d9d0bb22e6f37e6d3d0b |
|
30-Mar-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Prevent infinite growth of SmallPtrSet instances. Rehash but don't grow when full of tombstones. Patch by José Fonseca! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
ab4c366274a582dd8146b2820c6b999cad5fce36 |
|
15-Feb-2011 |
Duncan Sands <baldrick@free.fr> |
Spelling fix: consequtive -> consecutive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
476b242fe7a61e5f9ac6214b0bc5c680d24f152e |
|
19-Dec-2010 |
Nick Lewycky <nicholas@mxc.ca> |
Add missing standard headers. Patch by Joerg Sonnenberger! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
1f6efa3996dd1929fbc129203ce5009b620e6969 |
|
29-Nov-2010 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Merge System into Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
a71f0e1f2a7d6d2f030f147d6d426e5bb3b56328 |
|
30-Jun-2010 |
Duncan Sands <baldrick@free.fr> |
Rename NextPowerOfTwo to RoundUpToPowerOfTwo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
2e502577ab3645ab5c54434671d299e35c2245cc |
|
30-Jun-2010 |
Duncan Sands <baldrick@free.fr> |
Clarify that the NextPowerOfTwo template is idempotent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
2a8bf425bd0aff1a6406805c095d99089a1dfaae |
|
30-Jun-2010 |
Duncan Sands <baldrick@free.fr> |
Rather than giving SmallPtrSetImpl a member field SmallArray which is magically 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
871dc240d06b40ea2194677d5a85957cbdbbbe60 |
|
29-Jun-2010 |
Duncan Sands <baldrick@free.fr> |
Fix a buffer overflow noticed by gcc-4.6: zero is written into SmallArray[SmallSize] in the SmallPtrSetIteratorImpl, and this is one off the end of the array. For those who care, right now gcc warns about writing off the end because it is confused about the declaration of SmallArray as having length 1 in the parent class SmallPtrSetIteratorImpl. However if you tweak code to unconfuse it, then it still warns about writing off the end of the array, because of this buffer overflow. In short, even with this fix gcc-4.6 will warn about writing off the end of the array, but now that is only because it is confused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
05b0b44f8a7953687e73c9758d3e7851ef339be1 |
|
29-Jun-2010 |
Duncan Sands <baldrick@free.fr> |
NextPowerOfTwo was already used to ensure that SmallSizePowTwo is a power of two, no need to do it a second time (NextPowerOfTwo is idempotent). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107199 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
252968a76f4b34aa26aa33d447d0256a148ad554 |
|
12-Feb-2010 |
Bob Wilson <bob.wilson@apple.com> |
Fix a comment typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
8b67f774e9c38b7718b2b300b628388f966df4e0 |
|
26-Oct-2009 |
Chandler Carruth <chandlerc@gmail.com> |
Move DataTypes.h to include/llvm/System, update all users. This breaks the last direct inclusion edge from System to Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
7c718222cdb624f4c420b3d7b6eeb12fffc05603 |
|
09-Jul-2009 |
Douglas Gregor <dgregor@apple.com> |
Make SmallPtrSet iterators real iterators git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
8ee1b5e916249d1a64ad8cf99b08a0e160f9d052 |
|
29-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
rename PointerLikeTypeInto to PointerLikeTypeTraits, add trait for # low bits free, and move to its own header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
1717f3af087e44d2c4b7fe2b35abc29a33d6d315 |
|
28-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
declare everything as class to avoid angering the VC++ gods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
6de603071879bdc5d7d663826354c24a9d176469 |
|
28-Mar-2009 |
Chris Lattner <sabre@nondot.org> |
add a traits class for SmallPtrSet that allows us to stick things that are "basically pointers" into it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
5471a00977ab8ce3c88414dfbad99c0296d58508 |
|
07-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Change several SmallPtrSetImpl members from public to protected, to make the encapsulation more clear. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
3a54b3dc87a581c203b18050b4f787b4ca28a12c |
|
09-Jan-2009 |
Misha Brukman <brukman+llvm@gmail.com> |
Removed trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
34cd4a484e532cc463fd5a4bf59b88d13c5467c1 |
|
05-May-2008 |
Evan Cheng <evan.cheng@apple.com> |
Fix more -Wshorten-64-to-32 warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
950a4c40b823cd4f09dc71be635229246dfd6cac |
|
25-Mar-2008 |
Dan Gohman <gohman@apple.com> |
Add explicit keywords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
7ed47a13356daed2a34cd2209a31f92552e3bdd8 |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Don't attribute in file headers anymore. See llvmdev for the discussion of this change. Boy are my fingers tired. ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
373a733be031f52cebbbcdb15ab5997d9b5f9f17 |
|
06-Nov-2007 |
Chris Lattner <sabre@nondot.org> |
make smallptrset more const and type correct, which caught a few minor bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
ebf03038109c2af39d0db14ea9058c10e02e9eae |
|
15-Aug-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Properly use const qualifiers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
42e4bdf2577946380ce1529d5716e48b33d4186d |
|
05-Aug-2007 |
Chris Lattner <sabre@nondot.org> |
When clearing a SmallPtrSet, if the set had a huge capacity, but the 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
e992a56ae93140171f5044079e8d317f784c8cc1 |
|
27-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Allow SmallPtrSet to hold pointers to const data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
845b31de0c58e1f667063170191262079d311052 |
|
17-Jul-2007 |
Reid Spencer <rspencer@reidspencer.com> |
Unbreak the build by putting calls to free into the implementation file and having that implementation file #include <cstdlib>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
1629a1fa87f8c32d6d33173d6d6e77dc4ed1ca4f |
|
16-Jul-2007 |
Owen Anderson <resistor@mac.com> |
Use realloc() to (potentially) resize the contents of SmallPtrSet in place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39926 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
4d6f96d6997738419627ebe13dd6cb9c88a98fd7 |
|
09-Jul-2007 |
Owen Anderson <resistor@mac.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
95fd3189f84de5953c75d67403e7db9acdd5005d |
|
09-Jul-2007 |
Chris Lattner <sabre@nondot.org> |
work around an aparent gcc name resolution bug by detemplatizing this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
91f0158d4d1b16b8615126b05582d421cfb14089 |
|
09-Jul-2007 |
Chris Lattner <sabre@nondot.org> |
implement operator= for smallptrset git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
ac58a16f8584f38198cc7800bd37a896125268b7 |
|
14-Apr-2007 |
Jeff Cohen <jeffc@jolt-lang.org> |
Fix PR1329. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
086f18626750482318612a10c3027b946b4e36e4 |
|
02-Apr-2007 |
Chris Lattner <sabre@nondot.org> |
add range version of insert() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
ab8fea5283de0931e1da5dc91b4df2f734ba0206 |
|
04-Mar-2007 |
Chris Lattner <sabre@nondot.org> |
add iterator range version of ctor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
155b6220f79ca2dbd47193c1c061e6e129b977ab |
|
02-Mar-2007 |
Chris Lattner <sabre@nondot.org> |
Fix PR1234 by working around a compiler bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
e237cf934fcb8a25746e068f543fbd6db44eaa70 |
|
07-Feb-2007 |
Chris Lattner <sabre@nondot.org> |
do not let the table fill up with tombstones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
ea830ef21f1f863886455fabfc64ea00b172aeeb |
|
28-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
provide a definition for uintptr_t git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
894d264f3ee965645656ddd6566acbe4d3a3ed55 |
|
27-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
add some missing API git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
0b930852cf1a9899ae82dd6c31b43e754a77dcb0 |
|
27-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
implement SmallPtrSet::erase git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33581 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
af3056c97e56106af7c3b9a5c856d1dc1d21e358 |
|
27-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
Fix a limitation of SmallPtrSet. Before it would assert if the smallsize was not a power of two. Now it rounds up to the next power of two internally. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
18b69106b7a66ac6abde37d1be6d0d952796ed04 |
|
27-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
add some comments on the algorithm git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|
c95dc987e9e369c1c63819dbc4f76ab9b913772c |
|
27-Jan-2007 |
Chris Lattner <sabre@nondot.org> |
Add a new SmallSet ADT specialized for pointers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallPtrSet.h
|