Richard Trieu 
							
						 
					 
					
						
						
							
						
						2e3734e2d9 
					 
					
						
						
							
							Fix asserts in CodeGen from:  
						
						... 
						
						
						
						assert("error");
to:
  assert(0 && "error");
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139449  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-09-10 01:07:54 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						10bb4211d6 
					 
					
						
						
							
							Get rid of a bunch of duplicated ELF enum values.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108520  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-16 07:53:29 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						17c6e6d9cf 
					 
					
						
						
							
							getMachineBasicBlockAddress returns a uintptr_t - don't truncate  
						
						... 
						
						
						
						to unsigned only to extend back to a pointer sized value on the
next line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107139  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-29 13:34:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b1e803985d 
					 
					
						
						
							
							prep work to support a future where getJumpTableInfo will return  
						
						... 
						
						
						
						a null pointer for functions with no jump tables.  No functionality
change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94469  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-25 23:22:00 +00:00 
						 
				 
			
				
					
						
							
							
								David Greene 
							
						 
					 
					
						
						
							
						
						5957c9b8aa 
					 
					
						
						
							
							Change errs() to dbgs().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92498  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-04 19:36:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						af76e592c7 
					 
					
						
						
							
							Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79763  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-22 20:48:53 +00:00 
						 
				 
			
				
					
						
							
							
								David Greene 
							
						 
					 
					
						
						
							
						
						0d036d2e81 
					 
					
						
						
							
							Add missing includes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79476  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-19 22:02:07 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						d163e8b14c 
					 
					
						
						
							
							Remove hack used to strip unwanted chars from section name  
						
						... 
						
						
						
						Use MCSectionELF methods as much as possible, removing some
ELFWriter methods which are now unused
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78940  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-13 21:25:27 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						52d0851446 
					 
					
						
						
							
							- Remove custom handling of jumptables by the elf writter (this was  
						
						... 
						
						
						
						a dirty hack and isn't need anymore since the last x86 code emitter patch)
- Add a target-dependent modifier to addend calculation
- Use R_X86_64_32S relocation for X86::reloc_absolute_word_sext
- Use getELFSectionFlags whenever possible
- fix getTextSection to use TLOF and emit the right text section 
- Handle global emission for static ctors, dtors and Type::PointerTyID
- Some minor fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78176  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-05 06:57:03 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						50bc204291 
					 
					
						
						
							
							Handle null and file symbol on doInitialization  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77354  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-28 19:25:33 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						746e3bb354 
					 
					
						
						
							
							Handle external symbols for ELF and add some static methods to ELFSym  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77232  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-27 18:54:47 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						ce63ffb52f 
					 
					
						
						
							
							More migration to raw_ostream, the water has dried up around the iostream hole.  
						
						... 
						
						
						
						- Some clients which used DOUT have moved to DEBUG. We are deprecating the
   "magic" DOUT behavior which avoided calling printing functions when the
   statement was disabled. In addition to being unnecessary magic, it had the
   downside of leaving code in -Asserts builds, and of hiding potentially
   unnecessary computations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77019  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-25 00:23:56 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						82a70ccb24 
					 
					
						
						
							
							Change ELFCodeEmitter logic to emit the constant pool and jump tables to  
						
						... 
						
						
						
						their appropriate sections before the code itself. They need to be emitted
before the function because on some targets (x86 but not x86_64) the later
may reference a JT or CP entry address
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76672  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-21 23:13:26 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						68491c1217 
					 
					
						
						
							
							Support adding relocations for data sections, handling the cases where  
						
						... 
						
						
						
						global declared symbols are initialized with references from other global
symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76540  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-21 06:51:32 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						e2b0ecd8be 
					 
					
						
						
							
							Use R_X86_64_32S to handle Jump Table Index relocation entries. Hide TAI usage inside getSection* functions  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76347  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-18 23:24:01 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						617dd7baa6 
					 
					
						
						
							
							Use a better name for the label relocations while emitting them for Jump Tables  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76334  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-18 20:52:11 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						171375f73a 
					 
					
						
						
							
							Add support to properly reference private symbols on relocation entries.  
						
						... 
						
						
						
						Use proper relocation type to build relocations for JumpTables (rodata
sections).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76326  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-18 19:30:09 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						4b70fab658 
					 
					
						
						
							
							use std::vector instead of std::list for both Section and Symbol lists because  
						
						... 
						
						
						
						we care more about random access than insertion/deletion of elements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75828  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-15 20:49:10 +00:00 
						 
				 
			
				
					
						
							
							
								Torok Edwin 
							
						 
					 
					
						
						
							
						
						c23197a26f 
					 
					
						
						
							
							llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.  
						
						... 
						
						
						
						This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-14 16:55:14 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						d291066879 
					 
					
						
						
							
							Cleanup the global emission and refactor some code  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75537  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-13 22:40:39 +00:00 
						 
				 
			
				
					
						
							
							
								Torok Edwin 
							
						 
					 
					
						
						
							
						
						c25e7581b9 
					 
					
						
						
							
							assert(0) -> LLVM_UNREACHABLE.  
						
						... 
						
						
						
						Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-11 20:10:48 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						6933d3eff8 
					 
					
						
						
							
							Changed ELFCodeEmitter to inherit from ObjectCodeEmitter  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74821  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-06 09:26:48 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						0b1308f189 
					 
					
						
						
							
							Factor some code out and support for Jump Table relocations  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74760  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-03 04:36:26 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						45f5d6417b 
					 
					
						
						
							
							shrinking down #includes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74718  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-02 18:29:24 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						3d62a412fb 
					 
					
						
						
							
							Remove getFunctionAlignment from TargetELFInfo and use new MachineFunction alignment method  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74686  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-02 02:13:13 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						a5e0abd0d4 
					 
					
						
						
							
							Support Constant Pool Sections  
						
						... 
						
						
						
						Add section symbols to the symbol table
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74170  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-25 07:36:24 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						0d3193ef3c 
					 
					
						
						
							
							Add more methods to gather target specific elf stuff  
						
						... 
						
						
						
						Support for .text relocations, implementing TargetELFWriter overloaded methods for x86/x86_64.
Use a map to track global values to their symbol table indexes
Code cleanup and small fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73894  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-22 19:16:16 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						ae9163f0e2 
					 
					
						
						
							
							Introduce new BinaryObject (blob) class, ELF Writer modified to use it. BinaryObject.h by Aaron Gray  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73333  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-14 07:53:21 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						c997d45ae5 
					 
					
						
						
							
							Support for ELF Visibility  
						
						... 
						
						
						
						Emission for globals, using the correct data sections
Function alignment can be computed for each target using TargetELFWriterInfo
Some small fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73201  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-11 19:16:03 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						a029a27fae 
					 
					
						
						
							
							Simple ELF32/64 binary files can now be emitted for x86 and x86_64 without  
						
						... 
						
						
						
						relocation sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73038  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-07 21:22:38 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						f5b0c5a1c7 
					 
					
						
						
							
							Remove elf specific info from ELFWriter.h to Elf.h. Code cleanup and more comments added  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72982  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-06 03:56:29 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						5d41910396 
					 
					
						
						
							
							ELF Code Emitter now uses CurBufferPtr, BufferBegin and BufferEnd, as do JIT and  
						
						... 
						
						
						
						MachO Writer. This will change with the arrival of ObjectCodeEmitter and
BinaryObject
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72906  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-05 00:22:10 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						4cb31436bd 
					 
					
						
						
							
							Move ELFCodeEmiter stuff to new files  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72785  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-03 17:47:27 +00:00