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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						fc252dae10 
					 
					
						
						
							
							prune #includes more.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92213  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 08:26:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5660846f15 
					 
					
						
						
							
							Metadata.h doesn't need to include ValueHandle.h anymore.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92211  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 08:20:46 +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 
							
						 
					 
					
						
						
							
						
						a327524b69 
					 
					
						
						
							
							eliminate the elem_* iterator stuff from NamedMDNode.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92208  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 07:57:01 +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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						15e7122a13 
					 
					
						
						
							
							Fix typos in comments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90164  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-30 23:30:43 +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 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9111c4fef5 
					 
					
						
						
							
							Silence implicit conversion warnings.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86000  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-04 03:08:57 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						a0b0562a35 
					 
					
						
						
							
							Random include cleanup.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84898  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-22 21:49:41 +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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						174101e13a 
					 
					
						
						
							
							Random #include pruning.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84632  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-20 11:44:38 +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 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						41b5adf202 
					 
					
						
						
							
							Remove a bunch of unused arguments from functions, silencing a  
						
						... 
						
						
						
						warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84130  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-14 20:28:33 +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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						6b0901ecf1 
					 
					
						
						
							
							Remove unnecessary include.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83013  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-28 21:06:38 +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 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						937b1e92a9 
					 
					
						
						
							
							Add llvm::Metadata to manage metadata used in a context.  
						
						... 
						
						
						
						This interface will be used to attach metadata with an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82060  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-16 18:09:00 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5f4ac848d9 
					 
					
						
						
							
							Now Bitcode reader bug is fixed. Reapply 80839.  
						
						... 
						
						
						
						Use CallbackVH, instead of WeakVH, to hold MDNode elements.
Use FoldingSetNode to unique MDNodes in a context.
Use CallbackVH hooks to update context's MDNodeSet appropriately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80868  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-03 01:39:20 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						8fc5576413 
					 
					
						
						
							
							Revert 80839 for now. It causes test failures.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80841  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-02 21:49:26 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d9489cbb0c 
					 
					
						
						
							
							Use CallbackVH, instead of WeakVH, to hold MDNode elements.  
						
						... 
						
						
						
						Use FoldingSetNode to unique MDNodes in a context.
Use CallbackVH hooks to update context's MDNodeSet appropriately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80839  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-02 21:22:09 +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