Erick Tryzelaar 
							
						 
					 
					
						
						
							
						
						e623050048 
					 
					
						
						
							
							Add a LLVMWriteBitcodeToFD that exposes the raw_fd_ostream options.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97858  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-06 00:30:06 +00:00 
						 
				 
			
				
					
						
							
							
								Erick Tryzelaar 
							
						 
					 
					
						
						
							
						
						b3195fbc2e 
					 
					
						
						
							
							Whoops, the old LLVMWriteBitcodeToFileHandle closed the stream.  
						
						... 
						
						
						
						Luckily this never was released.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97857  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-06 00:30:01 +00:00 
						 
				 
			
				
					
						
							
							
								Erick Tryzelaar 
							
						 
					 
					
						
						
							
						
						760640599e 
					 
					
						
						
							
							LLVMWriteBitcodeToFileHandle should work on all architectures now.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97856  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-06 00:29:58 +00:00 
						 
				 
			
				
					
						
							
							
								Erick Tryzelaar 
							
						 
					 
					
						
						
							
						
						df7df075b7 
					 
					
						
						
							
							Add Module functions in place of module providers.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97608  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-02 23:58:54 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						9a49f1552d 
					 
					
						
						
							
							Make the side-numbering of instructions used by metadata (which is needed to  
						
						... 
						
						
						
						keep track of instructions that return void) per-function. This fixes PR5278.
This breaks backwards compatibility with the metadata format. That's okay
because we haven't released the metadata bitcode yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97132  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-25 08:30:17 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						1df9859c40 
					 
					
						
						
							
							There are two ways of checking for a given type, for example isa<PointerType>(T)  
						
						... 
						
						
						
						and T->isPointerTy().  Convert most instances of the first form to the second form.
Requested by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-16 11:11:14 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						e44fc85bba 
					 
					
						
						
							
							Simplify.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96269  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-15 21:08:22 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						b0bc6c361d 
					 
					
						
						
							
							Uniformize the names of type predicates: rather than having isFloatTy and  
						
						... 
						
						
						
						isInteger, we now have isFloatTy and isIntegerTy.  Requested by Chris!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96223  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-15 16:12:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fdfeb6976f 
					 
					
						
						
							
							Add support for a union type in LLVM IR.  Patch by Talin!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96011  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-12 20:49:41 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3922a9ba84 
					 
					
						
						
							
							Also recognize armv6t2-* and armv5te-* triplets.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96008  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-12 20:39:35 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0f8868b171 
					 
					
						
						
							
							Add ARM bitcode file magic.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96006  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-12 20:13:44 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						2b3365ca1d 
					 
					
						
						
							
							Function-local metadata whose operands had been optimized to no longer refer to function-local IR were not getting written by BitcodeWriter; solution is for these metadata to be enumerated just like global metadata.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95467  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-06 01:21:09 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						af6ce14d67 
					 
					
						
						
							
							Fix (and test) function-local metadata that occurs before the instruction that it refers to; fix is to not enumerate operands of function-local metadata until after all instructions have been enumerated  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95269  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-04 01:13:08 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						2c482f4895 
					 
					
						
						
							
							We were not writing bitcode for function-local metadata whose operands have been erased (making it not have any more function-local operands)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94842  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-29 21:19:19 +00:00 
						 
				 
			
				
					
						
							
							
								Jeffrey Yasskin 
							
						 
					 
					
						
						
							
						
						f0356fe140 
					 
					
						
						
							
							Kill ModuleProvider and ghost linkage by inverting the relationship between  
						
						... 
						
						
						
						Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
GlobalValues now, and doesn't provide modules, it's renamed to
"GVMaterializer". Code that used to need a ModuleProvider to materialize
Functions can now materialize the Functions directly. Functions no longer use a
magic linkage to record that they're materializable; they simply ask the
GVMaterializer.
Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
the functions that refer to it. Instead, because Module now exposes the same
functionality ModuleProvider used to, we store a Module* in any
LLVMModuleProviderRef and translate in the wrapper methods.  The bindings to
other languages still use the ModuleProvider concept.  It would probably be
worth some time to update them to follow the C++ more closely, but I don't
intend to do it.
Fixes http://llvm.org/PR5737  and http://llvm.org/PR5735 .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94686  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-27 20:34:15 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						26793ed974 
					 
					
						
						
							
							Fix the bitcode reader to deserialize nuw/nsw/etc. bits properly in the case  
						
						... 
						
						
						
						of a forward-reference, which doesn't use an "abbrev" encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94454  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-25 21:55:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						43b5f9312d 
					 
					
						
						
							
							make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94378  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-24 20:43:08 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						e88a8e6fbf 
					 
					
						
						
							
							Respect operator precedence (and silence a gcc 4.3 warning).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94304  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-23 09:54:23 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						bc5201f837 
					 
					
						
						
							
							Remove MetadataBase class because it is not adding significant value.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94243  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-22 22:52:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e73a31f667 
					 
					
						
						
							
							Stop building RTTI information for *most* llvm libraries.  Notable  
						
						... 
						
						
						
						missing ones are libsupport, libsystem and libvmcore.  libvmcore is
currently blocked on bugpoint, which uses EH.  Once it stops using
EH, we can switch it off.
This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94164  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-22 06:49:46 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						401f3258f6 
					 
					
						
						
							
							Fix a crasher trying to fold each element in a comparison between two vectors  
						
						... 
						
						
						
						if one of the vectors didn't have elements (such as undef). Fixes PR 6096.
Fix an issue in the constant folder where fcmp (<2 x %ty>, <2 x %ty>) would
have <2 x i1> type if constant folding was successful and i1 type if it wasn't.
This exposed a related issue in the bitcode reader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94069  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-21 07:03:21 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						d7e6457c3f 
					 
					
						
						
							
							Simplify code that chooses when to enumerate function-local metadata operands  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93446  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-14 19:54:11 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						3cd7c3db99 
					 
					
						
						
							
							Avoid modifying ValueEnumerator's MD ValueList by choosing which function-local MD to write based on the function currently being written  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93441  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-14 19:38:44 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						8ea5d4c529 
					 
					
						
						
							
							In WriteFunction(), write function-local metadata before we write the instructions, so instruction's references to metadata are fully resolved by the time they get written.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93403  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-14 01:50:08 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						d0f20acf74 
					 
					
						
						
							
							Clean up unnecessary return and brackets  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93401  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-14 01:46:02 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						2cd4244815 
					 
					
						
						
							
							Fix comment typo  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93355  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-13 21:25:04 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						0c316416bd 
					 
					
						
						
							
							Write function-local metadata as a metadata subblock of a funciton block  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93339  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-13 19:37:33 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						ab9cd10721 
					 
					
						
						
							
							Enumerate function-local metadata (and its types and operands) only during function-incorporation, global metadata continues to be enumerated during creation of ValueEnumerator  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93338  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-13 19:36:16 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						fab9e99c01 
					 
					
						
						
							
							Parse function-local metadata inside function blocks  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93337  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-13 19:34:08 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						3047384a0f 
					 
					
						
						
							
							Revert 93270 pending investigation of how stray non-constant values end up in ValueEnumerator's ValueList during WriteConstants()  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93289  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-13 03:18:30 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						994a204570 
					 
					
						
						
							
							Make WriteConstants() more robust against stray values in ValueEnumerator's ValueList  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93270  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-12 23:37:59 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						23598502ef 
					 
					
						
						
							
							s/NextValueNo/NextMDValueNo while processing metadata.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93165  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-11 18:52:33 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						24e64df7ec 
					 
					
						
						
							
							Compute isFunctionLocal in MDNode ctor or via argument in new function getWhenValsUnresolved().  
						
						... 
						
						
						
						Document PFS argument to ParseValID() and ConvertGlobalOrMetadataValIDToValue().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93108  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-10 07:14:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d686c8e73f 
					 
					
						
						
							
							"In order to ease automatic bindings generation, it would be helpful if boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for."  
						
						... 
						
						
						
						Patch by James Y Knight!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93079  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-09 22:27:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						70644e92d8 
					 
					
						
						
							
							clean up this code, add a fixme.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93042  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-09 02:02:37 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						380e80fb53 
					 
					
						
						
							
							NamedMDNode is never used so there is no need to enumerate it here.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93039  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-09 01:24:03 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						7f9664699e 
					 
					
						
						
							
							NamedMDNode element is either null or MDNode. Otherwise this is a malformed NamedMDNode record.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93037  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-09 01:02:22 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						8fba578be7 
					 
					
						
						
							
							Derive NamedMDNode from Value.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93032  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-09 00:30:14 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						0386f01e06 
					 
					
						
						
							
							Use separate namespace for named metadata.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92931  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-07 19:39:36 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						69d02e0a17 
					 
					
						
						
							
							Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0,  !1 , null}  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92783  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 21:47:32 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						3e30c2a3c5 
					 
					
						
						
							
							NamedMDNode is a collection MDNodes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92761  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 20:41:31 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						f012705c7e 
					 
					
						
						
							
							Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92726  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 13:12:22 +00:00 
						 
				 
			
				
					
						
							
							
								Ted Kremenek 
							
						 
					 
					
						
						
							
						
						43afbce8ba 
					 
					
						
						
							
							Remove derelict serialization code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92374  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-31 23:40:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5d0cacdbb6 
					 
					
						
						
							
							rename "elements" of metadata to "operands".  "Elements" are  
						
						... 
						
						
						
						things that occur in types.  "operands" are things that occur
in values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92322  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-31 01:22:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cc7b011728 
					 
					
						
						
							
							tidy  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92320  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-31 00:51:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						081134741b 
					 
					
						
						
							
							Final step in the metadata API restructuring: move the  
						
						... 
						
						
						
						getMDKindID/getMDKindNames methods to LLVMContext (and add
convenience methods to Module), eliminating MetadataContext.
Move the state that it maintains out to LLVMContext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92259  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-29 09:01:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3990b121cf 
					 
					
						
						
							
							This is a major cleanup of the instruction metadata interfaces that  
						
						... 
						
						
						
						I asked Devang to do back on Sep 27.  Instead of going through the
MetadataContext class with methods like getMD() and getMDs(), just
ask the instruction directly for its metadata with getMetadata()
and getAllMetadata().
This includes a variety of other fixes and improvements: previously
all Value*'s were bloated because the HasMetadata bit was thrown into
value, adding a 9th bit to a byte.  Now this is properly sunk down to
the Instruction class (the only place where it makes sense) and it
will be folded away somewhere soon.
This also fixes some confusion in getMDs and its clients about 
whether the returned list is indexed by the MDID or densely packed.
This is now returned sorted and densely packed and the comments make
this clear.
This introduces a number of fixme's which I'll follow up on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92235  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 23:41:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0eb419800a 
					 
					
						
						
							
							rename getMDKind -> getMDKindID, make it autoinsert if an MD Kind  
						
						... 
						
						
						
						doesn't exist already, eliminate registerMDKind.  Tidy up a bunch
of random stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92225  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 20:45:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7d05c46d60 
					 
					
						
						
							
							rename getHandlerNames to getMDKindNames, simplify its interface  
						
						... 
						
						
						
						and simplify all the clients that use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92224  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-28 20:10:43 +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