692e4155aa 
								
							 
						 
						
							
							
								
								Add all that branch mangling niftiness  
							
							... 
							
							
							
							llvm-svn: 31313 
							
						 
						
							2006-10-31 16:49:55 +00:00  
				
					
						
							
							
								 
						
							
								a6bbf33cbf 
								
							 
						 
						
							
							
								
								Jimptables working again on alpha.  
							
							... 
							
							
							
							As a bonus, use the GOT node instead of the AlphaISD::GOT for internal stuff.
llvm-svn: 30873 
							
						 
						
							2006-10-11 04:29:42 +00:00  
				
					
						
							
							
								 
						
							
								5e2bacd6be 
								
							 
						 
						
							
							
								
								Fix jump tables to match gcc (and the ABI and whatnot)  
							
							... 
							
							
							
							llvm-svn: 30594 
							
						 
						
							2006-09-24 19:46:56 +00:00  
				
					
						
							
							
								 
						
							
								f23e3bfcb2 
								
							 
						 
						
							
							
								
								A pass to remove the worst of the replay trap offenders, and as a bonus, align basic blocks when it is free to do so  
							
							... 
							
							
							
							llvm-svn: 30467 
							
						 
						
							2006-09-18 19:44:29 +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  
				
					
						
							
							
								 
						
							
								261779bb45 
								
							 
						 
						
							
							
								
								Make target asm info a property of the target machine.  
							
							... 
							
							
							
							llvm-svn: 30162 
							
						 
						
							2006-09-07 22:06:40 +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  
				
					
						
							
							
								 
						
							
								f6acb34d23 
								
							 
						 
						
							
							
								
								- Refactor the code that resolve basic block references to a TargetJITInfo  
							
							... 
							
							
							
							method.
- Added synchronizeICache() to TargetJITInfo. It is called after each block
  of code is emitted to flush the icache. This ensures correct execution
  on targets that have separate dcache and icache.
- Added PPC / Mac OS X specific code to do icache flushing.
llvm-svn: 29276 
							
						 
						
							2006-07-25 20:40:54 +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  
				
					
						
							
							
								 
						
							
								20a631fde7 
								
							 
						 
						
							
							
								
								Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses.  This has one caller-visible change: getTargetData() now returns a pointer instead of a reference.  
							
							... 
							
							
							
							This fixes PR 759.
llvm-svn: 28074 
							
						 
						
							2006-05-03 01:29:57 +00:00  
				
					
						
							
							
								 
						
							
								3f9c17906f 
								
							 
						 
						
							
							
								
								Disable switch lowering for targets based on the selection dag isel,  
							
							... 
							
							
							
							letting the code generator handle them directly.
llvm-svn: 27539 
							
						 
						
							2006-04-08 19:46:55 +00:00  
				
					
						
							
							
								 
						
							
								6f95ab7abb 
								
							 
						 
						
							
							
								
								Eliminate IntrinsicLowering from TargetMachine.  
							
							... 
							
							
							
							Make the CBE and V9 backends create their own, since they're the only ones that use it.
llvm-svn: 26974 
							
						 
						
							2006-03-23 05:43:16 +00:00  
				
					
						
							
							
								 
						
							
								c0bf377f98 
								
							 
						 
						
							
							
								
								bye bye Pattern ISEL  
							
							... 
							
							
							
							llvm-svn: 25553 
							
						 
						
							2006-01-23 21:56:07 +00:00  
				
					
						
							
							
								 
						
							
								045371a744 
								
							 
						 
						
							
							
								
								make DAG isel the default  
							
							... 
							
							
							
							llvm-svn: 25282 
							
						 
						
							2006-01-13 18:49:47 +00:00  
				
					
						
							
							
								 
						
							
								6bc51c6f34 
								
							 
						 
						
							
							
								
								prevent latent switch creation  
							
							... 
							
							
							
							llvm-svn: 24413 
							
						 
						
							2005-11-18 13:57:03 +00:00  
				
					
						
							
							
								 
						
							
								54c8fcf303 
								
							 
						 
						
							
							
								
								unbreak the build  
							
							... 
							
							
							
							llvm-svn: 24339 
							
						 
						
							2005-11-13 01:45:23 +00:00  
				
					
						
							
							
								 
						
							
								ab72424488 
								
							 
						 
						
							
							
								
								enable LSR by default on alpha  
							
							... 
							
							
							
							llvm-svn: 24337 
							
						 
						
							2005-11-12 19:21:08 +00:00  
				
					
						
							
							
								 
						
							
								b28f214033 
								
							 
						 
						
							
							
								
								Add a new option to indicate we want the code generator to emit code quickly,not spending tons of time microoptimizing it.  This is useful for an -O0style of build.  
							
							... 
							
							
							
							llvm-svn: 24233 
							
						 
						
							2005-11-08 02:11:51 +00:00  
				
					
						
							
							
								 
						
							
								5c7d731832 
								
							 
						 
						
							
							
								
								If the module has no t-t and the host is an alpha, default to using the Alpha BE  
							
							... 
							
							
							
							llvm-svn: 24110 
							
						 
						
							2005-10-30 16:44:01 +00:00  
				
					
						
							
							
								 
						
							
								7b69867052 
								
							 
						 
						
							
							
								
								ret 0; works, not much else  
							
							... 
							
							
							
							still lots of uglyness.
Maybe calls will come soon.
Fixing the return value of things will be necessary to make alpha work.
llvm-svn: 23832 
							
						 
						
							2005-10-20 00:28:31 +00:00  
				
					
						
							
							
								 
						
							
								a7a83b9255 
								
							 
						 
						
							
							
								
								begining alpha subtarget support  
							
							... 
							
							
							
							llvm-svn: 23531 
							
						 
						
							2005-09-29 22:54:56 +00:00  
				
					
						
							
							
								 
						
							
								19058c3989 
								
							 
						 
						
							
							
								
								1. Use SubtargetFeatures in llc/lli.  
							
							... 
							
							
							
							2. Propagate feature "string" to all targets.
3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget.
llvm-svn: 23192 
							
						 
						
							2005-09-01 21:38:21 +00:00  
				
					
						
							
							
								 
						
							
								3a18a39587 
								
							 
						 
						
							
							
								
								Alpha ABI specifies stack is always 16 byte alligned, and gcc does it, so I will too  
							
							... 
							
							
							
							llvm-svn: 22634 
							
						 
						
							2005-08-03 22:33:21 +00:00  
				
					
						
							
							
								 
						
							
								c32843ed2b 
								
							 
						 
						
							
							
								
								finally found the gcc defined constants  
							
							... 
							
							
							
							llvm-svn: 22502 
							
						 
						
							2005-07-22 21:00:30 +00:00  
				
					
						
							
							
								 
						
							
								55d045190e 
								
							 
						 
						
							
							
								
								Alpha JIT (beta)  
							
							... 
							
							
							
							llvm-svn: 22500 
							
						 
						
							2005-07-22 20:52:16 +00:00  
				
					
						
							
							
								 
						
							
								f11f48ba61 
								
							 
						 
						
							
							
								
								Refactor the addPassesToEmitAssembly interface into a addPassesToEmitFile  
							
							... 
							
							
							
							interface.
llvm-svn: 22282 
							
						 
						
							2005-06-25 02:48:37 +00:00  
				
					
						
							
							
								 
						
							
								89b8c8d215 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							... 
							
							
							
							llvm-svn: 21424 
							
						 
						
							2005-04-21 23:13:11 +00:00  
				
					
						
							
							
								 
						
							
								00348ce902 
								
							 
						 
						
							
							
								
								LSR cleanup patch  
							
							... 
							
							
							
							llvm-svn: 20422 
							
						 
						
							2005-03-03 19:03:21 +00:00  
				
					
						
							
							
								 
						
							
								ed4b6488a7 
								
							 
						 
						
							
							
								
								Added LSR as a beta pass for alpha  
							
							... 
							
							
							
							llvm-svn: 20407 
							
						 
						
							2005-03-02 17:21:38 +00:00  
				
					
						
							
							
								 
						
							
								8fb0d5002b 
								
							 
						 
						
							
							
								
								try to match alpha pattern  
							
							... 
							
							
							
							llvm-svn: 19972 
							
						 
						
							2005-02-01 20:35:11 +00:00  
				
					
						
							
							
								 
						
							
								6d1a96bccc 
								
							 
						 
						
							
							
								
								Alpha JIT prune  
							
							... 
							
							
							
							llvm-svn: 19815 
							
						 
						
							2005-01-24 18:48:22 +00:00  
				
					
						
							
							
								 
						
							
								3c12772190 
								
							 
						 
						
							
							
								
								include prune and JIT prune  
							
							... 
							
							
							
							llvm-svn: 19814 
							
						 
						
							2005-01-24 18:45:41 +00:00  
				
					
						
							
							
								 
						
							
								a1b5ca2b9d 
								
							 
						 
						
							
							
								
								Let me introduce you to the early stages of the llvm backend for the alpha processor  
							
							... 
							
							
							
							llvm-svn: 19764 
							
						 
						
							2005-01-22 23:41:55 +00:00