Devang Patel 
							
						 
					 
					
						
						
							
						
						94dfaec32c 
					 
					
						
						
							
							First bitcase use may not lead to a dbg.declare intrinsic. Iterate uses until one find's dbg.declare intrinsic.  
						
						... 
						
						
						
						Patch by Sunae Seo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85518  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-29 18:20:34 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						ac16d44e58 
					 
					
						
						
							
							Add support to encode type info using llvm::Constant.  
						
						... 
						
						
						
						Patch by Talin!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85126  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 16:54:35 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						549e81f7de 
					 
					
						
						
							
							"there is not any instruction with attached debug info in this module" does not mean "there is no debug info in this module". :)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83984  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-13 17:35:35 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						26c6cf4cec 
					 
					
						
						
							
							It's possible for a global variable to be optimized out of a metadata object. So  
						
						... 
						
						
						
						we should allow a "null" with this dyn_cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83573  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-08 20:52:51 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						beab41b874 
					 
					
						
						
							
							Extract subprogram and compile unit information from the debug info attached to an instruction.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83491  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-07 22:04:08 +00:00 
						 
				 
			
				
					
						
							
							
								Mike Stump 
							
						 
					 
					
						
						
							
						
						e4250396ea 
					 
					
						
						
							
							Expand api out in the usual inserter way, though, I do have a  
						
						... 
						
						
						
						question, can we get rid of the BasicBlock versions of all inserters
and use Head == 0 to indicate the old case when GetInsertBlock == 0?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83216  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-01 22:08:58 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						a1434045c3 
					 
					
						
						
							
							Add another MDNode into DebugLocTuple. This will be used to keep track of inlined functions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83190  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-01 01:15:28 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						ecbeb1a490 
					 
					
						
						
							
							Add isFOO() helpers. Fix getDirectory() and getFilename() for DIScope.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83180  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-30 22:34:41 +00:00 
						 
				 
			
				
					
						
							
							
								Mike Stump 
							
						 
					 
					
						
						
							
						
						3e4c9bdb67 
					 
					
						
						
							
							Add a way for a frontend to generate more complex dwarf location  
						
						... 
						
						
						
						information.  This allows arbitrary code involving DW_OP_plus_uconst
and DW_OP_deref.  The scheme allows for easy extention to include,
any, or all of the DW_OP_ opcodes.  I thought about just exposing all
of them, but, wasn't sure if people wanted the dwarf opcodes exposed
in the api.  Is that a layering violation?
With this scheme, the entire existing block scheme used by llvm-gcc
can be switched over to the new scheme.  I think that would be
cleaner, as then the compiler specific bits are not present in llvm
proper.  Before the old code can be yanked however, similar code in
clang would have to be removed.
Next up, more testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83120  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-30 00:08:22 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5ccdd10b1a 
					 
					
						
						
							
							Remove std::string uses from DebugInfo interface.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83083  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-29 18:40:58 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						48a097bfb6 
					 
					
						
						
							
							Switch DIDescriptor to use a TrackingVH. - This makes it much safer to work with debug info, since it was extraordinarily easy to have dangling pointers thanks to MDNode uniquing.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82507  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-22 02:03:18 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						a279bc3da5 
					 
					
						
						
							
							Tabs -> spaces, and remove trailing whitespace.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82355  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-20 02:20:51 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						f612ff6cfb 
					 
					
						
						
							
							Strip trailing whitespace.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82332  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-19 20:40:05 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						1b75f44bd9 
					 
					
						
						
							
							Provide a way to extract location info from DILocation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82064  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-16 18:20:05 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						f98d8fee3c 
					 
					
						
						
							
							Introduce DILocation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80648  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-01 01:14:15 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						82dfc0cd8c 
					 
					
						
						
							
							Subprogram is a scope. Derive DISubprogram from DIScope.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80637  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-31 22:47:13 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5e005d814f 
					 
					
						
						
							
							Rename DIBlock as DILexicalBlock.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80633  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-31 22:00:15 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c9f322d9a6 
					 
					
						
						
							
							Derive DICompileUnit from DIScope.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80627  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-31 21:34:44 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						43d98b3c4e 
					 
					
						
						
							
							Introduce DIScope.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80620  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-31 20:44:45 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5a68509b17 
					 
					
						
						
							
							Oops. Fix inverted logic in assertion check.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80618  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-31 20:27:49 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						6ceea33c5e 
					 
					
						
						
							
							Simplify isDerivedType() and other predicate interface.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80602  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-31 18:49:10 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						e4b275610a 
					 
					
						
						
							
							Reapply 79977.  
						
						... 
						
						
						
						Use MDNodes to encode debug info in llvm IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80406  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-28 23:24:31 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						8245988835 
					 
					
						
						
							
							Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80073  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-26 05:01:18 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						2a610c7387 
					 
					
						
						
							
							Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.  
						
						... 
						
						
						
						This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79977  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-25 05:24:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a81d29b391 
					 
					
						
						
							
							remove uses of llvm/Support/Streams.h.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79838  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-23 07:33:14 +00:00 
						 
				 
			
				
					
						
							
							
								Richard Pennington 
							
						 
					 
					
						
						
							
						
						a32b183918 
					 
					
						
						
							
							bug 4530: Make debug information static to it is preservered during bitcode linking.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79616  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-21 11:10:31 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						4c77dfa20c 
					 
					
						
						
							
							Oops. find all llvm.dbg.global_variables.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79274  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-17 20:36:20 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1d0be15f89 
					 
					
						
						
							
							Push LLVMContexts through the IntegerType APIs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-13 21:58:54 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						72bcdb6c9b 
					 
					
						
						
							
							Keep track of DIType.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78602  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-10 22:09:58 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						bceda93251 
					 
					
						
						
							
							Remove dead code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78335  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-06 20:57:44 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d7f2a6cb3f 
					 
					
						
						
							
							Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78258  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-05 23:16:16 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a7235ea724 
					 
					
						
						
							
							Move a few more APIs back to 2.5 forms.  The only remaining ones left to change back are  
						
						... 
						
						
						
						metadata related, which I'm waiting on to avoid conflicting with Devang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77721  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-31 20:28:14 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						b4d31306a4 
					 
					
						
						
							
							Process DbgDeclareInst.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77694  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-31 18:18:52 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9e9a0d5fc2 
					 
					
						
						
							
							Move more code back to 2.5 APIs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77635  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-30 23:03:37 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						98c65173bb 
					 
					
						
						
							
							s/DebugInfoEnumerator/DebugInfoFinder/g  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77615  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-30 18:25:15 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						e802f1c4c3 
					 
					
						
						
							
							walk DbgRegionStartInst and DbgRegionEndInst  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77604  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-30 17:30:23 +00:00 
						 
				 
			
				
					
						
							
							
								Douglas Gregor 
							
						 
					 
					
						
						
							
						
						f485b3bbab 
					 
					
						
						
							
							Eliminate a few unused-variable warnings  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77519  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-29 22:41:10 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						debcb01b0f 
					 
					
						
						
							
							Move types back to the 2.5 API.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77516  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-29 22:17:13 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						baf3c40440 
					 
					
						
						
							
							Move ConstantExpr to 2.5 API.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77494  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-29 18:55:55 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d2f79a1346 
					 
					
						
						
							
							Add DebugInfoEnumerator to collect debug info.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77360  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-28 19:55:13 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1fd7096407 
					 
					
						
						
							
							Change ConstantArray to 2.5 API.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77347  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-28 18:32:17 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8fa3338ed2 
					 
					
						
						
							
							Move ConstantStruct back to 2.5 API.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77266  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-27 22:29:26 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						460f656475 
					 
					
						
						
							
							Remove Value::getName{Start,End}, the last of the old Name APIs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77152  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-26 09:48:23 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						eed707b1e6 
					 
					
						
						
							
							Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types.  More to come.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77011  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-24 23:12:02 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						6930f4f945 
					 
					
						
						
							
							Fix thinko.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76769  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-22 18:56:16 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c4999d71e1 
					 
					
						
						
							
							Add replaceAllUsesWith() to FE replace debug info constructs while building complex types.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76765  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-22 18:23:44 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0a5372ed3e 
					 
					
						
						
							
							Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.  
						
						... 
						
						
						
						This involves temporarily hard wiring some parts to use the global context.  This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75445  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-13 04:09:18 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e9b11b4313 
					 
					
						
						
							
							Switch GlobalVariable ctors to a sane API, where *either* a context or a module is required.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75025  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-08 19:03:57 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						3d29df3e8a 
					 
					
						
						
							
							Push LLVMContext through GlobalVariables and IRBuilder.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74985  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-08 01:26:06 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9903527c14 
					 
					
						
						
							
							Re-LLVMContext-ize DebugInfo, now with less breakage.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74920  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-07 17:12:53 +00:00