Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0ab5e2cded 
								
							 
						 
						
							
							
								
								Fix a ton of comment typos found by codespell.  Patch by  
							
							 
							
							... 
							
							
							
							Luis Felipe Strano Moraes!
llvm-svn: 129558 
							
						 
						
							2011-04-15 05:18:47 +00:00  
						
					 
				
					
						
							
							
								 
								Jay Foad
							
						 
						
							 
							
							
							
							
								
							
							
								0159a1ee11 
								
							 
						 
						
							
							
								
								Fix or remove code which seemed to think that the operand of a Constant  
							
							 
							
							... 
							
							
							
							was always a User.
llvm-svn: 129272 
							
						 
						
							2011-04-11 09:48:55 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								337a1b29e5 
								
							 
						 
						
							
							
								
								Do a topological sort of the types before writing them out.  
							
							 
							
							... 
							
							
							
							This takes the linking of libxul on linux from 6m54.931s to 5m39.840s.
llvm-svn: 129009 
							
						 
						
							2011-04-06 16:49:37 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								22161da9ff 
								
							 
						 
						
							
							
								
								Clear FunctionLocalMDs in purgeFunction along with the rest of the  
							
							 
							
							... 
							
							
							
							function-specific state.
llvm-svn: 112058 
							
						 
						
							2010-08-25 17:11:16 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								1f4b028b75 
								
							 
						 
						
							
							
								
								Fix whitespace.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112056 
							
						 
						
							2010-08-25 17:09:50 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								9cfe532ae5 
								
							 
						 
						
							
							
								
								Eliminate an unnecessary cast.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112055 
							
						 
						
							2010-08-25 17:09:03 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								10215a12e8 
								
							 
						 
						
							
							
								
								Add braces to fix dangling else.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111896 
							
						 
						
							2010-08-24 02:40:27 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								c828c5465d 
								
							 
						 
						
							
							
								
								Extend function-local metadata to be usable as attachments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111895 
							
						 
						
							2010-08-24 02:24:03 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								ab09a12cad 
								
							 
						 
						
							
							
								
								When we know we have an MDValue or MDString, call EnumerateMetadata  
							
							 
							
							... 
							
							
							
							directly instead of going through EnumerateValue.
llvm-svn: 111894 
							
						 
						
							2010-08-24 02:10:52 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d3d2bbe620 
								
							 
						 
						
							
							
								
								Simplify this code. NamedMDNode operands are MDNodes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111892 
							
						 
						
							2010-08-24 02:01:24 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								2637cc1a38 
								
							 
						 
						
							
							
								
								Make NamedMDNode not be a subclass of Value, and simplify the interface  
							
							 
							
							... 
							
							
							
							for creating and populating NamedMDNodes.
llvm-svn: 109061 
							
						 
						
							2010-07-21 23:38:33 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								9a54c17582 
								
							 
						 
						
							
							
								
								Fix whitespace.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108569 
							
						 
						
							2010-07-16 22:58:39 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								4581434c27 
								
							 
						 
						
							
							
								
								Tidy.  
							
							 
							
							... 
							
							
							
							llvm-svn: 106383 
							
						 
						
							2010-06-19 05:33:57 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								df84e8baf7 
								
							 
						 
						
							
							
								
								Speedup bitcode writer. Do not walk all values for all functions to emit function local metadata. In one testcase, probably worst case scenario, the 70x speed up is seen.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105360 
							
						 
						
							2010-06-02 23:05:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								07d09ed49a 
								
							 
						 
						
							
							
								
								Add special case bitcode support for DebugLoc.  This avoids  
							
							 
							
							... 
							
							
							
							having the bitcode writer materialize mdnodes for all the
debug location tuples when writing out the bc file and 
stores the information in a more compact form.  For example,
the -O0 -g bc file for combine.c in 176.gcc shrinks from
739392 to 512096 bytes.
This concludes my planned short-term debug info work.
llvm-svn: 100261 
							
						 
						
							2010-04-03 02:17:50 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								a72e1af8bf 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 97132 
							
						 
						
							2010-02-25 08:30:17 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								19d0b47b1f 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 96344 
							
						 
						
							2010-02-16 11:11:14 +00:00  
						
					 
				
					
						
							
							
								 
								Victor Hernandez
							
						 
						
							 
							
							
							
							
								
							
							
								1b08138152 
								
							 
						 
						
							
							
								
								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.  
							
							 
							
							... 
							
							
							
							llvm-svn: 95467 
							
						 
						
							2010-02-06 01:21:09 +00:00  
						
					 
				
					
						
							
							
								 
								Victor Hernandez
							
						 
						
							 
							
							
							
							
								
							
							
								d44ee35f30 
								
							 
						 
						
							
							
								
								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  
							
							 
							
							... 
							
							
							
							llvm-svn: 95269 
							
						 
						
							2010-02-04 01:13:08 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								14bb114c92 
								
							 
						 
						
							
							
								
								Respect operator precedence (and silence a gcc 4.3 warning).  
							
							 
							
							... 
							
							
							
							llvm-svn: 94304 
							
						 
						
							2010-01-23 09:54:23 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								ac277eb930 
								
							 
						 
						
							
							
								
								Remove MetadataBase class because it is not adding significant value.  
							
							 
							
							... 
							
							
							
							llvm-svn: 94243 
							
						 
						
							2010-01-22 22:52:10 +00:00  
						
					 
				
					
						
							
							
								 
								Victor Hernandez
							
						 
						
							 
							
							
							
							
								
							
							
								572218b53b 
								
							 
						 
						
							
							
								
								Simplify code that chooses when to enumerate function-local metadata operands  
							
							 
							
							... 
							
							
							
							llvm-svn: 93446 
							
						 
						
							2010-01-14 19:54:11 +00:00  
						
					 
				
					
						
							
							
								 
								Victor Hernandez
							
						 
						
							 
							
							
							
							
								
							
							
								b816154268 
								
							 
						 
						
							
							
								
								Clean up unnecessary return and brackets  
							
							 
							
							... 
							
							
							
							llvm-svn: 93401 
							
						 
						
							2010-01-14 01:46:02 +00:00  
						
					 
				
					
						
							
							
								 
								Victor Hernandez
							
						 
						
							 
							
							
							
							
								
							
							
								cad7328d8c 
								
							 
						 
						
							
							
								
								Enumerate function-local metadata (and its types and operands) only during function-incorporation, global metadata continues to be enumerated during creation of ValueEnumerator  
							
							 
							
							... 
							
							
							
							llvm-svn: 93338 
							
						 
						
							2010-01-13 19:36:16 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								44c06e1966 
								
							 
						 
						
							
							
								
								NamedMDNode is never used so there is no need to enumerate it here.  
							
							 
							
							... 
							
							
							
							llvm-svn: 93039 
							
						 
						
							2010-01-09 01:24:03 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								99ff5a864b 
								
							 
						 
						
							
							
								
								Derive NamedMDNode from Value.  
							
							 
							
							... 
							
							
							
							llvm-svn: 93032 
							
						 
						
							2010-01-09 00:30:14 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								fcfee0ff35 
								
							 
						 
						
							
							
								
								Use separate namespace for named metadata.  
							
							 
							
							... 
							
							
							
							llvm-svn: 92931 
							
						 
						
							2010-01-07 19:39:36 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								6edcd3994c 
								
							 
						 
						
							
							
								
								Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0,  !1 , null}  
							
							 
							
							... 
							
							
							
							llvm-svn: 92783 
							
						 
						
							2010-01-05 21:47:32 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								ccce8bae14 
								
							 
						 
						
							
							
								
								Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 92726 
							
						 
						
							2010-01-05 13:12:22 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9b493028df 
								
							 
						 
						
							
							
								
								rename "elements" of metadata to "operands".  "Elements" are  
							
							 
							
							... 
							
							
							
							things that occur in types.  "operands" are things that occur
in values.
llvm-svn: 92322 
							
						 
						
							2009-12-31 01:22:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8dace893fa 
								
							 
						 
						
							
							
								
								tidy  
							
							 
							
							... 
							
							
							
							llvm-svn: 92320 
							
						 
						
							2009-12-31 00:51:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2f2aa2b067 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 92235 
							
						 
						
							2009-12-28 23:41:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								53bb5e4ae0 
								
							 
						 
						
							
							
								
								change the strange MetadataContext::getMDs function to expose less  
							
							 
							
							... 
							
							
							
							irrelevant internal implementation details to clients.
llvm-svn: 92210 
							
						 
						
							2009-12-28 08:14:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f1ef03ad4d 
								
							 
						 
						
							
							
								
								eliminate the elem_* iterator stuff from NamedMDNode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 92208 
							
						 
						
							2009-12-28 07:57:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								aa99c94e2a 
								
							 
						 
						
							
							
								
								Revert 85678/85680.  The decision is to stay with the current form of  
							
							 
							
							... 
							
							
							
							indirectbr, thus we don't need "blockaddr(@func , null)".  Eliminate it
for simplicity.
llvm-svn: 85699 
							
						 
						
							2009-11-01 01:27:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b2c0e243c5 
								
							 
						 
						
							
							
								
								Make blockaddress( @func , null) be valid, and make 'deleting a basic  
							
							 
							
							... 
							
							
							
							block with a blockaddress still referring to it' replace the invalid 
blockaddress with a new blockaddress(@func , null) instead of a 
inttoptr(1).
This changes the bitcode encoding format, and still needs codegen 
support (this should produce a non-zero value, referring to the entry
block of the function would also be quite reasonable).
llvm-svn: 85678 
							
						 
						
							2009-10-31 20:08:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f540d74b58 
								
							 
						 
						
							
							
								
								bitcode writer support for blockaddress.  
							
							 
							
							... 
							
							
							
							llvm-svn: 85376 
							
						 
						
							2009-10-28 05:24:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								26a7ae4fba 
								
							 
						 
						
							
							
								
								Type.h doesn't need to #include LLVMContext.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 85254 
							
						 
						
							2009-10-27 17:08:31 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								6da5dbf3c2 
								
							 
						 
						
							
							
								
								Fix getMDs() interface such that it does not expose implementation details.  
							
							 
							
							... 
							
							
							
							llvm-svn: 84885 
							
						 
						
							2009-10-22 18:55:16 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								084679e70a 
								
							 
						 
						
							
							
								
								Using TrackingVH instead of WeakVH or WeakMetadataVH.  
							
							 
							
							... 
							
							
							
							llvm-svn: 84884 
							
						 
						
							2009-10-22 18:25:28 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								49914e6eb3 
								
							 
						 
						
							
							
								
								Do not use SmallVector to store MDNode elements.  
							
							 
							
							... 
							
							
							
							llvm-svn: 84784 
							
						 
						
							2009-10-21 21:25:09 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								2d85eef974 
								
							 
						 
						
							
							
								
								s/class Metadata/class MetadataContext/g  
							
							 
							
							... 
							
							
							
							llvm-svn: 83019 
							
						 
						
							2009-09-28 21:41:20 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								7d6781b0fe 
								
							 
						 
						
							
							
								
								Tabs -> spaces, and remove trailing whitespace.  
							
							 
							
							... 
							
							
							
							llvm-svn: 82355 
							
						 
						
							2009-09-20 02:20:51 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								af206b8c88 
								
							 
						 
						
							
							
								
								Write and read metadata attachments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 82259 
							
						 
						
							2009-09-18 19:26:43 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								55f1c09e31 
								
							 
						 
						
							
							
								
								Push LLVMContexts through the IntegerType APIs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78948 
							
						 
						
							2009-08-13 21:58:54 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								05eb617da5 
								
							 
						 
						
							
							
								
								Use separate ValueList for metadata.  
							
							 
							
							... 
							
							
							
							This fixes PR4666.
llvm-svn: 78056 
							
						 
						
							2009-08-04 06:00:18 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								7e7617edf8 
								
							 
						 
						
							
							
								
								Work around a dangling pointer dereference when enumerating NamedMDNodes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77675 
							
						 
						
							2009-07-31 14:22:13 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								d14bacfb7a 
								
							 
						 
						
							
							
								
								Enumerate NamedMDNode elements first.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77636 
							
						 
						
							2009-07-30 23:03:43 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								27c87fff7f 
								
							 
						 
						
							
							
								
								Read and write NamedMDNode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77517 
							
						 
						
							2009-07-29 22:34:41 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								a4f43fb5dd 
								
							 
						 
						
							
							
								
								Rename MDNode.h header. It defines MDnode and other metadata classes.  
							
							 
							
							... 
							
							
							
							New name is Metadata.h.
llvm-svn: 77370 
							
						 
						
							2009-07-28 21:49:47 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								e059ba6ed2 
								
							 
						 
						
							
							
								
								Derive MDNode from MetadataBase instead of Constant. Emit MDNodes into METADATA_BLOCK in bitcode file.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76834 
							
						 
						
							2009-07-23 01:07:34 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								75094f8e83 
								
							 
						 
						
							
							
								
								Use isa<> instead of dyn_cast<>.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76767 
							
						 
						
							2009-07-22 18:35:25 +00:00  
						
					 
				
					
						
							
							
								 
								Sanjiv Gupta
							
						 
						
							 
							
							
							
							
								
							
							
								8f3169cf4a 
								
							 
						 
						
							
							
								
								Fixed build warning. No functionality change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76761 
							
						 
						
							2009-07-22 17:58:47 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								7428d8acec 
								
							 
						 
						
							
							
								
								Introduce MetadataBase, a base class for MDString and MDNode.  
							
							 
							
							... 
							
							
							
							Derive MDString directly from MetadataBase. 
Introduce new bitcode block to hold metadata.
llvm-svn: 76759 
							
						 
						
							2009-07-22 17:43:22 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								a879819918 
								
							 
						 
						
							
							
								
								Don't remove aggregate-typed module level constants before encoding functions  
							
							 
							
							... 
							
							
							
							since functions may contain aggregate constants too.
llvm-svn: 73220 
							
						 
						
							2009-06-12 05:20:12 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								b8f9b7a965 
								
							 
						 
						
							
							
								
								Make MDNode use CallbackVH. Also change MDNode to store Value* instead of  
							
							 
							
							... 
							
							
							
							Constant* in preperation of a future change to support holding non-Constants
in an MDNode.
llvm-svn: 71407 
							
						 
						
							2009-05-10 20:57:05 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								4c758ea3e0 
								
							 
						 
						
							
							
								
								Large mechanical patch.  
							
							 
							
							... 
							
							
							
							s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g
This sets the stage 
- to implement function notes as function attributes and 
- to distinguish between function attributes and return value attributes.
This requires corresponding changes in llvm-gcc and clang.
llvm-svn: 56622 
							
						 
						
							2008-09-25 21:00:45 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								30499844ea 
								
							 
						 
						
							
							
								
								Make structs and arrays first-class types, and add assembly  
							
							 
							
							... 
							
							
							
							and bitcode support for the extractvalue and insertvalue
instructions and constant expressions.
Note that this does not yet include CodeGen support.
llvm-svn: 51468 
							
						 
						
							2008-05-23 01:55:30 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d78c400b5b 
								
							 
						 
						
							
							
								
								Clean up the use of static and anonymous namespaces. This turned up  
							
							 
							
							... 
							
							
							
							several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017 
							
						 
						
							2008-05-13 00:00:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8a923e7c28 
								
							 
						 
						
							
							
								
								Reimplement the parameter attributes support, phase  #1 . hilights:  
							
							 
							
							... 
							
							
							
							1. There is now a "PAListPtr" class, which is a smart pointer around
   the underlying uniqued parameter attribute list object, and manages
   its refcount.  It is now impossible to mess up the refcount.
2. PAListPtr is now the main interface to the underlying object, and
   the underlying object is now completely opaque.
3. Implementation details like SmallVector and FoldingSet are now no
   longer part of the interface.
4. You can create a PAListPtr with an arbitrary sequence of
   ParamAttrsWithIndex's, no need to make a SmallVector of a specific 
   size (you can just use an array or scalar or vector if you wish).
5. All the client code that had to check for a null pointer before
   dereferencing the pointer is simplified to just access the 
   PAListPtr directly.
6. The interfaces for adding attrs to a list and removing them is a
   bit simpler.
Phase #2  will rename some stuff (e.g. PAListPtr) and do other less 
invasive changes.
llvm-svn: 48289 
							
						 
						
							2008-03-12 17:45:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								ad0ea2d430 
								
							 
						 
						
							
							
								
								Fix PR1146: parameter attributes are longer part of  
							
							 
							
							... 
							
							
							
							the function type, instead they belong to functions
and function calls.  This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll).  Hopefully
a bitcode guru (who might that be? :) ) will fix it.
llvm-svn: 44359 
							
						 
						
							2007-11-27 13:23:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								76fd90fb61 
								
							 
						 
						
							
							
								
								Fix a nasty problem where we would miss enumeration of some types.  This fixes  
							
							 
							
							... 
							
							
							
							issues with CE_CAST etc.
llvm-svn: 36864 
							
						 
						
							2007-05-06 08:35:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9ee4836dde 
								
							 
						 
						
							
							
								
								enumerate the operands of a constant before we enumerate the constant itself  
							
							 
							
							... 
							
							
							
							This avoids fwd references in the reader.
llvm-svn: 36822 
							
						 
						
							2007-05-06 01:00:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								036d1bddf2 
								
							 
						 
						
							
							
								
								implement the 'string constant' optimization.  This shrinks kc.bit from  
							
							 
							
							... 
							
							
							
							2878544 to 2815788
llvm-svn: 36818 
							
						 
						
							2007-05-06 00:35:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								430e80d670 
								
							 
						 
						
							
							
								
								optimize constant layout.  This fixes encoding of 181.mcf (by ensuring  
							
							 
							
							... 
							
							
							
							integer structure idx's are emitted before constant expr geps) and shrinks
files slightly.  For example kc++ shrinks from 4326188 to 4240128 bytes.
llvm-svn: 36742 
							
						 
						
							2007-05-04 05:21:47 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a8713beddd 
								
							 
						 
						
							
							
								
								simple optimization for the type table  
							
							 
							
							... 
							
							
							
							llvm-svn: 36741 
							
						 
						
							2007-05-04 05:05:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e4bbad630f 
								
							 
						 
						
							
							
								
								enumerate parameter attr lists.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36709 
							
						 
						
							2007-05-03 22:46:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6be58c65d4 
								
							 
						 
						
							
							
								
								fix encoding of BB names in the symtab  
							
							 
							
							... 
							
							
							
							llvm-svn: 36704 
							
						 
						
							2007-05-03 22:18:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e6e364c198 
								
							 
						 
						
							
							
								
								start code for writing out instructions.  Separate BB#s from normal value  
							
							 
							
							... 
							
							
							
							#'s.
llvm-svn: 36472 
							
						 
						
							2007-04-26 05:53:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7c37b01998 
								
							 
						 
						
							
							
								
								enumerate BB's separately from other function values.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36467 
							
						 
						
							2007-04-26 04:42:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5f640b9cc9 
								
							 
						 
						
							
							
								
								add support for incorporating and purging functions to the value enumerator  
							
							 
							
							... 
							
							
							
							llvm-svn: 36465 
							
						 
						
							2007-04-26 03:50:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								831d420256 
								
							 
						 
						
							
							
								
								move some code around, fix a bug in the reader reading globalinits (which  
							
							 
							
							... 
							
							
							
							I just introduced), stub out function reading, purge aggregate values from
the value table before reading functions.
llvm-svn: 36463 
							
						 
						
							2007-04-26 03:27:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								44c1707207 
								
							 
						 
						
							
							
								
								add bitcode alias support  
							
							 
							
							... 
							
							
							
							llvm-svn: 36461 
							
						 
						
							2007-04-26 02:46:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								52523561d9 
								
							 
						 
						
							
							
								
								Emit module-level constants.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36384 
							
						 
						
							2007-04-24 00:16:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c1d10d67a1 
								
							 
						 
						
							
							
								
								Initial support for writing bitcode files.  This currently only writes types,  
							
							 
							
							... 
							
							
							
							the type symtab, and global/function protos, and is missing the important
size optimization, but it is a place to start.
llvm-svn: 36331 
							
						 
						
							2007-04-22 06:24:45 +00:00