History log of /external/llvm/include/llvm/ADT/SmallVector.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/include/llvm/ADT/SmallVector.h
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/include/llvm/ADT/SmallVector.h
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/ADT/SmallVector.h
cbe40cfe96a6bb3f2da56445269c2c71e55e0e56 13-Sep-2013 Benjamin Kramer <benny.kra@googlemail.com> Add warn_unused_result to empty() on various containers.

empty() doesn't actually empty out the container, making this a common typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
b937c55e93e9d52fa618b3488da04ff73182f3f9 20-Aug-2013 Jakub Staszak <kubastaszak@gmail.com> Make sure that pop_back_val() result is used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
e1e9366281a98cd06b61d5d7e136ce2b1a433ba6 29-Mar-2013 Jean-Luc Duprat <jduprat@apple.com> SmallVector and SmallPtrSet allocations now power-of-two aligned.
This time tested on both OSX and Linux.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
ef484a376cce3729b45ad86eab5724aa83a61823 29-Mar-2013 Rafael Espindola <rafael.espindola@gmail.com> Revert "Fix allocations of SmallVector and SmallPtrSet so they are more prone to"

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
617330909f0c26a3f2ab8601a029b9bdca48aa61 29-Mar-2013 Jean-Luc Duprat <jduprat@apple.com> Fix allocations of SmallVector and SmallPtrSet so they are more prone to
being power-of-two sized.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
0ac7e6f293bc502b39005496d2160b0089d3fa46 24-Jan-2013 Richard Trieu <rtrieu@google.com> Add asserts to SmallVector so that calls to front() and back() only succeed
if the vector is not empty. This will ensure that calls to these functions
will reference elements in the vector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
4334dd96a9e622fdcf2825a8f73a2d941d67be72 30-Nov-2012 Chandler Carruth <chandlerc@gmail.com> Switch LLVM_USE_RVALUE_REFERENCES to LLVM_HAS_RVALUE_REFERENCES.

Rationale:
1) This was the name in the comment block. ;]
2) It matches Clang's __has_feature naming convention.
3) It matches other compiler-feature-test conventions.

Sorry for the noise. =]

I've also switch the comment block to use a \brief tag and not duplicate
the name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
b61a11f7c0a6dd453f2b53e0583fe14603516420 15-Nov-2012 Jakub Staszak <kubastaszak@gmail.com> Use LLVM_DELETED_FUNCTION.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
2d9eb72178af8e79dc6432cd1b7d29bde16da1b9 13-Sep-2012 Dmitri Gribenko <gribozavr@gmail.com> Fix Doxygen issues:
* wrap code blocks in \code ... \endcode;
* refer to parameter names in paragraphs correctly (\arg is not what most
people want -- it starts a new paragraph).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
bc363931085587bac42a40653962a3e5acd1ffce 22-Aug-2012 Richard Smith <richard-llvm@metafoo.co.uk> Reduce alignment of SmallVector<T> to the required amount, rather than forcing 16-byte alignment. This fixes misaligned SmallVector accesses via ExtractValueInst's SmallVector data member.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
ba1f580f338e12c47a600050f7a77fae579acf93 31-Jul-2012 Chandler Carruth <chandlerc@gmail.com> Move the SmallVector unit tests to be type-parameterized so that we can
test more than a single instantiation of SmallVector.

Add testing for 0, 1, 2, and 4 element sized "small" buffers. These
appear to be essentially untested in the unit tests until now.

Fix several tests to be robust in the face of a '0' small buffer. As
a consequence of this size buffer, the growth patterns are actually
observable in the test -- yes this means that many tests never caused
a grow to occur before. For some tests I've merely added a reserve call
to normalize behavior. For others, the growth is actually interesting,
and so I captured the fact that growth would occur and adjusted the
assertions to not assume how rapidly growth occured.

Also update the specialization for a '0' small buffer length to have all
the same interface points as the normal small vector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
e82fafe9e22c7f0bb35ec4cb7d5428bf9e930807 27-Jul-2012 Benjamin Kramer <benny.kra@googlemail.com> SmallVector: Crank up verbosity of asserts per Chandler's request.

Also add assertions to validate the iterator in the insert method overloads.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
df7c5d4137fd5cf63d9a9b0f09c9d7255895908c 27-Jul-2012 Benjamin Kramer <benny.kra@googlemail.com> SmallVector::erase: Assert that iterators are actually inside the vector.

The rationale here is that it's hard to write loops containing vector erases and
it only shows up if the vector contains non-trivial objects leading to crashes
when forming them out of garbage memory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
d9cff9a25a9d4f2d8d9c1cb4960fb52cb049ef49 08-Jul-2012 Benjamin Kramer <benny.kra@googlemail.com> SmallVector: Make use of move semantics to speed up moving objects in erase() and insert()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
d45f7b6b5dd36b4732dff82ab7c8a856a7b36ae0 17-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> Bring the return value of SmallVector::insert in line with std::vector::insert.

It always returns the iterator for the first inserted element, or the passed in
iterator if the inserted range was empty. Flesh out the unit test more and fix
all the cases it uncovered so far.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
5f6c7cfa931a9f9a154c67927f5dec7e928c23d6 17-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> SmallVector: return a valid iterator for the rare case of inserting an empty range into a SmallVector.

Patch by Johannes Schaub!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
38dbb606755232e229f11994fc2bbf10e8c5788b 02-May-2012 John McCall <rjmccall@apple.com> Update SmallVector to support move semantics if the host does.
Note that support for rvalue references does not imply support
for the full set of move-related STL operations.

I've preserved support for an odd little thing in insert() where
we're trying to support inserting a new element from an existing
one. If we actually want to support that, there's a lot more we
need to do: insert can call either grow or push_back, neither of
which is safe against this particular use pattern.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
3703baacf5c17425a07d57583148086a746c5f98 29-Apr-2012 Benjamin Kramer <benny.kra@googlemail.com> SmallVector: Don't rely on having an assignment operator around in push_back for POD-like types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
e4c972d8643a340e822c419eea2461c1357fb015 13-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> Remove an old hack for pre-2005 MSVC. We don't support ancient microsoft compilers anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
d8d110e08ab3fee8d0a2b758c893b7966fd2d3d8 16-Feb-2012 Pete Cooper <peter_cooper@apple.com> Template specialize SmallVector::push_back based on POD-ness of the type. Reduces clang binary by 188KB

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
c05277ea8744adc1ac75541a078d8ebbb04233a6 05-Feb-2012 Benjamin Kramer <benny.kra@googlemail.com> SmallVector's construct_range is the same thing as std::uninitialized_fill, no need to reinvent it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
b25e44ec1506cd42ab676ac7ddf8dc8f228bcada 05-Feb-2012 Benjamin Kramer <benny.kra@googlemail.com> Simplify code. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
3feccbaaee2fe639fd089cdb78ad623f662a5796 20-Jan-2012 Benjamin Kramer <benny.kra@googlemail.com> Protect SmallVectorImpl's constructor and a few other methods that aren't meant to be public.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
18dceba0bb5e38250535401ecc9d9737943d0657 27-Jul-2011 Ted Kremenek <kremenek@apple.com> Add a generic 'capacity_in_bytes' function to allow inspection of memory usage of various data structures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
9cbd7afb76f20ce874464c238764c54f86b3ce3b 07-Jul-2011 Owen Anderson <resistor@mac.com> Fix a subtle issue in SmallVector. The following code did not work as expected:
vec.insert(vec.begin(), vec[3]);
The issue was that vec[3] returns a reference into the vector, which is invalidated when insert() memmove's the elements down to make space. The method needs to specifically detect and handle this case to correctly match std::vector's semantics.

Thanks to Howard Hinnant for clarifying the correct behavior, and explaining how std::vector solves this problem.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.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/SmallVector.h
58fe86dc0ecb7efff01abe2b0024a6a53ebb2c81 09-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com> Support: Move c_str from SmallVector back to SmallString and add a free standing
templated c_str in Windows.h to replace it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
e99bbd9ac3cc7ba2615c9b800a002e47c8e13991 06-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com> Support/ADT: Move c_str() from SmallString to SmallVectorImpl. The Windows PathV2
implementation needs it for wchar_t and SmallVectorImpl in general.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
052f1eebdb6dbfb3f1197cc91f28ebc688ffb02d 26-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Fix spelling!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
326990f1eb7ff005adabe46a1f982eff8835813e 26-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Fix Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
5dd76fa50a63c6460957d11d2542469f0a7d65d7 03-Oct-2010 Duncan Sands <baldrick@free.fr> GCC extensions are no longer used here - update the comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
75e2016f02428289e9cfd693a27bcd9a2a5cc00f 03-Oct-2010 Duncan Sands <baldrick@free.fr> Remove two uses of the gcc specific 'aligned' attribute. This
is partly because this attribute caused trouble in the past (the
SmallVector one had to be changed from aligned to aligned(8) due
to causing crashes on i386 for example; in theory the same might
be needed in the Allocator case...). But it's mostly because
there seems to be no point in special casing gcc here. Using the
same implementation for all compilers results in better testing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
2a9a2dba4c02e7eea3aeba2be5dc1fc377d5aa5c 02-Sep-2010 John McCall <rjmccall@apple.com> After some discussion with djg, teach SmallVector to grow from a zero
capacity and remove the workaround in SmallVector<T,0>. There are some
theoretical benefits to a N->2N+1 growth policy anyway.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
4672f0f61c0cc1a90d575fcbfd7d905396f81cc6 26-Aug-2010 John McCall <rjmccall@apple.com> SmallVector's growth policies don't like starting from zero capacity.
I think there are good reasons to change this, but in the interests
of short-term stability, make SmallVector<...,0> reserve non-zero
capacity in its constructors. This means that SmallVector<...,0>
uses more memory than SmallVector<...,1> and should really only be
used (unless/until this workaround is removed) by clients that
care about using SmallVector with an incomplete type.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
5b5f7260a0f0da9a2057245fd42a6b196ccec33d 26-Aug-2010 John McCall <rjmccall@apple.com> Provide an explicit specialization of SmallVector at N=0 which does
not require its type argument to be complete if no members are
actually used.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
59d52a3dfe90fa119645ee5a4f4c8301ba331f91 15-Jun-2010 Chris Lattner <sabre@nondot.org> disable SmallVectorImpl's copy constructor. This prevents a class
of base class slicing bugs reported on irc


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
345b378309eabd74a7a43f095dca9a4894bc371e 10-Jun-2010 Duncan Sands <baldrick@free.fr> Add includes to get ptrdiff_t. This is needed by gcc-4.6 which has
done some more header trimming, resulting in cstdef being included
by less header files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
d164d3d9e74aa099ce7ef86ac0724fe504f7c3f9 08-Jun-2010 Benjamin Kramer <benny.kra@googlemail.com> Use realloc instead of malloc+memcpy when growing a POD SmallVector. A smart
realloc implementation can try to expand the allocated memory block in-place,
avoiding the copy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
63ef367954c0981ec221f183fc0808ba21cb678d 02-Jun-2010 Jim Grosbach <grosbach@apple.com> remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
e8ab3bd3a5c53827dff622723f0834a8f641b1e9 29-Apr-2010 Torok Edwin <edwintorok@gmail.com> Fix PR6910.

Limit alignment in SmallVector 8, otherwise GCC assumes 16 byte alignment.
opetaror new, and malloc only return 8-byte aligned memory on 32-bit Linux,
which cause a crash if code is compiled with -O3 (or -ftree-vectorize) and some
SmallVector code is vectorized.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
a7a33fd95f15428b7030ef1b764fcf924d5199c8 26-Mar-2010 Dan Gohman <gohman@apple.com> Fix SmallVector's insert to handle non-random-access iterators.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
d720712f670d98a9128991f2261e58808ec96c12 18-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> Fix a name clash that was breaking MSVC builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
74cdc75313974456d1f040ca2dca33f16a18f9b3 18-Mar-2010 Dan Gohman <gohman@apple.com> Fix a bug found by inspection; in the __GNUC__ code, the alignment
doesn't apply to the type, only to the variable, so subsequent uses
of U which expect it to be aligned weren't actually aligned.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
b63bb1615b44bc9e18dec68660d33c04401987b6 17-Dec-2009 Chris Lattner <sabre@nondot.org> tabs -> spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
b2273d50bc37caabf5aa6703d10c3fe34b6f06cb 17-Dec-2009 Steve Naroff <snaroff@apple.com> Fix Windows build breakage...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
af15ffb9127dff185b74ff8b37a9d570ca547c61 17-Dec-2009 Eric Christopher <echristo@apple.com> Fix unused variable warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
4eeeb4767ca4e020e7d9aff1be671d2fc6f74b81 16-Dec-2009 Daniel Dunbar <daniel@zuster.org> Fix one more missing this-> to placate that picky clang++.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
acf8723b8e531e64abd3be61b4f34e7700c6028d 16-Dec-2009 Chris Lattner <sabre@nondot.org> fix more missing this->'s to placate clang++


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91531 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
2e376a87dee2d10c48908c43037f61b965cec496 16-Dec-2009 Chris Lattner <sabre@nondot.org> Fix a missing this-> that clang++ notices.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91530 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
b3649db1022ef464687df135934c6e743e5c5cb8 16-Dec-2009 Chris Lattner <sabre@nondot.org> now that libsystem no longer uses SmallVector, we can move
SmallVectorBase::grow_pod out of line, finally satisfying PR3758.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
99ea87a48a3a891dbf5f4cb89179610a5f3f84cf 16-Dec-2009 Chris Lattner <sabre@nondot.org> factor out the grow() method for all pod implementations into one
common function. It is still an inline method, which will be fixed next.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
2676f183123e1472c8d9d7f6a64f1d50a74e484a 16-Dec-2009 Chris Lattner <sabre@nondot.org> pull destroy_range and uninitialized_copy up to the
SmallVectorTemplateBase class, which allows us to statically
dispatch on isPodLike instead of dynamically.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
e6e55d79592fa0926175d6b17e3db89b298ada4e 16-Dec-2009 Chris Lattner <sabre@nondot.org> sink most of the meat in smallvector back from SmallVectorTemplateCommon
down into SmallVectorImpl. This requires sprinking a ton of this->'s in,
but gives us a place to factor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
de576fa579b4b3077a3c315d6507f13ab71d61ab 16-Dec-2009 Chris Lattner <sabre@nondot.org> substantial refactoring of SmallVector, now most code is in SmallVectorTemplateCommon,
and there is a new SmallVectorTemplateBase class in between it and SmallVectorImpl.
SmallVectorTemplateBase can be specialized based on isPodLike.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
4a5129c700a76bf5c4b7f2aa9c362496fb6d8bd6 15-Dec-2009 Chris Lattner <sabre@nondot.org> a few improvements:
1. Use std::equal instead of reinventing it.
2. don't run dtors in destroy_range if element is pod-like.
3. Use isPodLike to decide between memcpy/uninitialized_copy
instead of is_class. isPodLike is more generous in some cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
10aaf05c304e259dbb853a37d491fdc4ea54c9b1 15-Dec-2009 Chris Lattner <sabre@nondot.org> hoist the begin/end/capacity members and a few trivial methods
up into the non-templated SmallVectorBase class.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
dc2e570411bb1b1345a6b9840050aca823835a81 15-Dec-2009 Chris Lattner <sabre@nondot.org> improve isPodLike to know that all non-class types are pod.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
f0891be8bdbeeadb39da5575273b6645755fa383 27-Aug-2009 Gabor Greif <ggreif@gmail.com> Clean up the minor mess I caused with removing iterator.h. I shall take care of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
c2da6fb3e50902daf670fe83b8b017a2bcba05df 19-Aug-2009 Daniel Dunbar <daniel@zuster.org> Add SmallVector::{capacity,set_size}.
- These allow clients to make use of the extra elements in the vector which
have already been allocated, without requiring them to be value initialized.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
c5d73afa4801d3cb7abea0244c2e9e687564fd6c 21-May-2009 Jay Foad <jay.foad@gmail.com> Tighten up the asserts in SmallVector::operator[]().
If this causes any new assertion failures that I didn't catch in
testing, the fix is usually to change "&v[0]" to "v.data()" for some
SmallVector v.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
82fe2935bf623f09533412126ad31e62dc3167ab 21-May-2009 Jay Foad <jay.foad@gmail.com> Implement new SmallVector::data() methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
747972914ae73379fd837e5a30cea229be792e34 22-Apr-2009 Owen Anderson <resistor@mac.com> Fix for PR3946, in which SmallVector could behave strangely in corner cases.

Patch by Peter Johnson.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
d0dfbe096dd71ca4d652784705584876f8b18250 02-Apr-2009 Chris Lattner <sabre@nondot.org> fix overflow checks in SmallVector:

"The code was doing "if (End+NumInputs > Capacity) ...". If End is
close to 0xFFFFFFFF and NumInputs is large, it'll overflow, the
condition will come out false, and the vector won't grow to
accommodate the new elements, and the program will crash in memmove."

Patch by Jeffrey Yasskin!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
dae2206390be0b1886cf0c1dba3edf079d28274f 22-Mar-2009 Chris Lattner <sabre@nondot.org> Fix PR3860 by correcting a predicate.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
a2769a33c94f021a609a462b28ebea069eba6f74 20-Feb-2009 Misha Brukman <brukman+llvm@gmail.com> Fixed lint errors:
* Alphabetized #includes
* Removed trailing whitespace
* Wrapped or shortened lines over 80 chars


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
38deef9ce58b33dba34515f23fb7dbde02164c77 18-Feb-2009 Dan Gohman <gohman@apple.com> Add explicit keywords.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.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/SmallVector.h
c1edbfc2bac278ef050615f403c1bc74ef44cf14 13-Dec-2008 Cedric Venet <cedric.venet@laposte.net> Add explicit this-> for some member function in templated base class.
These call are probably dependent but VS with /Za don't seems to think so. We need to help him.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
7f50863e527f5464bd6fcbcd7719f8344f54cb7e 05-Dec-2008 Chris Lattner <sabre@nondot.org> add a new pop_back_val method which returns the value popped. This is
heretical from a STL standpoint, but is oh-so-useful for things that
can't throw exceptions when copied, like, well, everything in LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
254a8860570b2624752b079b4a3e37b0942a888a 16-Oct-2008 Dan Gohman <gohman@apple.com> Implement a SmallVector insert method that can insert multiple
copies of a value, and add several additional utilities to make
SmallVector better conform to the Container concept.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
73c3a94df976593fe6759446a4e30f95b493a76e 22-Sep-2008 Rafael Espindola <rafael.espindola@gmail.com> Add bound checks in SmallVector



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
1501cdbf63cff3afd92df6cd249096770334b268 22-Aug-2008 Dan Gohman <gohman@apple.com> Fix SmallVector's size calculation so that a size of 0 is
handled correctly, and change a few SmallVector uses to use
size 0 to more clearly reflect their intent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
0c5a560b034b377e3966833de30167e9030b5cc8 15-Aug-2008 Owen Anderson <resistor@mac.com> Add a value_type typedef to SmallVector, to make it more compatible with STL adapters.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
d24c62c67e674a856af25a93846619b4f0d3e234 07-Jul-2008 Dan Gohman <gohman@apple.com> Remove unnecessary static_casts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
ff4d609ec5eca4fc30a931a505d0c18f7569f8c4 01-Jul-2008 Seo Sanghyeon <sanxiyn@gmail.com> Compilation fix

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
f4d7708972370bdd438830e50594b90a36bb6f76 30-Jun-2008 Dan Gohman <gohman@apple.com> Make SmallVector's grow use memcpy in common cases
instead of std::uninitialized_copy, which uses memmove.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
7c6618926a9036fccc44fc58e0e0f47042904e7c 30-Jun-2008 Dan Gohman <gohman@apple.com> Use plain operator new instead of new char[].


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
11bf2ace556da018c65163557fb97704b1cf88e4 31-May-2008 Dan Gohman <gohman@apple.com> Add an operator< for SmallVector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
43d1fd449f1a0ac9d9dafa0b9569bb6b2e976198 29-May-2008 Anton Korobeynikov <asl@math.spbu.ru> For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
13d57320bd212483463d4f8992d5787b29eda5df 19-May-2008 Bill Wendling <isanbard@gmail.com> Remove warnings about unused parameters and shadowed variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.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/SmallVector.h
b606dba13ba84721cc297174c2eb1275bc642604 28-Apr-2008 Chris Lattner <sabre@nondot.org> Remove the SmallVector ctor that converts from a SmallVectorImpl. This
conversion open the door for many nasty implicit conversion issues, and
can be easily solved by initializing with (V.begin(), V.end()) when
needed.

This patch includes many small cleanups for sdisel also.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
e49e52d85601e8f732da16ca21e3de6cefd20158 28-Apr-2008 Chris Lattner <sabre@nondot.org> restore the copy ctor in SmallVector. This fixes serious
errors I introduced in my last patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
5da0b73aa11eca430ed9e03e157f8432870fa50b 28-Apr-2008 Chris Lattner <sabre@nondot.org> generalize SmallVector copy ctor, there is no requirement for
the initialization vector to have the same fixed size, just the
same element type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
a022e3fc2f2faec2982ac184c98fee28d85a448a 02-Apr-2008 David Greene <greened@obbligato.org> Iterators folloring a SmallVector erased element are invalidated so
don't access cached iterators from after the erased element.

Re-apply 49056 with SmallVector support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
8874628e30a327afe91648c84bfa1e2dd13f0dba 11-Jan-2008 Chris Lattner <sabre@nondot.org> add operator==/!= to smallvector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.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/SmallVector.h
8568122b41340e9c3bfac47f3714db4241196fbd 20-Aug-2007 Chris Lattner <sabre@nondot.org> add reverse iterators to smallvector



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
276222a5ae189ed5c6a2afb248d4c8f0335585b4 12-Aug-2007 Reid Spencer <rspencer@reidspencer.com> Change casts from old style to new style. This helps document the details
better, gives the compiler a chance to validate the cast and reduces warnings
if the user turns on -Wold-style-cast option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
4f155b4c8597f40a79add430dfedb2c08ba28375 10-Aug-2007 Chris Lattner <sabre@nondot.org> memcpy with zero length is hugely expensive, so avoid it. This speeds up coallescing from 1.17s to 0.88s on siod.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
02cee38647ea413e5d05f29f67a7f003db9f0081 10-Aug-2007 Chris Lattner <sabre@nondot.org> small speedup in the case where a smallvector is default ctor'd from
an empty vector. This speeds up llc slightly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
59310c3dc0061a0fd6842c66ac3215fbbdfe4ae4 30-Jun-2007 Dan Gohman <gohman@apple.com> Add an explicit keyword. Thanks Chris!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
8b42bcdd1ad6f3f908d062b189fbc2a6449fae83 28-Jun-2007 Dan Gohman <gohman@apple.com> Add a default parameter to a SmallVector constructor to allow it to
be called with just an initial length value, just like in std::vector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
26b146ccf10979809a8bfe9c2d798f4b6fbf39de 17-May-2007 Chris Lattner <sabre@nondot.org> silence some "comparison between signed and unsigned integer expressions"
warnings


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
df799afbecee669fb8b86c9590ad2d32d9e3216f 17-May-2007 Dan Gohman <gohman@apple.com> Fix some sporadic segfaults that are triggered when SmallVector's heap
storage lands near the end of the available address space. In the expression
Begin+N > Capacity, the Begin+N was overflowing. Fix this by replacing it
by with an expression that doesn't involve computation of an address
beyond the end of allocated memory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
3f520a71117535a3c995933186cc5bc373ffc61f 19-Apr-2007 Jeff Cohen <jeffc@jolt-lang.org> Fix some VC++ warnings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
72adee00f6e0cd3239a2b4e1e1c8512e26ec6537 05-Mar-2007 Jeff Cohen <jeffc@jolt-lang.org> The hack won't work on VS 2005, and it might not be needed anyway.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
f15bd1b9c66ca11776060ae0db2024d741d9de2d 05-Mar-2007 Jeff Cohen <jeffc@jolt-lang.org> Elminate tabs and improve comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
ca5183d445954a9b2a570d6bbba1bc2b00ad6442 05-Mar-2007 Jeff Cohen <jeffc@jolt-lang.org> Unbreak VC++ build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
8c06509f9590a63ab2d4361945aac18c02b71f0c 13-Feb-2007 Chris Lattner <sabre@nondot.org> fix a critical bug in smallvector, where it would destroy elements that are
not in its range (!).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
af3e4d4bee2519962fb1f5dabece364df522f508 31-Jan-2007 Chris Lattner <sabre@nondot.org> add missing ctor


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
09b6ac92d855fc0224562bdc06349f986a31926b 30-Oct-2006 Chris Lattner <sabre@nondot.org> add a new form of insert.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
dd94c8d6b2afb9c33c364ac8f0c8f8ed5d4c04a0 30-Oct-2006 Chris Lattner <sabre@nondot.org> Add SmallString a (currently) minimal class that adapts SmallVector to be
more string-like.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
f2bdcb31877bf5e79903316c49b6a29376f03919 09-Oct-2006 Andrew Lenharth <andrewl@lenharth.org> Fix build error in gcc 3.4 and make more this general


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
53b06db6c7d45963be4a0e847a77447c93c1e045 09-Oct-2006 Chris Lattner <sabre@nondot.org> Fix PR897


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
0750bec272350cbbf23aa4d43a46785324ee212e 01-Sep-2006 Chris Lattner <sabre@nondot.org> add a simple reserve method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
181c359c9d29be884ca1fd33c0469b1b567bd33c 28-Aug-2006 Chris Lattner <sabre@nondot.org> Add 2nd form of resize


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
57b79795b37b367d69d58ad10f25e997b4f55ce9 22-Aug-2006 Chris Lattner <sabre@nondot.org> add resize, move swap out of line


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
d6007d607641b6dae3511b8ebc1d752ff327aed0 22-Aug-2006 Chris Lattner <sabre@nondot.org> add a bunch more operations, including swap, insert, erase, front(), and
bugfixes for operator=.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29811 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
67b7ff9ede110999f3a37f22c24bdf00a405a78a 17-Aug-2006 Chris Lattner <sabre@nondot.org> silence a warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
2e6baf626d2096eade89e5305bc09e369a761516 16-Aug-2006 Chris Lattner <sabre@nondot.org> Bugfixes for smallvector when the element size is small and N is small.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
b5677f933f918acd8b8525635510d22dfb26285e 14-Aug-2006 Chris Lattner <sabre@nondot.org> avoid a warning


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
1653366010ce0c69fdb0fac7c08cc7ca5668bd84 12-Aug-2006 Chris Lattner <sabre@nondot.org> move code out of line so that GCC doesn't inline it at -O3


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
80b65823147ba498efd9a5df72afc7ff7d9dc0d9 12-Aug-2006 Chris Lattner <sabre@nondot.org> Split SmallVector into SmallVector and SmallVectorImpl, which allows us to
eliminate code duplication due to the 'N' parameter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
8e10f5b8113a5080fc916d1123377292ef2f6012 08-Aug-2006 Chris Lattner <sabre@nondot.org> capacity is a pointer, not a value


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
1c567b5d92c4babe33d606aa2c2643655fd3a136 08-Aug-2006 Chris Lattner <sabre@nondot.org> add a new assign method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
8de353df9da7e5931688075c85d01e3153c73185 08-Aug-2006 Chris Lattner <sabre@nondot.org> Add ctor that initializes from a range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
d0337c167852fe313e09e20f5ef0819e3555b04d 08-Aug-2006 Chris Lattner <sabre@nondot.org> Remove assertions from the SmallVector class. They slow down clients of
smallvector too much in a release build. Removing them speeds up isel 4%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
f5e42bfed1726607506b6502166016cb2e41fe32 07-Aug-2006 Chris Lattner <sabre@nondot.org> Add a clear method to SmallVector


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
e6ffe61c8455e4b343584c5fab88eb5774916356 05-Aug-2006 Evan Cheng <evan.cheng@apple.com> This causes some random crashes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
d91e5f911f5fc840725771d3b27211b9748659e3 28-Jul-2006 Chris Lattner <sabre@nondot.org> The smallvector dtor should destroy the elements.
Implement pop_back.
Chage some code to use 'iterator' instead of T*. This unbreaks operators=.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
825405c0c1b92c69cea283f97ee829ea3f23e3a4 27-Jul-2006 Chris Lattner <sabre@nondot.org> Use std::copy instead of custom loops to take advantage of STL optimizations.
Add a new append method for appending a range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h
f28265402130eb03762d9a6333fd8f87765a8875 26-Jul-2006 Chris Lattner <sabre@nondot.org> Add a new llvm::SmallVector template, which is similar to the vector class, but
contains optimizations to avoid heap allocation if the vector size is smaller
than some threshold. This can significantly improve the performance of code
that allocates many small vectors by eliminating tons of small malloc/free's.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/SmallVector.h