94531bf367 
								
							 
						 
						
							
							
								
								For PR786:  
							
							... 
							
							
							
							Remove a spurious ;
llvm-svn: 28452 
							
						 
						
							2006-05-24 19:05:21 +00:00  
				
					
						
							
							
								 
						
							
								aa2372562e 
								
							 
						 
						
							
							
								
								Patches to make the LLVM sources more -pedantic clean.  Patch provided  
							
							... 
							
							
							
							by Anton Korobeynikov!  This is a step towards closing PR786.
llvm-svn: 28447 
							
						 
						
							2006-05-24 17:04:05 +00:00  
				
					
						
							
							
								 
						
							
								ac4f66ff24 
								
							 
						 
						
							
							
								
								-enable-unsafe-fp-math implies -enable-finite-only-fp-math  
							
							... 
							
							
							
							llvm-svn: 28437 
							
						 
						
							2006-05-23 18:18:46 +00:00  
				
					
						
							
							
								 
						
							
								ea1450742e 
								
							 
						 
						
							
							
								
								Added option -enable-finite-only-fp-math. When on, the codegen can assume that  
							
							... 
							
							
							
							FP arithmetic arguments and results are never NaNs or +=Infs. This includes
ignoring parity flag (PF) when checking for FP equality.
llvm-svn: 28432 
							
						 
						
							2006-05-23 06:39:12 +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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								73136dfecc 
								
							 
						 
						
							
							
								
								- Added option -relocation-model to set relocation model. Valid values include static, pic,  
							
							... 
							
							
							
							dynamic-no-pic, and default.
PPC and x86 default is dynamic-no-pic for Darwin, pic for others.
- Removed options -enable-pic and -ppc-static.
llvm-svn: 26315 
							
						 
						
							2006-02-22 20:19:42 +00:00  
				
					
						
							
							
								 
						
							
								be1f314a47 
								
							 
						 
						
							
							
								
								Remove the X86 and PowerPC Simple instruction selectors; their time has  
							
							... 
							
							
							
							passed.
llvm-svn: 22886 
							
						 
						
							2005-08-18 23:53:15 +00:00  
				
					
						
							
							
								 
						
							
								8a0933608a 
								
							 
						 
						
							
							
								
								First round of support for doing scalar FP using the SSE2 ISA extension and  
							
							... 
							
							
							
							XMM registers.  There are many known deficiencies and fixmes, which will be
addressed ASAP.  The major benefit of this work is that it will allow the
LLVM register allocator to allocate FP registers across basic blocks.
The x86 backend will still default to x87 style FP.  To enable this work,
you must pass -enable-sse-scalar-fp and either -sse2 or -sse3 to llc.
An example before and after would be for:
double foo(double *P) { double Sum = 0; int i; for (i = 0; i < 1000; ++i)
                        Sum += P[i]; return Sum; }
The inner loop looks like the following:
x87:
.LBB_foo_1:     # no_exit
        fldl (%esp)
        faddl (%eax,%ecx,8)
        fstpl (%esp)
        incl %ecx
        cmpl $1000, %ecx
        #FP_REG_KILL
        jne .LBB_foo_1  # no_exit
SSE2:
        addsd (%eax,%ecx,8), %xmm0
        incl %ecx
        cmpl $1000, %ecx
        #FP_REG_KILL
        jne .LBB_foo_1  # no_exit
llvm-svn: 22340 
							
						 
						
							2005-07-06 18:59:04 +00:00  
				
					
						
							
							
								 
						
							
								6fec835461 
								
							 
						 
						
							
							
								
								capitalize  
							
							... 
							
							
							
							llvm-svn: 21962 
							
						 
						
							2005-05-13 19:48:34 +00:00  
				
					
						
							
							
								 
						
							
								4a2cc6603d 
								
							 
						 
						
							
							
								
								Expose an option allowing unsafe math optimizations.  Patch contributed by  
							
							... 
							
							
							
							Morten Ofstad!
llvm-svn: 21630 
							
						 
						
							2005-04-30 04:09:52 +00:00  
				
					
						
							
							
								 
						
							
								10468d8a3c 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							... 
							
							
							
							llvm-svn: 21422 
							
						 
						
							2005-04-21 22:55:34 +00:00  
				
					
						
							
							
								 
						
							
								779c5cbb44 
								
							 
						 
						
							
							
								
								Make pattern isel default for ppc  
							
							... 
							
							
							
							Add new ppc beta option related to using condition registers
Make pattern isel control flag (-enable-pattern-isel) global and tristate
  0 == off
  1 == on
  2 == target default
llvm-svn: 21309 
							
						 
						
							2005-04-15 22:12:16 +00:00  
				
					
						
							
							
								 
						
							
								9de5890211 
								
							 
						 
						
							
							
								
								Add a new target-independent code generator flag.  
							
							... 
							
							
							
							llvm-svn: 19567 
							
						 
						
							2005-01-15 06:00:32 +00:00  
				
					
						
							
							
								 
						
							
								7c16caa336 
								
							 
						 
						
							
							
								
								Changes For Bug 352  
							
							... 
							
							
							
							Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137 
							
						 
						
							2004-09-01 22:55:40 +00:00  
				
					
						
							
							
								 
						
							
								3decf86fb7 
								
							 
						 
						
							
							
								
								Implement new constructor.  
							
							... 
							
							
							
							llvm-svn: 15633 
							
						 
						
							2004-08-10 23:10:25 +00:00  
				
					
						
							
							
								 
						
							
								3faa865508 
								
							 
						 
						
							
							
								
								* Add BoolAlignment to TargetData, default is 1 byte, size 1 byte  
							
							... 
							
							
							
							* Convert tabs to spaces
llvm-svn: 15120 
							
						 
						
							2004-07-23 01:09:52 +00:00  
				
					
						
							
							
								 
						
							
								96041e58b9 
								
							 
						 
						
							
							
								
								Direct declaration of namespace-ified globals does not work, must enclose  
							
							... 
							
							
							
							them with a namespace declaration.
llvm-svn: 14303 
							
						 
						
							2004-06-21 21:44:12 +00:00  
				
					
						
							
							
								 
						
							
								d0bf6f17d1 
								
							 
						 
						
							
							
								
								Specify variables' namespace directly instead of using an enclosing namespace.  
							
							... 
							
							
							
							llvm-svn: 14302 
							
						 
						
							2004-06-21 21:21:49 +00:00  
				
					
						
							
							
								 
						
							
								0bfea680bb 
								
							 
						 
						
							
							
								
								Move implemented interface header up to the top.  
							
							... 
							
							
							
							llvm-svn: 14301 
							
						 
						
							2004-06-21 21:20:23 +00:00  
				
					
						
							
							
								 
						
							
								c22299d21b 
								
							 
						 
						
							
							
								
								Spell out `NoFramePointerElim' for readability.  
							
							... 
							
							
							
							llvm-svn: 14299 
							
						 
						
							2004-06-21 21:17:44 +00:00  
				
					
						
							
							
								 
						
							
								069ca067e1 
								
							 
						 
						
							
							
								
								Implement `NoFPElim' in a target-agnostic fashion so it can be shared.  
							
							... 
							
							
							
							llvm-svn: 14297 
							
						 
						
							2004-06-21 21:08:45 +00:00  
				
					
						
							
							
								 
						
							
								bcdadf3765 
								
							 
						 
						
							
							
								
								Move the IntrinsicLowering header into the CodeGen directory, as per PR346  
							
							... 
							
							
							
							llvm-svn: 14266 
							
						 
						
							2004-06-20 07:49:54 +00:00  
				
					
						
							
							
								 
						
							
								c832e546d0 
								
							 
						 
						
							
							
								
								Method has been inlined into all callers  
							
							... 
							
							
							
							llvm-svn: 13953 
							
						 
						
							2004-06-02 05:55:48 +00:00  
				
					
						
							
							
								 
						
							
								8351d8c1a8 
								
							 
						 
						
							
							
								
								make -print-machineinstrs work for both SparcV9 and X86  
							
							... 
							
							
							
							llvm-svn: 12122 
							
						 
						
							2004-03-04 19:16:23 +00:00  
				
					
						
							
							
								 
						
							
								87ed2a4096 
								
							 
						 
						
							
							
								
								Add a new constructor  
							
							... 
							
							
							
							llvm-svn: 12087 
							
						 
						
							2004-03-03 02:12:47 +00:00  
				
					
						
							
							
								 
						
							
								427cec1395 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 12043 
							
						 
						
							2004-03-01 06:43:29 +00:00  
				
					
						
							
							
								 
						
							
								5d236005b0 
								
							 
						 
						
							
							
								
								Clean up a lot of the code I added yesterday by exposing the IntrinsicLowering  
							
							... 
							
							
							
							implementation from the TargetMachine directly.
llvm-svn: 10636 
							
						 
						
							2003-12-28 21:23:38 +00:00  
				
					
						
							
							
								 
						
							
								960707c335 
								
							 
						 
						
							
							
								
								Put all LLVM code into the llvm namespace, as per bug 109.  
							
							... 
							
							
							
							llvm-svn: 9903 
							
						 
						
							2003-11-11 22:41:34 +00:00  
				
					
						
							
							
								 
						
							
								482202a601 
								
							 
						 
						
							
							
								
								Added LLVM project notice to the top of every C++ source file.  
							
							... 
							
							
							
							Header files will be on the way.
llvm-svn: 9298 
							
						 
						
							2003-10-20 19:43:21 +00:00  
				
					
						
							
							
								 
						
							
								25900cf220 
								
							 
						 
						
							
							
								
								The promotion rules are the same for all targets, they are set by the C standard.  
							
							... 
							
							
							
							llvm-svn: 5962 
							
						 
						
							2003-04-26 19:47:36 +00:00  
				
					
						
							
							
								 
						
							
								42d59219c7 
								
							 
						 
						
							
							
								
								Rename MachineOptInfo to TargetoptInfo  
							
							... 
							
							
							
							Rename MachineCacheInfo to TargetCacheInfo
llvm-svn: 5203 
							
						 
						
							2002-12-29 02:50:35 +00:00  
				
					
						
							
							
								 
						
							
								abd7fdcb99 
								
							 
						 
						
							
							
								
								Implement findOptimalStorageSize a bit more generally  
							
							... 
							
							
							
							llvm-svn: 4416 
							
						 
						
							2002-10-29 21:47:50 +00:00  
				
					
						
							
							
								 
						
							
								910b82f042 
								
							 
						 
						
							
							
								
								Seperate code out of TargetMachine into MachineInstrInfo  
							
							... 
							
							
							
							llvm-svn: 4368 
							
						 
						
							2002-10-28 23:55:33 +00:00  
				
					
						
							
							
								 
						
							
								e94db67c4f 
								
							 
						 
						
							
							
								
								Move addPassesToEmitAssembly from TargetMachine to UltraSparc because it  
							
							... 
							
							
							
							really is sparc specific.
llvm-svn: 4308 
							
						 
						
							2002-10-28 01:03:43 +00:00  
				
					
						
							
							
								 
						
							
								7ae7f84cf3 
								
							 
						 
						
							
							
								
								Changed `MachineCodeForMethod' to `MachineFunction'.  
							
							... 
							
							
							
							llvm-svn: 4301 
							
						 
						
							2002-10-28 00:28:31 +00:00  
				
					
						
							
							
								 
						
							
								05ee0819a7 
								
							 
						 
						
							
							
								
								Run LICM before GCSE!  
							
							... 
							
							
							
							llvm-svn: 4135 
							
						 
						
							2002-10-13 00:34:10 +00:00  
				
					
						
							
							
								 
						
							
								7765a4a4f6 
								
							 
						 
						
							
							
								
								Disable reassociation pass in LLC until it is fixed.  
							
							... 
							
							
							
							llvm-svn: 3883 
							
						 
						
							2002-09-23 12:55:50 +00:00  
				
					
						
							
							
								 
						
							
								4b6bd16c2b 
								
							 
						 
						
							
							
								
								Changed codegen to add 2 empty slots at the top of stack using StackSlots pass  
							
							... 
							
							
							
							llvm-svn: 3873 
							
						 
						
							2002-09-21 05:01:21 +00:00  
				
					
						
							
							
								 
						
							
								2f4d556d21 
								
							 
						 
						
							
							
								
								Add peephole optimization pass at the end of code generation.  
							
							... 
							
							
							
							llvm-svn: 3846 
							
						 
						
							2002-09-20 00:52:43 +00:00  
				
					
						
							
							
								 
						
							
								36d3e03fa0 
								
							 
						 
						
							
							
								
								Move all the code that creates code generation passes from Sparc.cpp to  
							
							... 
							
							
							
							TargetMachine.cpp, since it is entirely machine-independent.
Also, add options to disable optional back-end passes (preselection and
instr. scheduling).
llvm-svn: 3740 
							
						 
						
							2002-09-16 15:39:26 +00:00  
				
					
						
							
							
								 
						
							
								1c96dfd7af 
								
							 
						 
						
							
							
								
								Added class MachineCacheInfo.  
							
							... 
							
							
							
							llvm-svn: 1229 
							
						 
						
							2001-11-09 02:20:18 +00:00  
				
					
						
							
							
								 
						
							
								c2f8911114 
								
							 
						 
						
							
							
								
								Add handle to TargetMachine object in all Machine...Info classes.  
							
							... 
							
							
							
							llvm-svn: 1197 
							
						 
						
							2001-11-08 05:15:08 +00:00  
				
					
						
							
							
								 
						
							
								6cefc7072d 
								
							 
						 
						
							
							
								
								Renamed files to match the main classes they provide.  
							
							... 
							
							
							
							Some other minor changes.
llvm-svn: 615 
							
						 
						
							2001-09-18 12:58:33 +00:00  
				
					
						
							
							
								 
						
							
								1680fb1617 
								
							 
						 
						
							
							
								
								Add a comment  
							
							... 
							
							
							
							llvm-svn: 571 
							
						 
						
							2001-09-14 16:08:12 +00:00  
				
					
						
							
							
								 
						
							
								6875e9cc97 
								
							 
						 
						
							
							
								
								Break scheduling infrastructure out of TargetMachine.cpp into SchedInfo.cpp  
							
							... 
							
							
							
							llvm-svn: 569 
							
						 
						
							2001-09-14 15:43:58 +00:00  
				
					
						
							
							
								 
						
							
								87b3bf630b 
								
							 
						 
						
							
							
								
								Split Target/Machine.h into three files:  
							
							... 
							
							
							
							* Machine.h
* InstInfo.h
* SchedInfo.h
TODO: Split out reg info stuff
llvm-svn: 567 
							
						 
						
							2001-09-14 06:08:03 +00:00  
				
					
						
							
							
								 
						
							
								22a6a90511 
								
							 
						 
						
							
							
								
								Make a new llvm/Target #include directory.  
							
							... 
							
							
							
							Move files from lib/CodeGen/TargetMachine to lib/Target
Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h}
Prepare to split TargetMachine.h into several smaller files
llvm-svn: 566 
							
						 
						
							2001-09-14 05:34:53 +00:00