History log of /external/llvm/lib/Support/Allocator.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
97e910ecff5ed8b653a07fb1d014dab772931c0b 01-Mar-2012 Benjamin Kramer <benny.kra@googlemail.com> BumpPtrAllocator: Make sure threshold cannot be initialized with a value smaller than the slab size.

This replaces r151834 with a simpler fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
680458275fd6c05ce3683d86483eff1254d0df80 01-Mar-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> If BumpPtrAllocator is requested to allocate a size that exceeds the slab size,
increase the slab size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
1da29dd3f85f5e3f50365d8e75efb8cbfba84381 19-Apr-2011 Ted Kremenek <kremenek@apple.com> Add BumpPtrAllocator::getTotalMemory() to allow clients to query how much memory a BumpPtrAllocator allocated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
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/lib/Support/Allocator.cpp
82d96cccbc40f53c28dd8288b475e535ef017c3a 30-Sep-2010 Benjamin Kramer <benny.kra@googlemail.com> Grow BumpPtrAllocator's slab size dynamically if we allocated many slabs. This
reduces the amount of malloc calls and may reduce memory overhead.

Some numbers:
ASTContext stats, clang -cc1 -disable-free -fsyntax-only Cocoa_h.m
without dynamic growth | with dynamic growth
Number of memory regions: 3158 | Number of memory regions: 432
Bytes used: 12333185 | Bytes used: 12333185
Bytes allocated: 12935168 | Bytes allocated: 12800000
Bytes wasted: 601983 (includes alignment, etc) | Bytes wasted: 466815 (includes alignment, etc)

ASTContext stats, clang -cc1 -disable-free -fsyntax-only on clang's ASTReader.cpp
without dynamic growth | with dynamic growth
Number of memory regions: 10987 | Number of memory regions: 551
Bytes used: 42910356 | Bytes used: 42910356
Bytes allocated: 45002752 | Bytes allocated: 44711936
Bytes wasted: 2092396 (includes alignment, etc) | Bytes wasted: 1801580 (includes alignment, etc)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
b0322e6ddfb7f56cb7e8a770ec307fdb00cd5437 13-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> BumpPtrAllocator::Reset() doesn't need to allocate anything. (Thanks, Jakob)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
5e6a705985f960b8d8a6df969930a51b5136bdfa 13-Apr-2010 Benjamin Kramer <benny.kra@googlemail.com> Let BumpPtrAllocator lazily allocate the first slab.

We have some code in llvm and clang where a BumpPtrAllocator is declared in a
class but never used in the common case. Stop wasting memory there.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
991de14dd62dcbab4b31357ae22dc5b053ba50a0 30-Mar-2010 Benjamin Kramer <benny.kra@googlemail.com> Introduce SpecificBumpPtrAllocator, a wrapper for BumpPtrAllocator which allows
only a single type of object to be allocated. Use it to make VNInfo destruction
typesafe.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
01cb1b665da03e2b74c0724f71751e912ec8c2be 30-Mar-2010 Torok Edwin <edwintorok@gmail.com> Reapply r99881 with some fixes: only call destructor in releaseMemory!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
226dd2ba992b1f00491c10c59ca1889825bf92b6 30-Mar-2010 Torok Edwin <edwintorok@gmail.com> Revert 99881, it brooke smooshlab's llvm-gcc-i386-darwin9.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99882 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
2a22004f6857c57dc483ea6180f0e1f86854bd13 30-Mar-2010 Torok Edwin <edwintorok@gmail.com> Introduce another Reset() method in BumpPtrAllocator that calls a destructor
on all objects it has allocated, if they are all of the same size and alignment.
Use this to destruct all VNInfos allocated in LiveIntervalAnalysis (PR6653).

valnos is not reliable for this purpose, as seen in r99400
(which still leaked, and sometimes caused double frees).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
c5b7b196770f8c3c83e4ec06c0f2a1f53b623b6f 16-Jan-2010 Bill Wendling <isanbard@gmail.com> Temporarily revert r93581. It was causing failures in the ExecutionEngine tests
on the build bots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
67c59826bf0c2e980130781d1ea0d6b062e4b659 16-Jan-2010 Ted Kremenek <kremenek@apple.com> BumpPtrAllocator: Have the DefaultSlabAllocator created at runtime, not initialization time. This removes one of the 'init_constructors' reported in <rdar://problem/7545356>.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93581 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
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/lib/Support/Allocator.cpp
c48edbb2fd4b7196b8bc67e7e450553602b5a754 09-Sep-2009 Evan Cheng <evan.cheng@apple.com> Make sure the memory range is writable before memset'ing it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
7d509134dcec17f6094032196b21af5c67943f0f 25-Jul-2009 Reid Kleckner <reid@kleckner.net> Added a test and fixed a bug in BumpPtrAllocator relating to large alignment
values. Hopefully this fixes PR4622.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
7da9559c523584ce704d3e6321e613e3c2f00b3d 24-Jul-2009 Daniel Dunbar <daniel@zuster.org> Switch to raw_ostream.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
8f51a62b41a425f7fe262ff20cee835129ecc072 23-Jul-2009 Reid Kleckner <reid@kleckner.net> Re-committing changes from r76825 to BumpPtrAllocator with a fix and tests for
an off-by-one error.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
4bf370698a456bcc96d26184785eb4f5fab396f2 23-Jul-2009 Reid Kleckner <reid@kleckner.net> Reverting r76825 and r76828, since they caused clang runtime errors and some build failure involving memset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
54e650f2c7bfcaec159ae41b2d79ce4a9a45edf8 23-Jul-2009 Zhongxing Xu <xuzhongxing@gmail.com> add header for 'memset'.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
95eb3ad353460c6987a9d1e03a3e3e12c75b4059 23-Jul-2009 Reid Kleckner <reid@kleckner.net> Parameterize the BumpPtrAllocator over a slab allocator. It defaults to using
malloc, so there should be no functional changes to other code.

These changes are necessary since I have plans to use this allocator in the JIT
memory manager, and it needs a special allocator.

I also added some tests which helped me pinpoint some bugs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
fed90b6d097d50881afb45e4d79f430db66dd741 28-Jul-2008 Dan Gohman <gohman@apple.com> Fold the useful features of alist and alist_node into ilist, and
a new ilist_node class, and remove them. Unlike alist_node,
ilist_node doesn't attempt to manage storage itself, so it avoids
the associated problems, including being opaque in gdb.

Adjust the Recycler class so that it doesn't depend on alist_node.
Also, change it to use explicit Size and Align parameters, allowing
it to work when the largest-sized node doesn't have the greatest
alignment requirement.

Change MachineInstr's MachineMemOperand list from a pool-backed
alist to a std::list for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
e14d81deeb6bb3404ffee5e59ecb88304f112f4a 08-Jul-2008 Dan Gohman <gohman@apple.com> Add some basic Pool-allocation infrastructure. This adds a Recycler class,
for handling bookkeeping for deleted objects, as well as the alist class
template, for keeping lists of objects allocated from Recyclers, and some
related utilities.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
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/lib/Support/Allocator.cpp
3e2dda63d03b84e558c757fae67ee8fe028b9124 28-Apr-2008 Dan Gohman <gohman@apple.com> Fix a pointer-arithmetic bug that caused 64-bit host pointer values to
be truncated to 32 bits. This fixes the recent Benchmarks/McCat/09-vor
regression on x86-64, among other things.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
c9715624fa096bf412bf5d63214d9ea8fae485af 28-Apr-2008 Ted Kremenek <kremenek@apple.com> Bug fix in BumpPtrAllocator: don't assume that all objects have the same alignment. "Bump" of the pointer for the next allocated object to be of the specified alignment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
7dfda9e674c655d36147f074f4df9bef11f9c383 08-Sep-2007 Evan Cheng <evan.cheng@apple.com> Smarter Reset(). Instead of deallocating all memory regions and reallocate the
first region, just deallocate all but the last region in the list.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
188b5224fd9c8573713665c77f9d2f415bcc4ff1 05-Sep-2007 Evan Cheng <evan.cheng@apple.com> Added Reset() to free all allocated memory regions and reset state to be the same as right after ctor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
d675b8347dd5f10496aa331811eed8d5e066f70d 23-Feb-2007 Chris Lattner <sabre@nondot.org> Avoid TBAA issue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
1a097e30d39e60303ae2b19f7a56e813f3e3c18e 08-Dec-2006 Bill Wendling <isanbard@gmail.com> Don't use <sstream> in Streams.h but <iosfwd> instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
e81561909d128c6e2d8033cb5465a49b2596b26a 07-Dec-2006 Bill Wendling <isanbard@gmail.com> Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
fe6b146dcd09f488b12c7ff888ead9cedc92c2a6 26-Nov-2006 Bill Wendling <isanbard@gmail.com> Removed #include <iostream> and replace with llvm_* streams.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
72a780f5777cfbeabab6d684a0d360a1f8810a6e 08-Nov-2006 John Criswell <criswell@uiuc.edu> Include llvm/Support/DataTypes.h to define intptr_t.
This fixes the build on OpenBSD and potentially other systems.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp
9f617d64c5f3f2a0949f359f63b1cb3bff4b3a9b 29-Oct-2006 Chris Lattner <sabre@nondot.org> Add a new llvm::Allocator abstraction, which will be used by a container
I'm about to add. This is similar to, but necessarily different than, the
STL allocator class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Allocator.cpp