Nate Begeman 
							
						 
					 
					
						
						
							
						
						003a272319 
					 
					
						
						
							
							Add a fold for add that exchanges it with a constant shift if possible, so  
						
						... 
						
						
						
						that the shift may be more easily folded into other operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26286  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-18 02:43:25 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						5755b17044 
					 
					
						
						
							
							Fix bug noticed by VC++.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26252  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-17 02:12:18 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						368e18d56a 
					 
					
						
						
							
							Rework the SelectionDAG-based implementations of SimplifyDemandedBits  
						
						... 
						
						
						
						and ComputeMaskedBits to match the new improved versions in instcombine.
Tested against all of multisource/benchmarks on ppc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26238  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-16 21:11:51 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a03a5dc7ce 
					 
					
						
						
							
							Rename maxStoresPerMemSet to maxStoresPerMemset, etc.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26174  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-14 08:38:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						eb8146b5ee 
					 
					
						
						
							
							implementation of some methods for inlineasm  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25951  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-04 02:13:02 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						244d1dccd1 
					 
					
						
						
							
							Implement some feedback from sabre  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25946  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-03 22:38:07 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						de99629e2a 
					 
					
						
						
							
							Add a framework for eliminating instructions that produces undemanded bits.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25945  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-03 22:24:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9a06cce0f2 
					 
					
						
						
							
							Implement MaskedValueIsZero for ANY_EXTEND nodes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25900  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-02 06:43:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a55079a5cc 
					 
					
						
						
							
							Beef up the interface to inline asm constraint parsing, making it more general, useful, and easier to use.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25866  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-01 01:29:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c6fd6cd65c 
					 
					
						
						
							
							Move MaskedValueIsZero from the DAGCombiner to the TargetLowering interface,making isMaskedValueZeroForTargetNode simpler, and useable from other partsof the compiler.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25803  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-30 04:09:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						87c890a9c2 
					 
					
						
						
							
							adjust prototype  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25798  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-30 03:49:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3e6e8cc26b 
					 
					
						
						
							
							clean up interface to ValueTypeActions  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25783  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-29 08:41:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ccb070f15 
					 
					
						
						
							
							Implement a method for inline asm support  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25660  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-26 20:37:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ee4a76563a 
					 
					
						
						
							
							initialize an instance var, apparently I forgot to commit this long ago  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25609  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-25 18:57:15 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0577a22c67 
					 
					
						
						
							
							Set SchedulingForLatency to be the default scheduling preference for all.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25607  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-25 18:52:42 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ff9be11da2 
					 
					
						
						
							
							Lefted out TargetLowering::  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24922  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-21 23:14:54 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3a03ebb377 
					 
					
						
						
							
							* Fix a GlobalAddress lowering bug.  
						
						... 
						
						
						
						* Teach DAG combiner about X86ISD::SETCC by adding a TargetLowering hook.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24921  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-21 23:05:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7226158d7e 
					 
					
						
						
							
							Added a hook to print out names of target specific DAG nodes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24877  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-20 06:22:03 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						6a648614e8 
					 
					
						
						
							
							Add the majority of the vector machien value types we expect to support,  
						
						... 
						
						
						
						and make a few changes to the legalization machinery to support more than
16 types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24511  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-11-29 05:45:29 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						4ef3b817fe 
					 
					
						
						
							
							Rather than attempting to legalize 1 x float, make sure the SD ISel never  
						
						... 
						
						
						
						generates it.  Make MVT::Vector expand-only, and remove the code in
Legalize that attempts to legalize it.
The plan for supporting N x Type is to continually epxand it in ExpandOp
until it gets down to 2 x Type, where it will be scalarized into a pair of
scalars.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24482  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-11-22 01:29:36 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						405e3ecb56 
					 
					
						
						
							
							Invert the TargetLowering flag that controls divide by consant expansion.  
						
						... 
						
						
						
						Add a new flag to TargetLowering indicating if the target has really cheap
  signed division by powers of two, make ppc use it.  This will probably go
  away in the future.
Implement some more ISD::SDIV folds in the dag combiner
Remove now dead code in the x86 backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23853  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-10-21 00:02:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8e6be8b921 
					 
					
						
						
							
							initialize new flag  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23480  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-09-27 22:13:56 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						0f9beca707 
					 
					
						
						
							
							Change the names of member variables per Chris' instructions, and document  
						
						... 
						
						
						
						them more clearly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23118  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-27 19:09:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9ed62c16f2 
					 
					
						
						
							
							Adjust to new interface  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23010  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-24 16:34:12 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						a0f5bf306c 
					 
					
						
						
							
							For: memory operations -> stores  
						
						... 
						
						
						
						This is the first incremental patch to implement this feature. It adds no
functionality to LLVM but setup up the information needed from targets in
order to implement the optimization correctly. Each target needs to specify
the maximum number of store operations for conversion of the llvm.memset,
llvm.memcpy, and llvm.memmove intrinsics into a sequence of store operations.
The limit needs to be chosen at the threshold of performance for such an
optimization (generally smallish). The target also needs to specify whether
the target can support unaligned stores for multi-byte store operations.
This helps ensure the optimization doesn't generate code that will trap on
an alignment errors.
More patches to follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22468  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-19 04:52:44 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						f976c856fc 
					 
					
						
						
							
							Remove trailing whitespace  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21422  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-21 22:55:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d6e496732b 
					 
					
						
						
							
							Add a hook to find out how the target handles shift amounts that are out of  
						
						... 
						
						
						
						range.  Either they are undefined (the default), they mask the shift amount
to the size of the register (X86, Alpha, etc), or they extend the shift (PPC).
This defaults to undefined, which is conservatively correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19677  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-19 03:36:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						714b69d047 
					 
					
						
						
							
							Shift and setcc types default to the pointer type.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19619  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 23:59:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cba82f9339 
					 
					
						
						
							
							Use enums, move virtual dtor out of line.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19610  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 07:28:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cfdfe4ce4a 
					 
					
						
						
							
							Set up identity transforms.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19584  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 01:20:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bb97d81cc8 
					 
					
						
						
							
							Move some information out of LegalizeDAG into the generic Target interface.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19581  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 01:10:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7abf820182 
					 
					
						
						
							
							Clear the whole array, always.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19482  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-11 20:25:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						310968cbbb 
					 
					
						
						
							
							First draft of new Target interface  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19324  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-07 07:44:53 +00:00