24570836b2 
								
							 
						 
						
							
							
								
								Use PassManagerBase instead of FunctionPassManager for functions  
							
							... 
							
							
							
							that merely add passes. This allows them to be used with either
FunctionPassManager or PassManager, or even with a custom new
kind of pass manager.
llvm-svn: 48256 
							
						 
						
							2008-03-11 22:29:46 +00:00  
				
					
						
							
							
								 
						
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
				
					
						
							
							
								 
						
							
								8010320365 
								
							 
						 
						
							
							
								
								Enable if-conversion for ARM by default.  
							
							... 
							
							
							
							llvm-svn: 42156 
							
						 
						
							2007-09-20 00:48:22 +00:00  
				
					
						
							
							
								 
						
							
								f7c6effc44 
								
							 
						 
						
							
							
								
								Initial JIT support for ARM by Raul Fernandes Herbster.  
							
							... 
							
							
							
							llvm-svn: 40887 
							
						 
						
							2007-08-07 01:37:15 +00:00  
				
					
						
							
							
								 
						
							
								9d5df0a5f6 
								
							 
						 
						
							
							
								
								Added -print-emitted-asm to print out JIT generated asm to cerr.  
							
							... 
							
							
							
							llvm-svn: 40123 
							
						 
						
							2007-07-20 21:56:13 +00:00  
				
					
						
							
							
								 
						
							
								517290ae52 
								
							 
						 
						
							
							
								
								The various "getModuleMatchQuality" implementations should return  
							
							... 
							
							
							
							zero if they see a target triple they don't understand.
llvm-svn: 38463 
							
						 
						
							2007-07-09 17:25:29 +00:00  
				
					
						
							
							
								 
						
							
								9546a5c7de 
								
							 
						 
						
							
							
								
								Initial ARM JIT support by Raul Fernandes Herbster.  
							
							... 
							
							
							
							llvm-svn: 37926 
							
						 
						
							2007-07-05 21:15:40 +00:00  
				
					
						
							
							
								 
						
							
								4423687831 
								
							 
						 
						
							
							
								
								Move if-conversion after all passes that may use register scavenger.  
							
							... 
							
							
							
							llvm-svn: 37120 
							
						 
						
							2007-05-16 20:52:46 +00:00  
				
					
						
							
							
								 
						
							
								ad3aac71ce 
								
							 
						 
						
							
							
								
								Hooks for predication support.  
							
							... 
							
							
							
							llvm-svn: 37093 
							
						 
						
							2007-05-16 02:01:49 +00:00  
				
					
						
							
							
								 
						
							
								818242bbaf 
								
							 
						 
						
							
							
								
								Implement getTargetLowering() or else LSR won't be using ARM specific hooks.  
							
							... 
							
							
							
							llvm-svn: 35077 
							
						 
						
							2007-03-13 01:20:42 +00:00  
				
					
						
							
							
								 
						
							
								9f8301413c 
								
							 
						 
						
							
							
								
								Added -march=thumb; removed -enable-thumb.  
							
							... 
							
							
							
							llvm-svn: 34521 
							
						 
						
							2007-02-23 03:14:31 +00:00  
				
					
						
							
							
								 
						
							
								945e437c65 
								
							 
						 
						
							
							
								
								Generalize TargetData strings, to support more interesting forms of data.  
							
							... 
							
							
							
							Patch by Scott Michel.
llvm-svn: 34266 
							
						 
						
							2007-02-14 05:52:17 +00:00  
				
					
						
							
							
								 
						
							
								50c6a8c3a1 
								
							 
						 
						
							
							
								
								Add space between // and the comment.  
							
							... 
							
							
							
							llvm-svn: 34246 
							
						 
						
							2007-02-13 20:06:15 +00:00  
				
					
						
							
							
								 
						
							
								048e16ff8f 
								
							 
						 
						
							
							
								
								Add ABI information to ARM subtarget.  
							
							... 
							
							
							
							llvm-svn: 34245 
							
						 
						
							2007-02-13 19:52:28 +00:00  
				
					
						
							
							
								 
						
							
								603f201cba 
								
							 
						 
						
							
							
								
								According to ARM EABI, 8-bytes function arguments must be 8-bytes aligned.  
							
							... 
							
							
							
							llvm-svn: 34241 
							
						 
						
							2007-02-13 14:07:13 +00:00  
				
					
						
							
							
								 
						
							
								e724492566 
								
							 
						 
						
							
							
								
								Also set alignment of stack-based structs to 4 in thumb mode.  
							
							... 
							
							
							
							llvm-svn: 33741 
							
						 
						
							2007-02-01 02:18:36 +00:00  
				
					
						
							
							
								 
						
							
								1c5837dc4a 
								
							 
						 
						
							
							
								
								Thumb add sp, #imm requires the immediate value be multiple of 4. For now,  
							
							... 
							
							
							
							change preferred alignment of short, byte, bool to 4.
llvm-svn: 33722 
							
						 
						
							2007-01-31 22:08:40 +00:00  
				
					
						
							
							
								 
						
							
								107015e2fa 
								
							 
						 
						
							
							
								
								ARM AAPCS abi (Linux, etc.) requires 8-byte double / long alignment; Mac  
							
							... 
							
							
							
							requires 4-bytes alignment.
llvm-svn: 33448 
							
						 
						
							2007-01-22 23:13:01 +00:00  
				
					
						
							
							
								 
						
							
								4abf2e7bcc 
								
							 
						 
						
							
							
								
								Double and Long preferred alignment is 4 for Darwin, 8 for Linux.  
							
							... 
							
							
							
							llvm-svn: 33440 
							
						 
						
							2007-01-22 21:24:13 +00:00  
				
					
						
							
							
								 
						
							
								aa24f08926 
								
							 
						 
						
							
							
								
								Clean up ARM PEI code.  
							
							... 
							
							
							
							llvm-svn: 33389 
							
						 
						
							2007-01-20 02:09:25 +00:00  
				
					
						
							
							
								 
						
							
								bf216c364f 
								
							 
						 
						
							
							
								
								isDarwin -> isTargetDarwin  
							
							... 
							
							
							
							llvm-svn: 33366 
							
						 
						
							2007-01-19 19:28:01 +00:00  
				
					
						
							
							
								 
						
							
								10043e215b 
								
							 
						 
						
							
							
								
								ARM backend contribution from Apple.  
							
							... 
							
							
							
							llvm-svn: 33353 
							
						 
						
							2007-01-19 07:51:42 +00:00  
				
					
						
							
							
								 
						
							
								4ece5c04f4 
								
							 
						 
						
							
							
								
								revert previous patch  
							
							... 
							
							
							
							llvm-svn: 31411 
							
						 
						
							2006-11-03 03:08:28 +00:00  
				
					
						
							
							
								 
						
							
								38b162c1d2 
								
							 
						 
						
							
							
								
								add createCFGSimplificationPass to ARMTargetMachine::addInstSelector  
							
							... 
							
							
							
							llvm-svn: 31400 
							
						 
						
							2006-11-03 01:39:25 +00:00  
				
					
						
							
							
								 
						
							
								78d6c2bf59 
								
							 
						 
						
							
							
								
								most ARM targets are little endian  
							
							... 
							
							
							
							llvm-svn: 30826 
							
						 
						
							2006-10-09 14:12:15 +00:00  
				
					
						
							
							
								 
						
							
								f7d4a9900c 
								
							 
						 
						
							
							
								
								Implement a MachineFunctionPass to fix the mul instruction  
							
							... 
							
							
							
							llvm-svn: 30485 
							
						 
						
							2006-09-19 15:49:25 +00:00  
				
					
						
							
							
								 
						
							
								ae92ce8798 
								
							 
						 
						
							
							
								
								1. Remove condition on delete.  
							
							... 
							
							
							
							2. Protect and outline createTargetAsmInfo.
3. Misc. kruft.
llvm-svn: 30169 
							
						 
						
							2006-09-07 23:39:26 +00:00  
				
					
						
							
							
								 
						
							
								12e97307a1 
								
							 
						 
						
							
							
								
								Completely rearchitect the interface between targets and the pass manager.  
							
							... 
							
							
							
							This pass:
1. Splits TargetMachine into TargetMachine (generic targets, can be implemented
any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by
things using libcodegen and other support).
2. Instead of having each target fully populate the passmgr for file or JIT
   output, move all this to common code, and give targets hooks they can
   implement.
3. Commonalize the target population stuff between file emission and JIT
   emission.
4. All (native code) codegen stuff now happens in a FunctionPassManager, which
   paves the way for "fast -O0" stuff in the CFE later, and now LLC could
   lazily stream .bc files from disk to use less memory.
5. There are now many fewer #includes and the targets don't depend on the
   scalar xforms or libanalysis anymore (but codegen does).
6. Changing common code generator pass ordering stuff no longer requires
   touching all targets.
7. The JIT now has the option of "-fast" codegen or normal optimized codegen,
   which is now orthogonal to the fact that JIT'ing is being done.
llvm-svn: 30081 
							
						 
						
							2006-09-04 04:14:57 +00:00  
				
					
						
							
							
								 
						
							
								0fc4541c67 
								
							 
						 
						
							
							
								
								Simplify target construction.  
							
							... 
							
							
							
							llvm-svn: 30070 
							
						 
						
							2006-09-03 18:44:02 +00:00  
				
					
						
							
							
								 
						
							
								d0dee77718 
								
							 
						 
						
							
							
								
								initial support for select  
							
							... 
							
							
							
							llvm-svn: 29802 
							
						 
						
							2006-08-21 22:00:32 +00:00  
				
					
						
							
							
								 
						
							
								bf8e751488 
								
							 
						 
						
							
							
								
								Declare the callee saved regs  
							
							... 
							
							
							
							Remove the hard coded store and load of the link register
Implement ARMFrameInfo
llvm-svn: 29727 
							
						 
						
							2006-08-16 14:43:33 +00:00  
				
					
						
							
							
								 
						
							
								1c41fc9b06 
								
							 
						 
						
							
							
								
								correctly set LocalAreaOffset of TargetFrameInfo  
							
							... 
							
							
							
							llvm-svn: 29589 
							
						 
						
							2006-08-09 17:37:45 +00:00  
				
					
						
							
							
								 
						
							
								f3b5b92e58 
								
							 
						 
						
							
							
								
								Don't pass target name into TargetData anymore, it is never used or needed.  
							
							... 
							
							
							
							Remove explicit casts to std::string now that there is no overload resolution
issues in the TargetData ctors.
llvm-svn: 28830 
							
						 
						
							2006-06-16 18:22:52 +00:00  
				
					
						
							
							
								 
						
							
								88812b5c0a 
								
							 
						 
						
							
							
								
								Make all of the TargetMachine subclasses use the new string TargetData methods.  
							
							... 
							
							
							
							This is part of the on-going work on PR 761.
llvm-svn: 28414 
							
						 
						
							2006-05-20 00:24:56 +00:00  
				
					
						
							
							
								 
						
							
								ffdc24b847 
								
							 
						 
						
							
							
								
								added a skeleton of the ARM backend  
							
							... 
							
							
							
							llvm-svn: 28301 
							
						 
						
							2006-05-14 22:18:28 +00:00