Owen Anderson
bf31b85ea2
Make the copy constructor of SmallPtrSet much faster.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40474 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 21:31:23 +00:00
Owen Anderson
71a1e57d18
Remember to free the heap allocated array if we're not going to use it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40043 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-19 06:45:33 +00:00
Owen Anderson
b54b315251
Fix an issue where assignments that caused a SmallPtrSet to become non-small
...
would result in calling realloc() on a null pointer. Instead, if we encounter
this situation, make a normal call to malloc().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40014 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-18 19:54:15 +00:00
Reid Spencer
845b31de0c
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
2007-07-17 02:16:12 +00:00
Owen Anderson
1629a1fa87
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
2007-07-16 21:27:44 +00:00
Owen Anderson
69b5d12676
Make the assignment operator for SmallPtrSet much faster for normal cases.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38474 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 22:27:20 +00:00
Owen Anderson
4d6f96d699
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
2007-07-09 20:59:01 +00:00
Owen Anderson
da8ebc6b43
Fix an error in the assignment operator that was causing an infinite loop in GVNPRE.cpp.
...
Patch by Chis Lattner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38467 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 18:51:15 +00:00
Chris Lattner
91f0158d4d
implement operator= for smallptrset
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38460 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 16:54:03 +00:00
Owen Anderson
6394e5e4fd
Fix a bug in SmallPtrSet that was causing GVNPRE to enter an infinite loop.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37697 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-22 00:11:18 +00:00
Chris Lattner
61766cae0b
Two changes:
...
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37696 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-21 23:23:32 +00:00
Jeff Cohen
ac58a16f85
Fix PR1329.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36016 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-14 21:50:21 +00:00
Chris Lattner
e237cf934f
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
2007-02-07 01:11:25 +00:00
Chris Lattner
7ef856dfad
Fix a bug in smallptrset::erase: in the small case, return true if the
...
element was in the set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33931 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 23:10:31 +00:00
Chris Lattner
0b930852cf
implement SmallPtrSet::erase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33581 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 07:59:10 +00:00
Chris Lattner
24757decb8
add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33578 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 07:18:32 +00:00
Chris Lattner
c95dc987e9
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
2007-01-27 07:10:46 +00:00