Owen Anderson 
							
						 
					 
					
						
						
							
						
						e0fa0b42b2 
					 
					
						
						
							
							Add atomic multiply and divide operations, built on top of CompareAndSwap.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74004  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-23 21:19:04 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6f2c64d70a 
					 
					
						
						
							
							Revert my last series of commits related to Timer and 64-bit atomics.  Not all the targets  
						
						... 
						
						
						
						we care about are capable of supporting it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73993  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-23 20:17:22 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						f43f9d0ef8 
					 
					
						
						
							
							Atomic ops that do arithmetic use signed arithmetic.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73980  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-23 18:30:27 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0de9953e88 
					 
					
						
						
							
							Label the existing atomic functions as 32-bit specific, and add a 64-bit one that will be useful in  
						
						... 
						
						
						
						the near future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73971  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-23 18:01:04 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						5a9c0eeaf2 
					 
					
						
						
							
							Add an atomic add operation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73964  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-23 17:39:31 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						efdbfc4cef 
					 
					
						
						
							
							Use atomic increment/decrement for reference counting of Type's.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73588  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-17 00:28:49 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9a3df671ab 
					 
					
						
						
							
							Add an atomic increment and decrement implementation, which will be used for  
						
						... 
						
						
						
						thread-safe reference counting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73587  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-17 00:13:00 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						4d4eab219a 
					 
					
						
						
							
							Untabify.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72603  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-30 00:58:37 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						c4551d3d21 
					 
					
						
						
							
							Use DataTypes.h instead of stdint.h.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72201  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-21 00:48:13 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						3c1eaa0dc2 
					 
					
						
						
							
							Move atomic operations' definitions out of line.  While this seems kind of silly,  
						
						... 
						
						
						
						all kinds of problems caused by including windows.h and/or config.h in an LLVM header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72174  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-20 18:26:15 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9b2818d207 
					 
					
						
						
							
							Compile fix for MSVC.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72167  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-20 09:34:13 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						81e4e9f7cb 
					 
					
						
						
							
							We need to include config.h here so that the #defines are set properly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72148  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-20 00:31:29 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a86037084d 
					 
					
						
						
							
							Split the ENABLE_THREADS #define in two.  Now ENABLE_THREADS indicates the ability to run multiple threads at once in the JIT, and requires only  
						
						... 
						
						
						
						mutex support.  LLVM_MULTITHREADED indicates (or will indicate) the ability to run LLVM itself across multiple threads, and requires atomics support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72140  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-19 22:18:56 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						84e5cac70a 
					 
					
						
						
							
							Make using an unsupported CAS size a hard error on Windows.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72088  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-19 01:08:36 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						ecb1684d51 
					 
					
						
						
							
							Fix up the Windows portion of Atomic.h.  This is untested, but it is my best understanding of what should work.  
						
						... 
						
						
						
						I'd be much obliged if someone on MSVC++ could try this out and let me know if it works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72087  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-19 01:07:40 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						03462230c7 
					 
					
						
						
							
							Template CompareAndSwap function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72086  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-19 01:02:27 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						71417827e8 
					 
					
						
						
							
							Now that we have atomics support properly detected by configure,  
						
						... 
						
						
						
						use it to implement Atomic.h.
This expunges the code previously imported from libatomic_ops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72077  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-19 00:08:29 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6962815683 
					 
					
						
						
							
							Significantly improve Atomic.h by pulling in code from libatomic_ops by HP.  This is a little outdated, but reasonably complete.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71973  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-17 04:57:54 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						de52f865b6 
					 
					
						
						
							
							Remove the volatile marker from the cas_flag typedef, fixing some warnings.  
						
						... 
						
						
						
						It's now the client's resposibility to add it in when needed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71959  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-16 21:08:25 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						b2e82d07a7 
					 
					
						
						
							
							Unbreak mingw build  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71856  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-15 11:04:52 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						2c34f320ea 
					 
					
						
						
							
							Improve compatibility with older versions of Windows.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71855  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-15 10:40:23 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8064c8b86d 
					 
					
						
						
							
							(Hopefully) unbreak Apple-style builds.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71849  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-15 06:49:31 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8060424c40 
					 
					
						
						
							
							Don't #include OSAtomic.h unless we really need it.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71837  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-15 05:13:57 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						5f00b0c5b6 
					 
					
						
						
							
							Now with working on Leopard!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71819  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-15 00:01:40 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						94555c2846 
					 
					
						
						
							
							Dropped this #include by accident.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71798  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-14 21:33:57 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9693813080 
					 
					
						
						
							
							Add CompareAndSwap.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71795  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-14 21:24:15 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						c082324e19 
					 
					
						
						
							
							Add an Atomic.h to the System library, for providing a platform independent API  
						
						... 
						
						
						
						to low-level sync operations.
The only one present at the moment is MemoryFence(), and only for the platforms
for which I could easily discern the proper way to do it.  If your favorite platform
isn't represented, patches are welcome!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71770  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-14 05:54:36 +00:00