83930198dd 
								
							 
						 
						
							
							
								
								Debug support for arm-linux.  
							
							... 
							
							
							
							Patch by Raul Herbster.
llvm-svn: 36690 
							
						 
						
							2007-05-03 20:28:35 +00:00  
				
					
						
							
							
								 
						
							
								9a8c7cf00b 
								
							 
						 
						
							
							
								
								add support for printing offset from global  
							
							... 
							
							
							
							llvm-svn: 36669 
							
						 
						
							2007-05-03 16:42:23 +00:00  
				
					
						
							
							
								 
						
							
								2c673ad7ef 
								
							 
						 
						
							
							
								
								Enable protected visibility on ARM.  
							
							... 
							
							
							
							llvm-svn: 36583 
							
						 
						
							2007-04-30 00:23:51 +00:00  
				
					
						
							
							
								 
						
							
								c39c12a3fa 
								
							 
						 
						
							
							
								
								ARM TLS: implement "general dynamic", "initial exec" and "local exec" models.  
							
							... 
							
							
							
							llvm-svn: 36506 
							
						 
						
							2007-04-27 13:54:47 +00:00  
				
					
						
							
							
								 
						
							
								4ae9425bb6 
								
							 
						 
						
							
							
								
								remember to emit weak reference in one more case.  
							
							... 
							
							
							
							llvm-svn: 36438 
							
						 
						
							2007-04-25 14:50:40 +00:00  
				
					
						
							
							
								 
						
							
								ed0ecdb7ff 
								
							 
						 
						
							
							
								
								add Align field, and use when generating function alignment  
							
							... 
							
							
							
							llvm-svn: 36371 
							
						 
						
							2007-04-23 20:07:25 +00:00  
				
					
						
							
							
								 
						
							
								ee2d164f0f 
								
							 
						 
						
							
							
								
								Implement PIC for arm-linux.  
							
							... 
							
							
							
							llvm-svn: 36324 
							
						 
						
							2007-04-22 00:04:12 +00:00  
				
					
						
							
							
								 
						
							
								1e150dedd1 
								
							 
						 
						
							
							
								
								Implement inline asm modifier P.  
							
							... 
							
							
							
							llvm-svn: 35640 
							
						 
						
							2007-04-04 00:13:29 +00:00  
				
					
						
							
							
								 
						
							
								8f592160c0 
								
							 
						 
						
							
							
								
								Add support for hidden visibility to darwin/arm.  
							
							... 
							
							
							
							llvm-svn: 35448 
							
						 
						
							2007-03-29 07:49:34 +00:00  
				
					
						
							
							
								 
						
							
								9e7b838469 
								
							 
						 
						
							
							
								
								Make two piece constant generation as a single instruction. It's re-materialized as a load from constantpool.  
							
							... 
							
							
							
							llvm-svn: 35207 
							
						 
						
							2007-03-20 08:11:30 +00:00  
				
					
						
							
							
								 
						
							
								ea28fc5dc4 
								
							 
						 
						
							
							
								
								Implement inline asm modifier c.  
							
							... 
							
							
							
							llvm-svn: 35035 
							
						 
						
							2007-03-08 22:42:46 +00:00  
				
					
						
							
							
								 
						
							
								ddf082082c 
								
							 
						 
						
							
							
								
								Putting more constants which do not contain relocations into .literal{4|8|16}  
							
							... 
							
							
							
							llvm-svn: 35026 
							
						 
						
							2007-03-08 08:31:54 +00:00  
				
					
						
							
							
								 
						
							
								d918477ac3 
								
							 
						 
						
							
							
								
								For Darwin, put constant data into .const, .const_data, .literal{4|8|16}  
							
							... 
							
							
							
							sections.
llvm-svn: 35017 
							
						 
						
							2007-03-08 01:25:25 +00:00  
				
					
						
							
							
								 
						
							
								65c75b57d4 
								
							 
						 
						
							
							
								
								Get rid of verboten <iostream> include.  
							
							... 
							
							
							
							llvm-svn: 34777 
							
						 
						
							2007-03-01 06:05:39 +00:00  
				
					
						
							
							
								 
						
							
								903e01d407 
								
							 
						 
						
							
							
								
								Fix .thumb_func directive on linux.  
							
							... 
							
							
							
							llvm-svn: 33759 
							
						 
						
							2007-02-01 18:25:34 +00:00  
				
					
						
							
							
								 
						
							
								ed81dea45b 
								
							 
						 
						
							
							
								
								Don't emit unnecessary .align directive.  
							
							... 
							
							
							
							llvm-svn: 33729 
							
						 
						
							2007-01-31 23:39:39 +00:00  
				
					
						
							
							
								 
						
							
								83f35170fa 
								
							 
						 
						
							
							
								
								- Fix codegen for pc relative constant (e.g. JT) in thumb mode:  
							
							... 
							
							
							
							.set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
LPCRELL0:
        add r1, pc, #PCRELV0
This is not legal since add r1, pc, #c requires the constant be a multiple of 4.
Do the following instead:
        .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
LPCRELL0:
        mov r1, #PCRELV0
        add r1, pc
- In thumb mode, it's not possible to use .set generate a pc relative stub
  address. The stub is ARM code which is in a different section from the thumb
  code. Load the value from a constpool instead.
- Some asm printing clean up.
llvm-svn: 33664 
							
						 
						
							2007-01-30 20:37:08 +00:00  
				
					
						
							
							
								 
						
							
								5301e7c605 
								
							 
						 
						
							
							
								
								For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid  
							
							... 
							
							
							
							confusion with external linkage types.
llvm-svn: 33663 
							
						 
						
							2007-01-30 20:08:39 +00:00  
				
					
						
							
							
								 
						
							
								0e083d0161 
								
							 
						 
						
							
							
								
								Darwin -static should codegen static ctors / dtors to .constructor / .destructor sections.  
							
							... 
							
							
							
							llvm-svn: 33657 
							
						 
						
							2007-01-30 08:04:53 +00:00  
				
					
						
							
							
								 
						
							
								1cd3c0efb8 
								
							 
						 
						
							
							
								
								Change the operand orders to t_addrmode_s* to make it easier to morph  
							
							... 
							
							
							
							instructions that use these address modes to instructions that use
t_addrmode_sp.
llvm-svn: 33651 
							
						 
						
							2007-01-30 02:35:32 +00:00  
				
					
						
							
							
								 
						
							
								0701c5a074 
								
							 
						 
						
							
							
								
								Thumb jumptable support.  
							
							... 
							
							
							
							llvm-svn: 33568 
							
						 
						
							2007-01-27 02:29:45 +00:00  
				
					
						
							
							
								 
						
							
								c56315c2b5 
								
							 
						 
						
							
							
								
								Change the MachineDebugInfo to MachineModuleInfo to better reflect usage  
							
							... 
							
							
							
							for debugging and exception handling.
llvm-svn: 33550 
							
						 
						
							2007-01-26 21:22:28 +00:00  
				
					
						
							
							
								 
						
							
								aa26c1ab9d 
								
							 
						 
						
							
							
								
								If the constant pool value is a extern weak symbol, emit the weak reference.  
							
							... 
							
							
							
							llvm-svn: 33543 
							
						 
						
							2007-01-26 19:51:32 +00:00  
				
					
						
							
							
								 
						
							
								4f7d37fe04 
								
							 
						 
						
							
							
								
								Fix elf object definition.  
							
							... 
							
							
							
							llvm-svn: 33502 
							
						 
						
							2007-01-25 20:11:04 +00:00  
				
					
						
							
							
								 
						
							
								c1a1bd18e3 
								
							 
						 
						
							
							
								
								Getting rid uses of evil std::set<>  
							
							... 
							
							
							
							llvm-svn: 33496 
							
						 
						
							2007-01-25 03:07:27 +00:00  
				
					
						
							
							
								 
						
							
								c0b7366cf9 
								
							 
						 
						
							
							
								
								- Reorg Thumb load / store instructions. Combine each rr and ri pair of  
							
							... 
							
							
							
							instructions into one (e.g. tLDRrr, tLDRri -> tLDR).
- Thumb ldrsb and ldrsh only have the [reg, reg] address format. If the
  address is not an add, materialize a 0 immediate into a register and use
  it as the offset field.
llvm-svn: 33470 
							
						 
						
							2007-01-23 22:59:13 +00:00  
				
					
						
							
							
								 
						
							
								1199c2d653 
								
							 
						 
						
							
							
								
								Restructure code a bit to make use of continue (simplifying things).  Generalize  
							
							... 
							
							
							
							the .zerofill directive emission to not be darwin-specific.
llvm-svn: 33365 
							
						 
						
							2007-01-19 19:25:36 +00:00  
				
					
						
							
							
								 
						
							
								75aaf1fa6a 
								
							 
						 
						
							
							
								
								Fix section definition.  
							
							... 
							
							
							
							llvm-svn: 33359 
							
						 
						
							2007-01-19 17:33:22 +00:00  
				
					
						
							
							
								 
						
							
								10043e215b 
								
							 
						 
						
							
							
								
								ARM backend contribution from Apple.  
							
							... 
							
							
							
							llvm-svn: 33353 
							
						 
						
							2007-01-19 07:51:42 +00:00  
				
					
						
							
							
								 
						
							
								5cfa5ef912 
								
							 
						 
						
							
							
								
								Fix for ARM weak symbols, patch by Lauro Ramos Venancio!  
							
							... 
							
							
							
							llvm-svn: 32740 
							
						 
						
							2006-12-21 22:59:58 +00:00  
				
					
						
							
							
								 
						
							
								1ef9cd400d 
								
							 
						 
						
							
							
								
								eliminate static ctors for Statistic objects.  
							
							... 
							
							
							
							llvm-svn: 32703 
							
						 
						
							2006-12-19 22:59:26 +00:00  
				
					
						
							
							
								 
						
							
								d7998d0e6d 
								
							 
						 
						
							
							
								
								move ExtWeakSymbols to AsmPrinter  
							
							... 
							
							
							
							llvm-svn: 32648 
							
						 
						
							2006-12-18 03:37:18 +00:00  
				
					
						
							
							
								 
						
							
								b8ada08b26 
								
							 
						 
						
							
							
								
								.align is in bits  
							
							... 
							
							
							
							.comm is in bytes
:-(
llvm-svn: 32408 
							
						 
						
							2006-12-10 02:53:14 +00:00  
				
					
						
							
							
								 
						
							
								d12d2250a7 
								
							 
						 
						
							
							
								
								%progbits not @progbits  
							
							... 
							
							
							
							llvm-svn: 32376 
							
						 
						
							2006-12-08 22:06:02 +00:00  
				
					
						
							
							
								 
						
							
								94f29f129d 
								
							 
						 
						
							
							
								
								add \"aw\",@progbits" to ctors and dtors  
							
							... 
							
							
							
							llvm-svn: 32373 
							
						 
						
							2006-12-08 21:24:58 +00:00  
				
					
						
							
							
								 
						
							
								265fa68bd8 
								
							 
						 
						
							
							
								
								fix alignment  
							
							... 
							
							
							
							llvm-svn: 32337 
							
						 
						
							2006-12-07 22:38:06 +00:00  
				
					
						
							
							
								 
						
							
								9bfb1e1f29 
								
							 
						 
						
							
							
								
								What should be the last unnecessary <iostream>s in the library.  
							
							... 
							
							
							
							llvm-svn: 32333 
							
						 
						
							2006-12-07 22:21:48 +00:00  
				
					
						
							
							
								 
						
							
								219a796475 
								
							 
						 
						
							
							
								
								make sure that we don't use a common symbol if a section was specified  
							
							... 
							
							
							
							llvm-svn: 32310 
							
						 
						
							2006-12-07 18:33:58 +00:00  
				
					
						
							
							
								 
						
							
								700b873130 
								
							 
						 
						
							
							
								
								Detemplatize the Statistic class.  The only type it is instantiated with  
							
							... 
							
							
							
							is 'unsigned'.
llvm-svn: 32279 
							
						 
						
							2006-12-06 17:46:33 +00:00  
				
					
						
							
							
								 
						
							
								776abee608 
								
							 
						 
						
							
							
								
								print weak references  
							
							... 
							
							
							
							llvm-svn: 32276 
							
						 
						
							2006-12-06 13:35:10 +00:00  
				
					
						
							
							
								 
						
							
								81cf22d873 
								
							 
						 
						
							
							
								
								These asm printers shouldn't use assembly/writer.h  
							
							... 
							
							
							
							llvm-svn: 32262 
							
						 
						
							2006-12-06 06:13:25 +00:00  
				
					
						
							
							
								 
						
							
								2369a024d7 
								
							 
						 
						
							
							
								
								add support for weak linkage  
							
							... 
							
							
							
							llvm-svn: 32222 
							
						 
						
							2006-12-05 17:00:17 +00:00  
				
					
						
							
							
								 
						
							
								5f7ab1b964 
								
							 
						 
						
							
							
								
								implement load effective address similar to the alpha backend  
							
							... 
							
							
							
							remove lea_addri and the now unused memri addressing mode
llvm-svn: 31592 
							
						 
						
							2006-11-09 13:58:55 +00:00  
				
					
						
							
							
								 
						
							
								708cb60588 
								
							 
						 
						
							
							
								
								initial implementation of addressing mode 2  
							
							... 
							
							
							
							TODO: fix lea_addri
llvm-svn: 31552 
							
						 
						
							2006-11-08 17:07:32 +00:00  
				
					
						
							
							
								 
						
							
								ac8668d62f 
								
							 
						 
						
							
							
								
								move ARMCondCodeToString to ARMAsmPrinter.cpp  
							
							... 
							
							
							
							remove unused variables from lowerCall
llvm-svn: 31378 
							
						 
						
							2006-11-02 15:00:02 +00:00  
				
					
						
							
							
								 
						
							
								3576405a26 
								
							 
						 
						
							
							
								
								print null values in bss  
							
							... 
							
							
							
							llvm-svn: 31349 
							
						 
						
							2006-11-01 14:26:44 +00:00  
				
					
						
							
							
								 
						
							
								ea67b973c2 
								
							 
						 
						
							
							
								
								print common symbols  
							
							... 
							
							
							
							llvm-svn: 31048 
							
						 
						
							2006-10-19 13:30:40 +00:00  
				
					
						
							
							
								 
						
							
								19398ec86e 
								
							 
						 
						
							
							
								
								initial implementation of addressing mode 5  
							
							... 
							
							
							
							llvm-svn: 31002 
							
						 
						
							2006-10-17 18:04:53 +00:00  
				
					
						
							
							
								 
						
							
								f719c5f43d 
								
							 
						 
						
							
							
								
								expand ISD::SHL_PARTS, ISD::SRA_PARTS and ISD::SRL_PARTS  
							
							... 
							
							
							
							llvm-svn: 30987 
							
						 
						
							2006-10-16 21:10:32 +00:00  
				
					
						
							
							
								 
						
							
								a6a570e02f 
								
							 
						 
						
							
							
								
								Pass the MachineFunction into EmitJumpTableInfo.  
							
							... 
							
							
							
							llvm-svn: 30742 
							
						 
						
							2006-10-05 03:01:21 +00:00  
				
					
						
							
							
								 
						
							
								4431699187 
								
							 
						 
						
							
							
								
								Use getSectionForFunction.  
							
							... 
							
							
							
							llvm-svn: 30740 
							
						 
						
							2006-10-05 02:49:23 +00:00  
				
					
						
							
							
								 
						
							
								3130a756ef 
								
							 
						 
						
							
							
								
								add shifts to addressing mode 1  
							
							... 
							
							
							
							llvm-svn: 30291 
							
						 
						
							2006-09-13 12:09:43 +00:00  
				
					
						
							
							
								 
						
							
								e45a79a9e2 
								
							 
						 
						
							
							
								
								partial implementation of the ARM Addressing Mode 1  
							
							... 
							
							
							
							llvm-svn: 30252 
							
						 
						
							2006-09-11 17:25:40 +00:00  
				
					
						
							
							
								 
						
							
								ecb0d686f8 
								
							 
						 
						
							
							
								
								call AsmPrinter::doInitialization in ARMAsmPrinter::doInitialization  
							
							... 
							
							
							
							llvm-svn: 30246 
							
						 
						
							2006-09-11 12:49:38 +00:00  
				
					
						
							
							
								 
						
							
								fbee8bfe48 
								
							 
						 
						
							
							
								
								Removed unnecessary Mangler creation.  
							
							... 
							
							
							
							llvm-svn: 30239 
							
						 
						
							2006-09-10 21:17:03 +00:00  
				
					
						
							
							
								 
						
							
								261779bb45 
								
							 
						 
						
							
							
								
								Make target asm info a property of the target machine.  
							
							... 
							
							
							
							llvm-svn: 30162 
							
						 
						
							2006-09-07 22:06:40 +00:00  
				
					
						
							
							
								 
						
							
								a6211dcdad 
								
							 
						 
						
							
							
								
								Separate target specific asm properties from the asm printers.  
							
							... 
							
							
							
							llvm-svn: 30126 
							
						 
						
							2006-09-06 18:34:40 +00:00  
				
					
						
							
							
								 
						
							
								98dc23fd1f 
								
							 
						 
						
							
							
								
								use @ for comments  
							
							... 
							
							
							
							store LR in an arbitrary stack slot
add support for writing varargs functions
llvm-svn: 29876 
							
						 
						
							2006-08-25 17:55:16 +00:00  
				
					
						
							
							
								 
						
							
								fe03fe9bf4 
								
							 
						 
						
							
							
								
								create a generic bcond instruction that has a conditional code argument  
							
							... 
							
							
							
							llvm-svn: 29856 
							
						 
						
							2006-08-24 16:13:15 +00:00  
				
					
						
							
							
								 
						
							
								e08b9853cc 
								
							 
						 
						
							
							
								
								initial support for branches  
							
							... 
							
							
							
							llvm-svn: 29854 
							
						 
						
							2006-08-24 13:45:55 +00:00  
				
					
						
							
							
								 
						
							
								c3ed77e1b9 
								
							 
						 
						
							
							
								
								add a "load effective address"  
							
							... 
							
							
							
							llvm-svn: 29748 
							
						 
						
							2006-08-17 17:09:40 +00:00  
				
					
						
							
							
								 
						
							
								8b7bd8264b 
								
							 
						 
						
							
							
								
								start comments with #  
							
							... 
							
							
							
							move the constant pool to .text
correctly print loads of labels
mark R0, R1, R2 and R3 as caller save
llvm-svn: 29451 
							
						 
						
							2006-08-01 18:53:10 +00:00  
				
					
						
							
							
								 
						
							
								95035cf001 
								
							 
						 
						
							
							
								
								implement LowerConstantPool and LowerGlobalAddress  
							
							... 
							
							
							
							llvm-svn: 29433 
							
						 
						
							2006-08-01 12:58:43 +00:00  
				
					
						
							
							
								 
						
							
								7cc2d19fc1 
								
							 
						 
						
							
							
								
								handle GlobalValue::InternalLinkage in doFinalization  
							
							... 
							
							
							
							llvm-svn: 29417 
							
						 
						
							2006-07-31 20:38:13 +00:00  
				
					
						
							
							
								 
						
							
								89e5cbd897 
								
							 
						 
						
							
							
								
								emit global constants  
							
							... 
							
							
							
							llvm-svn: 29344 
							
						 
						
							2006-07-27 11:38:51 +00:00  
				
					
						
							
							
								 
						
							
								75269be065 
								
							 
						 
						
							
							
								
								skeleton of a lowerCall implementation for ARM  
							
							... 
							
							
							
							llvm-svn: 29159 
							
						 
						
							2006-07-16 01:02:57 +00:00  
				
					
						
							
							
								 
						
							
								185c5c2bdf 
								
							 
						 
						
							
							
								
								add the memri memory operand  
							
							... 
							
							
							
							this makes it possible for ldr instructions with non-zero immediate
llvm-svn: 29103 
							
						 
						
							2006-07-11 11:36:48 +00:00  
				
					
						
							
							
								 
						
							
								87bc1a9b0b 
								
							 
						 
						
							
							
								
								On ARM, alignment is in bits  
							
							... 
							
							
							
							Add lr as a hard coded operand of bx
llvm-svn: 28494 
							
						 
						
							2006-05-26 10:56:17 +00:00  
				
					
						
							
							
								 
						
							
								91df1ef41f 
								
							 
						 
						
							
							
								
								implement initial version of ARMAsmPrinter::printOperand  
							
							... 
							
							
							
							llvm-svn: 28470 
							
						 
						
							2006-05-25 12:57:06 +00:00  
				
					
						
							
							
								 
						
							
								27f8bdc7e5 
								
							 
						 
						
							
							
								
								implement minimal versions of  
							
							... 
							
							
							
							ARMAsmPrinter::runOnMachineFunction
LowerFORMAL_ARGUMENTS
ARMInstrInfo::isMoveInstr
llvm-svn: 28431 
							
						 
						
							2006-05-23 02:48:20 +00:00  
				
					
						
							
							
								 
						
							
								ffdc24b847 
								
							 
						 
						
							
							
								
								added a skeleton of the ARM backend  
							
							... 
							
							
							
							llvm-svn: 28301 
							
						 
						
							2006-05-14 22:18:28 +00:00