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
|