summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/SmallVector.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [ADT] Assert that SmallVectorBase::grow_pod() successfully reallocates memory.Daniel Sanders2015-06-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | Summary: If malloc/realloc fails then the SmallVector becomes unusable since begin() and end() will return NULL. This is unlikely to occur but was the cause of recent bugpoint test failures on my machine. It is not clear whether not checking for malloc/realloc failure is a deliberate decision and adding checks has the potential to impact compiler performance. Therefore, this patch only adds the check to builds with assertions enabled for the moment. Reviewers: bkramer Reviewed By: bkramer Subscribers: bkramer, llvm-commits Differential Revision: http://reviews.llvm.org/D9520 llvm-svn: 239392
* Reduce alignment of SmallVector<T> to the required amount, rather than ↵Richard Smith2012-08-221-3/+3
| | | | | | forcing 16-byte alignment. This fixes misaligned SmallVector accesses via ExtractValueInst's SmallVector data member. llvm-svn: 162331
* After some discussion with djg, teach SmallVector to grow from a zeroJohn McCall2010-09-021-1/+1
| | | | | | | capacity and remove the workaround in SmallVector<T,0>. There are some theoretical benefits to a N->2N+1 growth policy anyway. llvm-svn: 112870
* Use realloc instead of malloc+memcpy when growing a POD SmallVector. A smartBenjamin Kramer2010-06-081-9/+12
| | | | | | | realloc implementation can try to expand the allocated memory block in-place, avoiding the copy. llvm-svn: 105605
* now that libsystem no longer uses SmallVector, we can move Chris Lattner2009-12-161-0/+37
SmallVectorBase::grow_pod out of line, finally satisfying PR3758. llvm-svn: 91529
OpenPOWER on IntegriCloud