982ec1eddc 
								
							 
						 
						
							
							
								
								Implement support for globally associating abbrevs with block IDs, which  
							
							... 
							
							
							
							relieves us from having to emit the abbrevs into each instance of the block.
This shrinks kc.bit from 3368K to 3333K, but will be a more significant win
once instructions are abbreviated.
The VST went from:
  Block ID #14  (VALUE_SYMTAB):
      Num Instances: 2345
         Total Size: 1.29508e+07b/1.61885e+06B/404713W
       Average Size: 5522.73b/690.342B/172.585W
          % of file: 48.0645
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 7035/3
    Tot/Avg Records: 120924/51.5667
      % Abbrev Recs: 100
to:
  Block ID #14  (VALUE_SYMTAB):
      Num Instances: 2345
         Total Size: 1.26713e+07b/1.58391e+06B/395978W
       Average Size: 5403.53b/675.442B/168.86W
          % of file: 47.5198
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 0/0
    Tot/Avg Records: 120924/51.5667
      % Abbrev Recs: 100
because we didn't emit the same 3 abbrevs 2345 times :)
llvm-svn: 36767 
							
						 
						
							2007-05-05 00:17:00 +00:00  
				
					
						
							
							
								 
						
							
								a09879663d 
								
							 
						 
						
							
							
								
								allow the 8-bit abbrev to be used for either bb or other values  
							
							... 
							
							
							
							llvm-svn: 36761 
							
						 
						
							2007-05-04 21:31:13 +00:00  
				
					
						
							
							
								 
						
							
								fd1ad10e61 
								
							 
						 
						
							
							
								
								shave another 150K off of kc++, by using a 7-bit encoding for BB names  
							
							... 
							
							
							
							where we can.  This shrinks kc++'s down to 3368K, with a VST record of:
  Block ID #14  (VALUE_SYMTAB):
      Num Instances: 2345
         Total Size: 1.29508e+07b/1.61885e+06B/404713W
       Average Size: 5522.73b/690.342B/172.585W
          % of file: 48.0645
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 7035/3
    Tot/Avg Records: 120924/51.5667
      % Abbrev Recs: 100
Isn't it nice to be able to optimizer bc size without touching the reader? :)
llvm-svn: 36759 
							
						 
						
							2007-05-04 20:58:35 +00:00  
				
					
						
							
							
								 
						
							
								4d92598ab0 
								
							 
						 
						
							
							
								
								where possible, encode symtab names with 7 bits per char instead of 8.  This  
							
							... 
							
							
							
							shaves 110K off kc++ to 3514K.  Before:
  Block ID #14  (VALUE_SYMTAB):
      Num Instances: 2345
         Total Size: 1.50425e+07b/1.88031e+06B/470077W
       Average Size: 6414.69b/801.837B/200.459W
          % of file: 51.8057
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 2345/1
    Tot/Avg Records: 120924/51.5667
      % Abbrev Recs: 85.1791
after:
  Block ID #14  (VALUE_SYMTAB):
      Num Instances: 2345
         Total Size: 1.41229e+07b/1.76536e+06B/441341W
       Average Size: 6022.56b/752.82B/188.205W
          % of file: 50.2295
  Tot/Avg SubBlocks: 0/0
    Tot/Avg Abbrevs: 4690/2
    Tot/Avg Records: 120924/51.5667
      % Abbrev Recs: 85.1791
llvm-svn: 36758 
							
						 
						
							2007-05-04 20:52:02 +00:00  
				
					
						
							
							
								 
						
							
								2eae59f1c1 
								
							 
						 
						
							
							
								
								Encode all value symtab strings as arrays of 8-bit fixed width integers,  
							
							... 
							
							
							
							instead of the default inefficient encoding.  This shrinks kc++ from 4134K
to 3629K
llvm-svn: 36755 
							
						 
						
							2007-05-04 20:34:50 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								485a6d8fad 
								
							 
						 
						
							
							
								
								fix encoding of invoke instructions.  kc++ now round trips  
							
							... 
							
							
							
							llvm-svn: 36737 
							
						 
						
							2007-05-04 03:52:24 +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  
				
					
						
							
							
								 
						
							
								fc5b619419 
								
							 
						 
						
							
							
								
								fix a bug encoding param attrs  
							
							... 
							
							
							
							llvm-svn: 36730 
							
						 
						
							2007-05-04 03:14:09 +00:00  
				
					
						
							
							
								 
						
							
								e72bf9fda6 
								
							 
						 
						
							
							
								
								add writer support for param attrs  
							
							... 
							
							
							
							llvm-svn: 36724 
							
						 
						
							2007-05-04 02:59:04 +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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								5285b5ea2f 
								
							 
						 
						
							
							
								
								add reader logic for terminator instrs.  
							
							... 
							
							
							
							llvm-svn: 36642 
							
						 
						
							2007-05-02 05:46:45 +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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								1e16bcf7ff 
								
							 
						 
						
							
							
								
								implement reading and writing of constant exprs.  
							
							... 
							
							
							
							llvm-svn: 36394 
							
						 
						
							2007-04-24 07:07:11 +00:00  
				
					
						
							
							
								 
						
							
								1e50c299a8 
								
							 
						 
						
							
							
								
								fix off-by-one computing size for section abbrevs  
							
							... 
							
							
							
							llvm-svn: 36388 
							
						 
						
							2007-04-24 03:29:47 +00:00  
				
					
						
							
							
								 
						
							
								52523561d9 
								
							 
						 
						
							
							
								
								Emit module-level constants.  
							
							... 
							
							
							
							llvm-svn: 36384 
							
						 
						
							2007-04-24 00:16:04 +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  
				
					
						
							
							
								 
						
							
								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