e14cb88e56 
								
							 
						 
						
							
							
								
								eliminate internal length fields from record.  Records already know their  
							
							... 
							
							
							
							total length
llvm-svn: 36752 
							
						 
						
							2007-05-04 19:11:41 +00:00  
				
					
						
							
							
								 
						
							
								702658c0cc 
								
							 
						 
						
							
							
								
								stub out creation of BLOCKINFO_BLOCK  
							
							... 
							
							
							
							llvm-svn: 36749 
							
						 
						
							2007-05-04 18:26:27 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								a8713beddd 
								
							 
						 
						
							
							
								
								simple optimization for the type table  
							
							... 
							
							
							
							llvm-svn: 36741 
							
						 
						
							2007-05-04 05:05:48 +00:00  
				
					
						
							
							
								 
						
							
								beca065b1e 
								
							 
						 
						
							
							
								
								storeinst ctor takes isvolatile before alignment.  With this, 176.gcc roundtrips  
							
							... 
							
							
							
							llvm-svn: 36738 
							
						 
						
							2007-05-04 03:57:30 +00:00  
				
					
						
							
							
								 
						
							
								485a6d8fad 
								
							 
						 
						
							
							
								
								fix encoding of invoke instructions.  kc++ now round trips  
							
							... 
							
							
							
							llvm-svn: 36737 
							
						 
						
							2007-05-04 03:52:24 +00:00  
				
					
						
							
							
								 
						
							
								e11c6ce3bc 
								
							 
						 
						
							
							
								
								fix a misplaced error  
							
							... 
							
							
							
							llvm-svn: 36736 
							
						 
						
							2007-05-04 03:50:29 +00:00  
				
					
						
							
							
								 
						
							
								70f4566d8a 
								
							 
						 
						
							
							
								
								encode and read param attrs along with function type.  WE can now roundtrip Olden/voronoi loslessly  
							
							... 
							
							
							
							llvm-svn: 36735 
							
						 
						
							2007-05-04 03:41:34 +00:00  
				
					
						
							
							
								 
						
							
								fee5a3752a 
								
							 
						 
						
							
							
								
								add support for reading the param attrs block  
							
							... 
							
							
							
							llvm-svn: 36731 
							
						 
						
							2007-05-04 03:30:17 +00:00  
				
					
						
							
							
								 
						
							
								fc5b619419 
								
							 
						 
						
							
							
								
								fix a bug encoding param attrs  
							
							... 
							
							
							
							llvm-svn: 36730 
							
						 
						
							2007-05-04 03:14:09 +00:00  
				
					
						
							
							
								 
						
							
								a68e3c7cf3 
								
							 
						 
						
							
							
								
								remove dead code  
							
							... 
							
							
							
							llvm-svn: 36728 
							
						 
						
							2007-05-04 03:02:54 +00:00  
				
					
						
							
							
								 
						
							
								e72bf9fda6 
								
							 
						 
						
							
							
								
								add writer support for param attrs  
							
							... 
							
							
							
							llvm-svn: 36724 
							
						 
						
							2007-05-04 02:59:04 +00:00  
				
					
						
							
							
								 
						
							
								dea02bd840 
								
							 
						 
						
							
							
								
								Allow this to compile with gcc 4.0.X  
							
							... 
							
							
							
							llvm-svn: 36723 
							
						 
						
							2007-05-04 01:43:33 +00:00  
				
					
						
							
							
								 
						
							
								874eb28ee6 
								
							 
						 
						
							
							
								
								pass by reference, not by value  
							
							... 
							
							
							
							llvm-svn: 36721 
							
						 
						
							2007-05-04 00:45:24 +00:00  
				
					
						
							
							
								 
						
							
								e2f98ef52d 
								
							 
						 
						
							
							
								
								trivial scaffolding for param attrs  
							
							... 
							
							
							
							llvm-svn: 36720 
							
						 
						
							2007-05-04 00:44:52 +00:00  
				
					
						
							
							
								 
						
							
								e4bbad630f 
								
							 
						 
						
							
							
								
								enumerate parameter attr lists.  
							
							... 
							
							
							
							llvm-svn: 36709 
							
						 
						
							2007-05-03 22:46:43 +00:00  
				
					
						
							
							
								 
						
							
								4704527576 
								
							 
						 
						
							
							
								
								Encoding calling conv info in call/invoke instrs, tree add now round trips completely  
							
							... 
							
							
							
							llvm-svn: 36707 
							
						 
						
							2007-05-03 22:34:03 +00:00  
				
					
						
							
							
								 
						
							
								c1d86cda8c 
								
							 
						 
						
							
							
								
								the type field for a store is the type of the pointer, not the value.  
							
							... 
							
							
							
							With this fix I can round trip treeaadd, only losing calling conv info.
llvm-svn: 36706 
							
						 
						
							2007-05-03 22:21:59 +00:00  
				
					
						
							
							
								 
						
							
								4bb39dbfde 
								
							 
						 
						
							
							
								
								don't bother encoding # varargs  
							
							... 
							
							
							
							llvm-svn: 36705 
							
						 
						
							2007-05-03 22:19:34 +00:00  
				
					
						
							
							
								 
						
							
								6be58c65d4 
								
							 
						 
						
							
							
								
								fix encoding of BB names in the symtab  
							
							... 
							
							
							
							llvm-svn: 36704 
							
						 
						
							2007-05-03 22:18:21 +00:00  
				
					
						
							
							
								 
						
							
								6ce15cb71e 
								
							 
						 
						
							
							
								
								bug fixes  
							
							... 
							
							
							
							llvm-svn: 36701 
							
						 
						
							2007-05-03 22:09:51 +00:00  
				
					
						
							
							
								 
						
							
								9f600c5d9d 
								
							 
						 
						
							
							
								
								implement the rest of the instructions  
							
							... 
							
							
							
							llvm-svn: 36699 
							
						 
						
							2007-05-03 22:04:19 +00:00  
				
					
						
							
							
								 
						
							
								c332bbaae4 
								
							 
						 
						
							
							
								
								add a few more instructions, getting close  
							
							... 
							
							
							
							llvm-svn: 36688 
							
						 
						
							2007-05-03 18:58:09 +00:00  
				
					
						
							
							
								 
						
							
								5285b5ea2f 
								
							 
						 
						
							
							
								
								add reader logic for terminator instrs.  
							
							... 
							
							
							
							llvm-svn: 36642 
							
						 
						
							2007-05-02 05:46:45 +00:00  
				
					
						
							
							
								 
						
							
								1fc27f0cdb 
								
							 
						 
						
							
							
								
								add reader support for a bunch of new instructions  
							
							... 
							
							
							
							llvm-svn: 36641 
							
						 
						
							2007-05-02 05:16:49 +00:00  
				
					
						
							
							
								 
						
							
								e53603e4e2 
								
							 
						 
						
							
							
								
								read a few instructions, fix some bugs.  This is enough to be able to round  
							
							... 
							
							
							
							trip function bodies like this:
define <2 x i64> @foo(<2 x i64> %x, <2 x i64> %y) {
        %tmp4 = bitcast <2 x i64> %y to <8 x i16>               ; <<8 x i16>> [#uses=1]
        %tmp5 = bitcast <2 x i64> %x to <8 x i16>               ; <<8 x i16>> [#uses=1]
        %tmp = add <8 x i16> %tmp5, %tmp4               ; <<8 x i16>> [#uses=1]
        %tmp6 = bitcast <8 x i16> %tmp to <2 x i64>             ; <<2 x i64>> [#uses=1]
        ret <2 x i64> %tmp6
}
llvm-svn: 36640 
							
						 
						
							2007-05-02 04:27:25 +00:00  
				
					
						
							
							
								 
						
							
								9f35f9112d 
								
							 
						 
						
							
							
								
								use the correct code for binop instrs  
							
							... 
							
							
							
							llvm-svn: 36639 
							
						 
						
							2007-05-02 04:26:36 +00:00  
				
					
						
							
							
								 
						
							
								b811e951e9 
								
							 
						 
						
							
							
								
								fix build with non-buggy compilers  
							
							... 
							
							
							
							llvm-svn: 36621 
							
						 
						
							2007-05-01 07:03:37 +00:00  
				
					
						
							
							
								 
						
							
								8393055447 
								
							 
						 
						
							
							
								
								handle function-level forward references, read binops.  
							
							... 
							
							
							
							llvm-svn: 36620 
							
						 
						
							2007-05-01 07:01:57 +00:00  
				
					
						
							
							
								 
						
							
								85b7b40621 
								
							 
						 
						
							
							
								
								implement materializeModule, force deallocation of vector memory when we  
							
							... 
							
							
							
							are done with them, start implementing ParseFunctionBody
llvm-svn: 36617 
							
						 
						
							2007-05-01 05:52:21 +00:00  
				
					
						
							
							
								 
						
							
								48a8de3f4d 
								
							 
						 
						
							
							
								
								The stream to read from is now an ivar  
							
							... 
							
							
							
							llvm-svn: 36615 
							
						 
						
							2007-05-01 05:01:34 +00:00  
				
					
						
							
							
								 
						
							
								51ffe7ce15 
								
							 
						 
						
							
							
								
								implement scafolding for lazy deserialization of function bodies  
							
							... 
							
							
							
							llvm-svn: 36614 
							
						 
						
							2007-05-01 04:59:48 +00:00  
				
					
						
							
							
								 
						
							
								fb6f9407ec 
								
							 
						 
						
							
							
								
								write the symbol table for function bodies  
							
							... 
							
							
							
							llvm-svn: 36610 
							
						 
						
							2007-05-01 02:14:57 +00:00  
				
					
						
							
							
								 
						
							
								0a60325621 
								
							 
						 
						
							
							
								
								encode all of the instructions.  
							
							... 
							
							
							
							llvm-svn: 36609 
							
						 
						
							2007-05-01 02:13:26 +00:00  
				
					
						
							
							
								 
						
							
								31fc4f9526 
								
							 
						 
						
							
							
								
								Implement visibility checking during linking. Also implement protected  
							
							... 
							
							
							
							visibility support for bitcode.
llvm-svn: 36577 
							
						 
						
							2007-04-29 20:56:48 +00:00  
				
					
						
							
							
								 
						
							
								6694f60bec 
								
							 
						 
						
							
							
								
								Switch the bitcode reader interface to take a MemoryBuffer instead of knowing  
							
							... 
							
							
							
							anything about disk I/O itself.  This greatly simplifies its interface -
eliminating the need for the ReaderWrappers.cpp file.
This adds a new option to llvm-dis (-bitcode) which instructs it to read
the input file as bitcode.  Until/unless the bytecode reader is taught to
read from MemoryBuffer, there is no way to handle stdin reading without it.
I don't plan to switch the bytecode reader over, I'd rather delete it :),
so the option will stay around temporarily.
llvm-svn: 36554 
							
						 
						
							2007-04-29 07:54:31 +00:00  
				
					
						
							
							
								 
						
							
								f0a1ebae4b 
								
							 
						 
						
							
							
								
								Fix this to use the right block ID  
							
							... 
							
							
							
							llvm-svn: 36550 
							
						 
						
							2007-04-29 05:49:09 +00:00  
				
					
						
							
							
								 
						
							
								87351e2a52 
								
							 
						 
						
							
							
								
								moved Writer.cpp -> BitcodeWriter.cpp to make it more unique in the tree.  
							
							... 
							
							
							
							llvm-svn: 36549 
							
						 
						
							2007-04-29 05:31:57 +00:00  
				
					
						
							
							
								 
						
							
								daf358bbff 
								
							 
						 
						
							
							
								
								This is not "FIXME" anymore  
							
							... 
							
							
							
							llvm-svn: 36541 
							
						 
						
							2007-04-28 14:57:59 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								7c37b01998 
								
							 
						 
						
							
							
								
								enumerate BB's separately from other function values.  
							
							... 
							
							
							
							llvm-svn: 36467 
							
						 
						
							2007-04-26 04:42:16 +00:00  
				
					
						
							
							
								 
						
							
								5f640b9cc9 
								
							 
						 
						
							
							
								
								add support for incorporating and purging functions to the value enumerator  
							
							... 
							
							
							
							llvm-svn: 36465 
							
						 
						
							2007-04-26 03:50:57 +00:00  
				
					
						
							
							
								 
						
							
								a5211c43c2 
								
							 
						 
						
							
							
								
								improve a comment  
							
							... 
							
							
							
							llvm-svn: 36464 
							
						 
						
							2007-04-26 03:32:43 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								44c1707207 
								
							 
						 
						
							
							
								
								add bitcode alias support  
							
							... 
							
							
							
							llvm-svn: 36461 
							
						 
						
							2007-04-26 02:46:40 +00:00  
				
					
						
							
							
								 
						
							
								890683d636 
								
							 
						 
						
							
							
								
								ensure that every error return sets a message (and goes through Error, for  
							
							... 
							
							
							
							easy breakpointing).
Fix bugs reading constantexpr geps.  We now can disassemble kc++ global
initializers.
llvm-svn: 36398 
							
						 
						
							2007-04-24 18:15:21 +00:00  
				
					
						
							
							
								 
						
							
								0ee6a3a561 
								
							 
						 
						
							
							
								
								fix memory leak  
							
							... 
							
							
							
							llvm-svn: 36397 
							
						 
						
							2007-04-24 17:22:05 +00:00  
				
					
						
							
							
								 
						
							
								1e16bcf7ff 
								
							 
						 
						
							
							
								
								implement reading and writing of constant exprs.  
							
							... 
							
							
							
							llvm-svn: 36394 
							
						 
						
							2007-04-24 07:07:11 +00:00  
				
					
						
							
							
								 
						
							
								1663ccaf13 
								
							 
						 
						
							
							
								
								implement support for reading aggregate constants, including handling forward  
							
							... 
							
							
							
							constant references, etc.
llvm-svn: 36391 
							
						 
						
							2007-04-24 05:48:56 +00:00  
				
					
						
							
							
								 
						
							
								08feb1e73a 
								
							 
						 
						
							
							
								
								add supprot for FP constants, wide integers, and fix the encoding of MININT  
							
							... 
							
							
							
							llvm-svn: 36390 
							
						 
						
							2007-04-24 04:04:35 +00:00  
				
					
						
							
							
								 
						
							
								fbc1d33b81 
								
							 
						 
						
							
							
								
								read basic constants: null, undef, integers <= 64bits  
							
							... 
							
							
							
							llvm-svn: 36389 
							
						 
						
							2007-04-24 03:30:34 +00:00  
				
					
						
							
							
								 
						
							
								1e50c299a8 
								
							 
						 
						
							
							
								
								fix off-by-one computing size for section abbrevs  
							
							... 
							
							
							
							llvm-svn: 36388 
							
						 
						
							2007-04-24 03:29:47 +00:00  
				
					
						
							
							
								 
						
							
								a272ead35a 
								
							 
						 
						
							
							
								
								move check to the right place :)  
							
							... 
							
							
							
							llvm-svn: 36386 
							
						 
						
							2007-04-24 00:21:45 +00:00  
				
					
						
							
							
								 
						
							
								47d131bd32 
								
							 
						 
						
							
							
								
								track global inits  
							
							... 
							
							
							
							llvm-svn: 36385 
							
						 
						
							2007-04-24 00:18:21 +00:00  
				
					
						
							
							
								 
						
							
								52523561d9 
								
							 
						 
						
							
							
								
								Emit module-level constants.  
							
							... 
							
							
							
							llvm-svn: 36384 
							
						 
						
							2007-04-24 00:16:04 +00:00  
				
					
						
							
							
								 
						
							
								ccaa448dcf 
								
							 
						 
						
							
							
								
								Read global symtab  
							
							... 
							
							
							
							llvm-svn: 36378 
							
						 
						
							2007-04-23 21:26:05 +00:00  
				
					
						
							
							
								 
						
							
								1e93f5b8f4 
								
							 
						 
						
							
							
								
								fix off-by one  
							
							... 
							
							
							
							llvm-svn: 36377 
							
						 
						
							2007-04-23 21:23:41 +00:00  
				
					
						
							
							
								 
						
							
								215e9cd3c2 
								
							 
						 
						
							
							
								
								write out the symtab for globals.  
							
							... 
							
							
							
							llvm-svn: 36374 
							
						 
						
							2007-04-23 20:35:01 +00:00  
				
					
						
							
							
								 
						
							
								b5491378b1 
								
							 
						 
						
							
							
								
								implement reading of abbrevs, and writing of abbreviated global varrs.  
							
							... 
							
							
							
							llvm-svn: 36367 
							
						 
						
							2007-04-23 18:58:34 +00:00  
				
					
						
							
							
								 
						
							
								4b00d92a09 
								
							 
						 
						
							
							
								
								first part of implementation of abbrevs.  The writer isn't fully there yet and the  
							
							... 
							
							
							
							reader doesn't handle them at all yet.
llvm-svn: 36363 
							
						 
						
							2007-04-23 16:04:05 +00:00  
				
					
						
							
							
								 
						
							
								362b4a1c92 
								
							 
						 
						
							
							
								
								promote LLVMBitCodes to be a public header  
							
							... 
							
							
							
							llvm-svn: 36358 
							
						 
						
							2007-04-23 01:01:37 +00:00  
				
					
						
							
							
								 
						
							
								33be4c78ef 
								
							 
						 
						
							
							
								
								Fix build problem with Gentoo 4.1.1-r3.  
							
							... 
							
							
							
							llvm-svn: 36348 
							
						 
						
							2007-04-22 18:49:32 +00:00  
				
					
						
							
							
								 
						
							
								a1b07bee6a 
								
							 
						 
						
							
							
								
								add llvm ir bitcode definition file  
							
							... 
							
							
							
							llvm-svn: 36337 
							
						 
						
							2007-04-22 07:03:00 +00:00  
				
					
						
							
							
								 
						
							
								20571d9c35 
								
							 
						 
						
							
							
								
								build the bitcode dir  
							
							... 
							
							
							
							llvm-svn: 36332 
							
						 
						
							2007-04-22 06:26:05 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								1314b9996d 
								
							 
						 
						
							
							
								
								Initial support for reading bitcode files.  They currently only read types,  
							
							... 
							
							
							
							the type symtab, and global/function protos, and are missing the important
size optimization, but it is a place to start.
llvm-svn: 36330 
							
						 
						
							2007-04-22 06:23:29 +00:00