Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						b0322e6ddf 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-04-13 16:38:06 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						5e6a705985 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-04-13 14:41:51 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						991de14dd6 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-03-30 20:16:45 +00:00 
						 
				 
			
				
					
						
							
							
								Torok Edwin 
							
						 
					 
					
						
						
							
						
						01cb1b665d 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-03-30 11:17:48 +00:00 
						 
				 
			
				
					
						
							
							
								Torok Edwin 
							
						 
					 
					
						
						
							
						
						226dd2ba99 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-03-30 10:25:08 +00:00 
						 
				 
			
				
					
						
							
							
								Torok Edwin 
							
						 
					 
					
						
						
							
						
						2a22004f68 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-03-30 10:08:26 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						c5b7b19677 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-01-16 01:06:58 +00:00 
						 
				 
			
				
					
						
							
							
								Ted Kremenek 
							
						 
					 
					
						
						
							
						
						67c59826bf 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-01-15 23:29:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chandler Carruth 
							
						 
					 
					
						
						
							
						
						8b67f774e9 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-10-26 01:35:46 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c48edbb2fd 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-09-09 01:45:24 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Kleckner 
							
						 
					 
					
						
						
							
						
						7d509134dc 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-07-25 21:26:02 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						7da9559c52 
					 
					
						
						
							
							Switch to raw_ostream.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76943  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-24 04:01:01 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Kleckner 
							
						 
					 
					
						
						
							
						
						8f51a62b41 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-07-23 18:34:13 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Kleckner 
							
						 
					 
					
						
						
							
						
						4bf370698a 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-07-23 01:40:54 +00:00 
						 
				 
			
				
					
						
							
							
								Zhongxing Xu 
							
						 
					 
					
						
						
							
						
						54e650f2c7 
					 
					
						
						
							
							add header for 'memset'.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76837  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-23 01:38:47 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Kleckner 
							
						 
					 
					
						
						
							
						
						95eb3ad353 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-07-23 00:30:41 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						fed90b6d09 
					 
					
						
						
							
							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 
						
						
					 
					
						2008-07-28 21:51:04 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e14d81deeb 
					 
					
						
						
							
							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 
						
						
					 
					
						2008-07-07 22:58:06 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						34cd4a484e 
					 
					
						
						
							
							Fix more -Wshorten-64-to-32 warnings.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-05 18:30:58 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						3e2dda63d0 
					 
					
						
						
							
							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 
						
						
					 
					
						2008-04-28 20:25:15 +00:00 
						 
				 
			
				
					
						
							
							
								Ted Kremenek 
							
						 
					 
					
						
						
							
						
						c9715624fa 
					 
					
						
						
							
							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 
						
						
					 
					
						2008-04-28 17:58:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ee451de36 
					 
					
						
						
							
							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 
						
						
					 
					
						2007-12-29 20:36:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7dfda9e674 
					 
					
						
						
							
							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 
						
						
					 
					
						2007-09-08 00:02:17 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						188b5224fd 
					 
					
						
						
							
							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 
						
						
					 
					
						2007-09-05 21:41:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d675b8347d 
					 
					
						
						
							
							Avoid TBAA issue.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34539  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-23 22:31:24 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						1a097e30d3 
					 
					
						
						
							
							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 
						
						
					 
					
						2006-12-07 23:41:45 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						e81561909d 
					 
					
						
						
							
							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 
						
						
					 
					
						2006-12-07 01:30:32 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						fe6b146dcd 
					 
					
						
						
							
							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 
						
						
					 
					
						2006-11-26 10:52:51 +00:00 
						 
				 
			
				
					
						
							
							
								John Criswell 
							
						 
					 
					
						
						
							
						
						72a780f577 
					 
					
						
						
							
							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 
						
						
					 
					
						2006-11-08 15:04:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9f617d64c5 
					 
					
						
						
							
							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 
						
						
					 
					
						2006-10-29 22:08:03 +00:00