Chris Lattner 
							
						 
					 
					
						
						
							
						
						df58389ef1 
					 
					
						
						
							
							avoid a completely unneeded linear walk.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92221  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 09:32:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						496425774e 
					 
					
						
						
							
							Eliminate two bits of ugliness in MDNode::replaceElement:  
						
						... 
						
						
						
						eliminate the temporary smallvector, and only do FindNodeOrInsertPos
twice if the first one succeeds and we delete a node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92220  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 09:24:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f2410180d0 
					 
					
						
						
							
							rearrange some methods, no functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92219  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 09:12:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1d880e5114 
					 
					
						
						
							
							avoid temporary CallbackVH's.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92218  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 09:10:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b241b37031 
					 
					
						
						
							
							Rewrite the function-local validation logic for MDNodes (most of r91708).  
						
						... 
						
						
						
						Among other benefits, this doesn't leak the SmallPtrSet, has the verifier
code in the verifier pass, actually does the verification at the end,
and is considerably simpler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92217  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 09:07:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dfdb5dcf56 
					 
					
						
						
							
							rename MDNode instance variables to something meaningful.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92216  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 08:48:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5e9cd43423 
					 
					
						
						
							
							snip one more #include from Metadata.h  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92214  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 08:30:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						37da0ad07b 
					 
					
						
						
							
							prune some #includes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92212  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 08:24:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bcb18538c2 
					 
					
						
						
							
							change the strange MetadataContext::getMDs function to expose less  
						
						... 
						
						
						
						irrelevant internal implementation details to clients.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92210  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 08:14:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5710969728 
					 
					
						
						
							
							change NamedMDNode to use a pimpl for its operand list instead  
						
						... 
						
						
						
						of making it a declared part of the value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92209  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 08:07:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c5e08a9639 
					 
					
						
						
							
							move ElementVH out of the MDNode class into the MDNode.cpp file.  Among  
						
						... 
						
						
						
						other things, this avoids vtable and rtti data for it being splatted in 
every translation unit that uses it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92207  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 07:41:54 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						3eed182e2d 
					 
					
						
						
							
							Fix gcc warning.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91715  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-18 21:07:18 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						5d30162150 
					 
					
						
						
							
							Formalize MDNode's function-localness:  
						
						... 
						
						
						
						- an MDNode is designated as function-local when created, and continues to be even if its operands are modified not to refer to function-local IR
- function-localness is designated via lowest bit in SubclassData
- getLocalFunction() descends MDNode tree to see if it is consistently function-local
Add verification of MDNodes to checks that MDNodes are consistently function-local.
Update AsmWriter to use isFunctionLocal().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91708  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-18 20:09:14 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						6bc2b8b215 
					 
					
						
						
							
							Use different name for argument and field  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91524  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-16 08:10:57 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						57c0f20601 
					 
					
						
						
							
							MDNodes that refer to an instruction are local to a function; in that case, explicitly keep track of the function they are local to  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91497  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-16 02:52:09 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						807d2fa1eb 
					 
					
						
						
							
							Oops! Fix bug introduced in my recent cleanup change. Thanks to Tobias Grosser  
						
						... 
						
						
						
						for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90015  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-27 19:57:53 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						dbee4b3be5 
					 
					
						
						
							
							Fix typo spotted by Gabor Greif.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89976  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 23:19:05 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						2353122a3c 
					 
					
						
						
							
							Clean up file, no functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89974  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 22:54:26 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						afa5a34b30 
					 
					
						
						
							
							Do not use StringRef in DebugInfo interface.  
						
						... 
						
						
						
						This allows StringRef to skip controversial if(str) check in constructor.
Buildbots, wait for corresponding clang and llvm-gcc FE check-ins!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86914  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-12 00:50:58 +00:00 
						 
				 
			
				
					
						
							
							
								Jeffrey Yasskin 
							
						 
					 
					
						
						
							
						
						81cf432569 
					 
					
						
						
							
							Fix DenseMap iterator constness.  
						
						... 
						
						
						
						This patch forbids implicit conversion of DenseMap::const_iterator to
DenseMap::iterator which was possible because DenseMapIterator inherited
(publicly) from DenseMapConstIterator. Conversion the other way around is now
allowed as one may expect.
The template DenseMapConstIterator is removed and the template parameter
IsConst which specifies whether the iterator is constant is added to
DenseMapIterator.
Actually IsConst parameter is not necessary since the constness can be
determined from KeyT but this is not relevant to the fix and can be addressed
later.
Patch by Victor Zverovich!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86636  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-10 01:02:17 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5a1033a8ed 
					 
					
						
						
							
							Do not use expensive sort().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85130  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 17:09:00 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						9d89df1690 
					 
					
						
						
							
							Hide MetadataContext implementation details.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84886  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-22 19:36:54 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						f61b2371c8 
					 
					
						
						
							
							Fix getMDs() interface such that it does not expose implementation details.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84885  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-22 18:55:16 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						b5681b2293 
					 
					
						
						
							
							Using TrackingVH instead of WeakVH or WeakMetadataVH.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84884  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-22 18:25:28 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d41fc65c56 
					 
					
						
						
							
							Sort handler names to ensure deterministic behavior.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84878  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-22 17:40:37 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						ce6a1c9756 
					 
					
						
						
							
							Fix getHandlerNames() interface. Now it populate clinet supplied small vector with handler names.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84820  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-22 01:01:24 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						921bdaaa98 
					 
					
						
						
							
							Use StringRef to construct MDString.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84811  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-22 00:22:05 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						49b63a1f2c 
					 
					
						
						
							
							Remove meaningless const.  
						
						... 
						
						
						
						Pass StringRef by value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84804  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-22 00:10:15 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						49708ad993 
					 
					
						
						
							
							Derive metadata hierarchy from Value instead of User.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84801  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-21 23:57:35 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						ff233b858a 
					 
					
						
						
							
							Fix thinko noticed by Chris.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84797  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-21 23:29:32 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						e31cd34b8a 
					 
					
						
						
							
							Remove pointless return; at end of function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84794  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-21 23:27:54 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						f8ea2e28bb 
					 
					
						
						
							
							Simplify code. No intended functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84790  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-21 22:55:51 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						f7ce17e8a8 
					 
					
						
						
							
							Use StringRef.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84786  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-21 21:57:13 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						028fa77d56 
					 
					
						
						
							
							Do not use SmallVector to store MDNode elements.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84784  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-21 21:25:09 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						b5df28a151 
					 
					
						
						
							
							Incorporate various suggestions Chris gave during metadata review.  
						
						... 
						
						
						
						- i < getNumElements()  instead of getNumElements() > i
- Make setParent() private
- Fix use of resizeOperands
- Reset HasMetadata bit after removing all metadata attached to an instruction
- Efficient use of iterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84765  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-21 17:33:41 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d9723e9a28 
					 
					
						
						
							
							Cosmetic changes.  
						
						... 
						
						
						
						s/validName/isValidName/g
s/with an Instruction/to an Instruction/g
s/RegisterMDKind/registerMDKind/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84689  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-20 22:50:27 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						59d5aac0b4 
					 
					
						
						
							
							Banish ConstantsLock.  It's serving no purpose other than slowing things down  
						
						... 
						
						
						
						at the moment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84529  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-19 20:11:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b2a33b4646 
					 
					
						
						
							
							various cleanups.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84471  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-19 07:10:59 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5db2c52270 
					 
					
						
						
							
							Add copyMD to copy metadata from one instruction to another instruction.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84113  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-14 17:02:49 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						740d0db812 
					 
					
						
						
							
							Copy metadata when value is RAUW'd. It is debatable whether this is the right approach for custom metadata data in general. However, right now the only custom data user, "dbg", expects this behavior while FE is constructing llvm IR with debug info.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83977  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-13 17:00:54 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						11716d766b 
					 
					
						
						
							
							Lookup handler name only when assertions are enabled.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83114  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-29 22:05:52 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						74da40a96f 
					 
					
						
						
							
							Add removeMD().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83107  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-29 20:42:25 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						58a230a491 
					 
					
						
						
							
							Only one custom meadata of each kind can be attached with an instruction.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83105  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-29 20:30:57 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						1d957e4d0d 
					 
					
						
						
							
							Use assertion instead of early exit to catch malformed custom metadata store.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83102  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-29 20:01:19 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						0475c9170e 
					 
					
						
						
							
							Parse custom metadata attached with an instruction.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83033  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-29 00:01:14 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						e30e678865 
					 
					
						
						
							
							s/class Metadata/class MetadataContext/g  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83019  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-28 21:41:20 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						a2148402ce 
					 
					
						
						
							
							Do not use global typedef for MDKindID.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83016  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-28 21:14:55 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						6c6c016b1b 
					 
					
						
						
							
							Do not leave behind metadata while cloning an instruction.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82638  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-23 18:32:25 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						e8e0213cc3 
					 
					
						
						
							
							Write and read metadata attachments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82259  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-18 19:26:43 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						43215788d5 
					 
					
						
						
							
							Print debug info attached with an instruction.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82075  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-16 20:21:17 +00:00