Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						a6c329d66b 
					 
					
						
						
							
							MC: Give a (lame) hard error if a .org directive would create an unreasonably  
						
						... 
						
						
						
						large object file (> 1GB).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113494  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-09 16:23:33 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						c983b20661 
					 
					
						
						
							
							MC/ELF: Allow null values in virtual sections, ELF doesn't use special  
						
						... 
						
						
						
						directives for putting contents in .bss, for example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111376  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-18 18:22:37 +00:00 
						 
				 
			
				
					
						
							
							
								Matt Fleming 
							
						 
					 
					
						
						
							
						
						a8bf473fb1 
					 
					
						
						
							
							Layout helper function.  
						
						... 
						
						
						
						Introduce a helper method to add a section to the end of a layout. This
will be used by the ELF ObjectWriter code to add the metadata sections
(symbol table, etc) to the end of an object file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111171  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-16 18:35:06 +00:00 
						 
				 
			
				
					
						
							
							
								Matt Fleming 
							
						 
					 
					
						
						
							
						
						6c8b3d2f1f 
					 
					
						
						
							
							Record a symbol's size which is needed for ELF symbol tables.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111170  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-16 18:34:31 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						0ecdb6f3d8 
					 
					
						
						
							
							MC: Initialize MCFragment::Offset, noticed by Cameron Esfahani.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109875  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-30 18:32:09 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						36880e704f 
					 
					
						
						
							
							MC: Put back the MCFragment vtable, so subclasses are destroyed properly (duh).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109649  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-28 20:28:45 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Kleckner 
							
						 
					 
					
						
						
							
						
						c96a82a534 
					 
					
						
						
							
							Initial modifications to MCAssembler and TargetMachine for the MCJIT.  
						
						... 
						
						
						
						Patch by Olivier Meurant!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109080  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-22 05:58:53 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						6f74f69ff4 
					 
					
						
						
							
							The variable ValueSize is set to 1 on both code paths, and then  
						
						... 
						
						
						
						ignored!  Remove it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107138  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-29 13:30:08 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						843aa1f15b 
					 
					
						
						
							
							MC: Simplify MCAssembler::isSymbolLinkerVisible to only take an MCSymbol.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106142  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-16 20:04:29 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4b1000d117 
					 
					
						
						
							
							Don't call flush() at a library level which isn't checking for errors  
						
						... 
						
						
						
						and doesn't know where the output is going.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105274  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-01 16:31:34 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						83194de76a 
					 
					
						
						
							
							MC: When running with -mc-relax-all, we can eagerly relax instructions and avoid creating unnecessary MCInstFragments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104736  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-26 20:37:03 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						95506d40c5 
					 
					
						
						
							
							MC: Change RelaxInstruction to only take the input and output instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104713  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-26 18:15:06 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						8488252855 
					 
					
						
						
							
							MC: Simplify MayNeedRelaxation to not provide the fixups, so we can query it  
						
						... 
						
						
						
						before encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104707  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-26 17:45:29 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						c90e30aa6f 
					 
					
						
						
							
							MC: Eliminate MCAsmFixup, replace with MCFixup.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104699  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-26 15:18:56 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						482ad802f1 
					 
					
						
						
							
							MC: Use accessors for access to MCAsmFixup.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104697  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-26 15:18:31 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						e614e393c7 
					 
					
						
						
							
							MC: Eliminate MCFragment vtable, which was unnecessary.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104689  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-26 06:50:57 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						47b3ec4daa 
					 
					
						
						
							
							MC: Switch to completely lazy layout.  
						
						... 
						
						
						
						- The eliminates the last major algorithmic problem with MC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103754  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-14 00:51:14 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						9005d45a99 
					 
					
						
						
							
							MC: Extend MCAsmLayout to explicitly track which fragments have been layed out, and enforce several invariants to LayoutFragment to ensure we only do layout in a sensible order.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103753  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-14 00:37:21 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						11c4111516 
					 
					
						
						
							
							MC: Implicitly assign section addresses when the previous fragment is layed out.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103752  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-14 00:37:17 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						337718e09c 
					 
					
						
						
							
							MC: Switch MCFragment to storing the layout order index, not its index in the file.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103751  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-14 00:37:14 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						afc6acdab7 
					 
					
						
						
							
							MC: Change LayoutSection() to only do the section initializiation.  
						
						... 
						
						
						
						Also, elimminate MCAsmLayout::set*, which are no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103750  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-14 00:37:11 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						b69fc044db 
					 
					
						
						
							
							MC: Move Layout{Fragment,Section} into MCAsmLayout, and add LayoutFile().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103738  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-13 20:40:12 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						2c18d3b0fe 
					 
					
						
						
							
							MC: Factor out MCAssembler::ComputeFragmentSize.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103724  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-13 18:35:06 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						f60c736c64 
					 
					
						
						
							
							MC: Add section layout order indices to MCSectionData.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103715  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-13 15:17:26 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						49ed921190 
					 
					
						
						
							
							MC: Move ordinal calculation, to make sure fragments synthesized for layout get assigned ordinals properly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103711  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-13 08:43:37 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						09d3465f0e 
					 
					
						
						
							
							MC: Create dummy fragments to avoid ever having empty sections, which simplifies layout.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103710  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-13 08:43:34 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						aa0d350fe5 
					 
					
						
						
							
							MC: Add MCAsmLayout::FragmentReplaced() helper function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103709  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-13 08:43:31 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						054be92e1d 
					 
					
						
						
							
							Fix -Asserts warning.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103697  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-13 03:50:50 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						2661f11e46 
					 
					
						
						
							
							MC: Eliminate MCSectionData::{,Address,File}Size, which can now be computed by  
						
						... 
						
						
						
						utility functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103695  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-13 03:19:50 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						61066dbdf2 
					 
					
						
						
							
							MC: Switch to using explicit MCAlignFragments with OnlyAlignAddress bit instead  
						
						... 
						
						
						
						of manually doing padding/editing layout in LayoutSection().
    - This probably seems like six-of-one and half-dozen of another, but there
      is a method to my madness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103693  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-13 02:34:14 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						456b501270 
					 
					
						
						
							
							MC: Add MCAlignFragment::OnlyAlignAddress bit. This is a bit of magic that says the align fragment shouldn't contribute to the logical section size, it is will be used for cleaning up the code to handle section alignment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103690  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-13 01:10:26 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						b5844ff1c4 
					 
					
						
						
							
							MC: Add MCSectionData::AddressSize, which is the size of the address space consumed by the section. This can differ from both the section logical size, and the section size on disk (although the current code handles this without making an explicit distinction).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103689  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-13 01:10:22 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						1c15413ebc 
					 
					
						
						
							
							MC: Move MCAlignFragment::EmitNops value out of the constructor.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103665  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-12 22:56:23 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						4e544870c4 
					 
					
						
						
							
							MC: Eliminate MCZeroFillFragment, it is no longer needed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103664  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-12 22:51:38 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						e2fee5b236 
					 
					
						
						
							
							MC: Explicitly check that only virtual fragments appear in virtual sections.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103663  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-12 22:51:35 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						3153fec733 
					 
					
						
						
							
							MC: Switch MCFillFragment to storing total fill size instead of a count. This allows using ValueSize==0 to represent a virtual fill.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103662  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-12 22:51:32 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						e73d49eda2 
					 
					
						
						
							
							MC: Drop support for alignment in ZeroFill fragment, we can just use  
						
						... 
						
						
						
						MCAlignFragments for this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103661  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-12 22:51:27 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						52f8dff671 
					 
					
						
						
							
							Simplify.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103651  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-12 21:47:55 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						f0d17d2461 
					 
					
						
						
							
							MC: Factor out MCAssembler::LayoutFragment  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103649  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-12 21:35:25 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						2d891a20e6 
					 
					
						
						
							
							MC: Tweak section layout to not relying on accumulating address value.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103648  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-12 21:35:22 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						d13a0caf72 
					 
					
						
						
							
							MC: Simplify LayoutSection to just take the index of the section to layout.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103627  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-12 17:56:47 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						bc1a0cf139 
					 
					
						
						
							
							MC: Track section layout order explicitly, and use to simplify.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103616  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-12 15:42:59 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						a5f1d57f65 
					 
					
						
						
							
							MC/Mach-O/x86_64: Add a new hook for checking whether a particular section can  
						
						... 
						
						
						
						be diced into atoms, and adjust getAtom() to take this into account.
 - This fixes relocations to symbols in fixed size literal sections, for
   example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103532  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-12 00:38:17 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						651804c3d6 
					 
					
						
						
							
							MC/Mach-O x86_64: Switch to using fragment atom symbol.  
						
						... 
						
						
						
						- This eliminates getAtomForAddress() (which was a linear search) and
   simplifies getAtom().
 - This also fixes some correctness problems where local labels at the same
   address as non-local labels could be assigned to the wrong atom.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103480  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-11 17:22:50 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						071f73db4a 
					 
					
						
						
							
							MC/Mach-O: Explicitly track atoms, as represented by their defining symbol, for each fragment (not yet used).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103438  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-10 22:45:09 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						31e8e1d085 
					 
					
						
						
							
							llvm-mc: Fix case were we would skip a line in the .s file after an instruction  
						
						... 
						
						
						
						match failure.
Also, fixes a few memory leak FIXMEs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102986  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-04 00:33:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						75361b69f3 
					 
					
						
						
							
							rename llvm::llvm_report_error -> llvm::report_fatal_error  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-07 22:58:41 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						ac2884a717 
					 
					
						
						
							
							llvm-mc: Add a -mc-relax-all option, which relaxes every fixup. We always need  
						
						... 
						
						
						
						exactly two passes in that case, and don't ever need to recompute any layout,
so this is a nice baseline for relaxation performance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99563  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-25 22:49:09 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						0cc8bd4861 
					 
					
						
						
							
							MC: Stop restarting layout on every relaxation.  
						
						... 
						
						
						
						- Still O(N^2), just a faster form, and now its the MCAsmLayout's fault.
On the .s I am tuning against (combine.s from 403.gcc):
--
ddunbar@lordcrumb:MC$ diff stats-before.txt stats-after.txt
5,10c5,10
<    1728 assembler - Number of assembler layout and relaxation steps
<    7707 assembler - Number of emitted assembler fragments
<  120588 assembler - Number of emitted object file bytes
< 2233448 assembler - Number of evaluated fixups
<    1727 assembler - Number of relaxed instructions
< 6723845 mcexpr    - Number of MCExpr evaluations
---
>      3 assembler - Number of assembler layout and relaxation steps
>   7707 assembler - Number of emitted assembler fragments
> 120588 assembler - Number of emitted object file bytes
>  14796 assembler - Number of evaluated fixups
>   1727 assembler - Number of relaxed instructions
>  67889 mcexpr    - Number of MCExpr evaluations
--
Feel free to LOL at the -before numbers, if you like.
I am a little surprised we make more than 2 relaxation passes. It's pretty
trivial for us to do relaxation out-of-order if that would give a speedup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99543  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-25 19:35:56 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						f476b00f51 
					 
					
						
						
							
							MC: Simplify main section layout process by moving alignment into LayoutSection.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99529  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-25 18:16:42 +00:00