Evan Cheng 
							
						 
					 
					
						
						
							
						
						25ab690a43 
					 
					
						
						
							
							Committing X86-64 support.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30177  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-08 06:48:29 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						fde1b3bb2f 
					 
					
						
						
							
							1. Remove condition on delete.  
						
						... 
						
						
						
						2. Protect and outline createTargetAsmInfo.
3. Misc. kruft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30169  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-07 23:39:26 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						a0f3d17daa 
					 
					
						
						
							
							Make target asm info a property of the target machine.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30162  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-07 22:06:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1911fd4f85 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30081  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-09-04 04:14:57 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						aa3c1410b4 
					 
					
						
						
							
							Fix a build breaker.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28574  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-30 21:45:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						98d0d7d6f0 
					 
					
						
						
							
							More coverity fixes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28266  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-12 21:14:20 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						07000c6f01 
					 
					
						
						
							
							Refactor a bunch of includes so that TargetMachine.h doesn't have to include  
						
						... 
						
						
						
						TargetData.h.  This should make recompiles a bit faster with my current
TargetData tinkering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28238  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-12 06:33:49 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a69571c799 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28074  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-03 01:29:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bc641b9d8b 
					 
					
						
						
							
							Eliminate IntrinsicLowering from TargetMachine.  
						
						... 
						
						
						
						Make the CBE and V9 backends create their own, since they're the only ones that use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26974  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-23 05:43:16 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c4c6257c1a 
					 
					
						
						
							
							Added getTargetLowering() to TargetMachine. Refactored targets to support this.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26742  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-13 23:20:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ce8eb0c16b 
					 
					
						
						
							
							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.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24233  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-11-08 02:11:51 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						b1e1180ca0 
					 
					
						
						
							
							1. Use SubtargetFeatures in llc/lli.  
						
						... 
						
						
						
						2. Propagate feature "string" to all targets.
3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23192  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-09-01 21:38:21 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						fb5792f416 
					 
					
						
						
							
							Implement Subtarget support  
						
						... 
						
						
						
						Implement the X86 Subtarget.
This consolidates the checks for target triple, and setting options based
on target triple into one place.  This allows us to convert the asm printer
and isel over from being littered with "forDarwin", "forCygwin", etc. into
just having the appropriate flags for each subtarget feature controlling
the code for that feature.
This patch also implements indirect external and weak references in the
X86 pattern isel, for darwin.  Next up is to convert over the asm printers
to use this new interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22389  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-12 01:41:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0431c96cec 
					 
					
						
						
							
							Refactor the addPassesToEmitAssembly interface into a addPassesToEmitFile  
						
						... 
						
						
						
						interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22282  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-25 02:48:37 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						0e0a7a45d3 
					 
					
						
						
							
							* Remove trailing whitespace  
						
						... 
						
						
						
						* Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21426  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-21 23:38:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8f1ac9f90d 
					 
					
						
						
							
							Remove a dead function, which died when we got GAS emission working (phwew,  
						
						... 
						
						
						
						hold your nose!)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17869  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-11-16 04:34:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d36c970a11 
					 
					
						
						
							
							Auto-registrate target  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14745  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-11 02:48:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d029cd2d5a 
					 
					
						
						
							
							Convert to the new TargetMachine interface.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13952  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-02 05:55:25 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						39c2005b70 
					 
					
						
						
							
							Add emitInstruction() API so that we can get the bytes of a simple instruction  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12252  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-09 03:34:53 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						05b15fb075 
					 
					
						
						
							
							TargetCacheInfo has been removed; its only uses were to propagate a constant  
						
						... 
						
						
						
						(16) into certain areas of the SPARC V9 back-end. I'm fairly sure the US IIIi's
dcache has 32-byte lines, so I'm not sure where the 16 came from. However, in
the interest of not breaking things any more than they already are, I'm going
to leave the constant alone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12043  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-01 06:43:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f70e0c216c 
					 
					
						
						
							
							Clean up a lot of the code I added yesterday by exposing the IntrinsicLowering  
						
						... 
						
						
						
						implementation from the TargetMachine directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10636  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-28 21:23:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4482715f3d 
					 
					
						
						
							
							implement support for the intrinsic lowering functionality  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10629  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-28 09:47:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1e60a9165d 
					 
					
						
						
							
							Rip JIT specific stuff out of TargetMachine, as per PR176  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10542  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-20 01:22:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						65b05ce022 
					 
					
						
						
							
							Implement the TargetMachine::getJITStubForFunction method for X86, finegrainify  
						
						... 
						
						
						
						namespacification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10430  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-12 07:11:18 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						d0fde30ce8 
					 
					
						
						
							
							Put all LLVM code into the llvm namespace, as per bug 109.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-11-11 22:41:34 +00:00 
						 
				 
			
				
					
						
							
							
								John Criswell 
							
						 
					 
					
						
						
							
						
						856ba76200 
					 
					
						
						
							
							Added LLVM copyright header.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9321  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-21 15:17:13 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						0522b0846c 
					 
					
						
						
							
							Minor leftover fixups from replaceMachineCodeForFunction () change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9295  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-20 17:59:09 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						9a7871bd3d 
					 
					
						
						
							
							Add prototype for replaceMachineCodeForFunction().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9202  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-17 18:27:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b7f7296cd9 
					 
					
						
						
							
							OptInfo is no longer required  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8312  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-01 20:41:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bb144a892b 
					 
					
						
						
							
							Targets should configure themselves based on a Module, not some wierd flags  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8132  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-24 19:49:48 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						8844a0ba89 
					 
					
						
						
							
							addPassesToJITCompile and addPassesToEmitMachineCode now take a  
						
						... 
						
						
						
						FunctionPassManager, to support function-at-a-time compilation and
 emission of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7821  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-13 18:17:27 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						de3aa4f77f 
					 
					
						
						
							
							lib/Target/X86/X86TargetMachine.{cpp,h}:  Add initial version  
						
						... 
						
						
						
						(non-working) of llc guts for X86, and add a prototype for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6779  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-18 21:43:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d0f166a486 
					 
					
						
						
							
							More renamings of Target/Machine*Info to Target/Target*Info  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5204  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-12-29 03:13:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f27eeea54f 
					 
					
						
						
							
							Rename MachineOptInfo to TargetoptInfo  
						
						... 
						
						
						
						Rename MachineCacheInfo to TargetCacheInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5203  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-12-29 02:50:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8bd66e6907 
					 
					
						
						
							
							Rename MachineFrameInfo to TargetFrameInfo.h  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5199  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-12-28 21:00:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fde4b51baa 
					 
					
						
						
							
							Implement the TargetFrameInfo interface  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5189  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-12-28 20:33:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5bcd95c57f 
					 
					
						
						
							
							Changes to allow for a configurable target machine that allows big endian and/or long pointer operation  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5131  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-12-24 00:04:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b0f99b90df 
					 
					
						
						
							
							Expose explicit type  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4871  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-12-02 21:50:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						40ead95928 
					 
					
						
						
							
							Initial support for machine code emission  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4866  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-12-02 21:24:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e5f5221b5e 
					 
					
						
						
							
							Implement the new optional getRegisterInfo  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4437  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-10-30 00:56:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b4f68ed32e 
					 
					
						
						
							
							Convert backend to use passes, implement X86TargetMachine  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4421  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-10-29 22:37:54 +00:00