Chris Lattner 
							
						 
					 
					
						
						
							
						
						0bb8757997 
					 
					
						
						
							
							wrap long lines, remove some code from a non-assert build.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53545  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-14 05:52:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5ed2ba2668 
					 
					
						
						
							
							The source and dest of an alias are *not* required to have the same type,  
						
						... 
						
						
						
						though that would be nice and make sense :).  Patch by Nathan Keynes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53387  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-10 01:09:33 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						6b345ee9b2 
					 
					
						
						
							
							Make DenseMap's insert return a pair, to more closely resemble std::map.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53177  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-07 17:46:23 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						80585f1daa 
					 
					
						
						
							
							Add convenient helper for checking whether global is weak in linker sense  
						
						... 
						
						
						
						having weak or linkonce or common or extweak LLVM linkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53158  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-05 23:48:30 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						f88bc65932 
					 
					
						
						
							
							Override weak stuff during linking of aliases. This fixes PR2463.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53156  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-05 23:33:22 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						194c2cef8a 
					 
					
						
						
							
							Properly link alias and function decls. This fixes PR2146  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53154  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-05 23:03:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a534b0f7bf 
					 
					
						
						
							
							when linking globals, make sure to preserve the address space of the global.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52810  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-27 03:10:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ec91ccba3c 
					 
					
						
						
							
							Fix an error handling redefinition of linkonce functions where the  
						
						... 
						
						
						
						types differ.  Patch by Nathan Keynes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52527  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-20 05:29:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fc196f9ee9 
					 
					
						
						
							
							Add a missing ~ (dtor became ctor) which caused crashes on a bunch of stuff.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52374  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 23:06:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a4477f9b31 
					 
					
						
						
							
							stop making PATypeHolder's so crazily.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52364  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 21:17:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						62a81a1eba 
					 
					
						
						
							
							use a real associative container for type association instead of using  
						
						... 
						
						
						
						a vector with a linear search.  This speeds up the linking testcase 
in PR1860 from 0.965s to 0.385s on my system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52357  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 21:00:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						56539659eb 
					 
					
						
						
							
							bail out sooner if we have two concrete but different types.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52351  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 20:03:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9ddf2c898f 
					 
					
						
						
							
							simplify some code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52350  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 19:55:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						849dcd928a 
					 
					
						
						
							
							Apply a patch from Nathan Keynes, which speeds up llvm-link on  
						
						... 
						
						
						
						the testcases in PR1860 from taking more than 1 hour (when I killed it)
to taking 1s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52347  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 19:48:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f6f4f7a149 
					 
					
						
						
							
							handle vectors.  Any integers that got here would necessarily be different already.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52341  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 18:27:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bc1c82a0f7 
					 
					
						
						
							
							Simplify ResolveTypes by pulling the null case out into the one  
						
						... 
						
						
						
						client that cares and simplifying its control flow.
Remove the DestST argument to ResolveTypes and RecursiveResolveTypes*
which are dead now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52340  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 18:19:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						371ca83d8b 
					 
					
						
						
							
							simplify RecursiveResolveTypes and ResolveTypes by pulling the naming out of  
						
						... 
						
						
						
						ResolveTypes into the one place that needs it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52338  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-16 18:11:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						822143e6f7 
					 
					
						
						
							
							use 'continue' to make the function linker simpler.  When linking a strong  
						
						... 
						
						
						
						function into a weak function, zap the weak function body so that the
strong one overrides it.  This fixes PR2410
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52135  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-09 07:47:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8246849829 
					 
					
						
						
							
							minor changes to short circuit the 'no linkage' case earlier for  
						
						... 
						
						
						
						function bodies.  We now don't try to unify types or handling type
mismatches if when linking an internal foo to an external foo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52134  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-09 07:36:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bc3d1c7e4c 
					 
					
						
						
							
							simplify function visibility handling.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52133  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-09 07:25:28 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						28c3cff825 
					 
					
						
						
							
							Factor code to copy global value attributes like  
						
						... 
						
						
						
						the section or the visibility from one global
value to another: copyAttributesFrom.  This is
particularly useful for duplicating functions:
previously this was done by explicitly copying
each attribute in turn at each place where a
new function was created out of an old one, with
the result that obscure attributes were regularly
forgotten (like the collector or the section).
Hopefully now everything is uniform and nothing
is forgotten.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51567  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-26 19:58:59 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						b1dbcd886a 
					 
					
						
						
							
							Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51143  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-15 10:04:30 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						aafce77b17 
					 
					
						
						
							
							Add CommonLinkage; currently tentative definitions  
						
						... 
						
						
						
						are represented as "weak", but there are subtle differences
in some cases on Darwin, so we need both.  The intent
is that "common" will behave identically to "weak" unless
somebody changes their target to do something else.
No functional change as yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51118  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-14 20:12:51 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						caa8ae8125 
					 
					
						
						
							
							Fix linking of internal aliases  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50950  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-10 14:41:43 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						0b12ecf6ff 
					 
					
						
						
							
							Turn StripPointerCast() into a method  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50836  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-07 22:54:15 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						149a315369 
					 
					
						
						
							
							If weak GlobalVariable was bitcast'ed to different type during linking  
						
						... 
						
						
						
						we will need to strip all casts for intializer lookup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50776  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-06 22:52:54 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6bc41e8a74 
					 
					
						
						
							
							Revert r49614.  As Dan pointed out, some of these aren't correct.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49657  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-14 17:38:21 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						386ea355e7 
					 
					
						
						
							
							Replace calls of the form V1->setName(V2->getName()) with V1->takeName(V2),  
						
						... 
						
						
						
						which is significantly more efficient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49614  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-13 19:15:17 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						051a950000 
					 
					
						
						
							
							API changes for class Use size reduction, wave 1.  
						
						... 
						
						
						
						Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49277  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-06 20:25:17 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						5241957b1f 
					 
					
						
						
							
							Ultimately resolve aliases during linking, if possible  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48259  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-11 22:51:09 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						ed61c0bc76 
					 
					
						
						
							
							Add sanity checks  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48184  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-10 22:36:53 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						b8cdaf7099 
					 
					
						
						
							
							Typo: 'function' => 'alias'  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48183  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-10 22:36:35 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						817bf2aeb2 
					 
					
						
						
							
							Syntactic sugar'ify stuff :)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48182  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-10 22:36:08 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						aeb09967fd 
					 
					
						
						
							
							Always run 'make check' :) Fix fallout from prev. commit: query for possible  
						
						... 
						
						
						
						alias destination only if we don't have anything to link to
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48181  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-10 22:35:31 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						1438b9dd82 
					 
					
						
						
							
							Make error messages to have common style  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48180  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-10 22:34:46 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						01f6939935 
					 
					
						
						
							
							Properly link globals with aliases  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48179  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-10 22:34:28 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						968e39a5ab 
					 
					
						
						
							
							Remove the LinkGlobal weirderness in common linking phase.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48177  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-10 22:33:53 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						2b48ef0450 
					 
					
						
						
							
							Typo  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48176  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-10 22:33:22 +00:00 
						 
				 
			
				
					
						
							
							
								Ted Kremenek 
							
						 
					 
					
						
						
							
						
						58d5e05157 
					 
					
						
						
							
							Fix some compilation errors on msvc:  
						
						... 
						
						
						
						- "Redefinition of I" (iterator masks previous definition)
- include missing header file
Patch by Argiris Kirtzidis!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48115  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-09 18:32:50 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						75c7915c3a 
					 
					
						
						
							
							Clarify some important bits  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48010  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-07 18:34:50 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						e20c814518 
					 
					
						
						
							
							Small cleanup: propagate thread-localness via generic routine.  
						
						... 
						
						
						
						No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48009  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-07 18:32:18 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						9f2ee70366 
					 
					
						
						
							
							Missed patch from my last commit  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47977  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-05 23:21:39 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						3db9191baf 
					 
					
						
						
							
							Resolve aliases to aliasees, where possible  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47975  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-05 23:08:47 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						b5a4bd86df 
					 
					
						
						
							
							Handle functions as targets during linking of aliases as well  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47974  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-05 23:08:16 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						58887bc593 
					 
					
						
						
							
							Try hard to link aliases. Checks can be too strict by now.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47968  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-05 22:22:46 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						4fb2873bb4 
					 
					
						
						
							
							Remember the source->dest mapping when copying aliases. This fixes PR2054  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47945  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-05 15:27:21 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						1c01a72d4d 
					 
					
						
						
							
							Clarify the state-of-the-art  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47944  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-05 15:11:00 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						a27694d7aa 
					 
					
						
						
							
							And final pack of warnings silencing  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47372  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-20 11:27:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f27dfcb210 
					 
					
						
						
							
							random cleanups.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47334  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-19 18:49:08 +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