Chris Lattner 
							
						 
					 
					
						
						
							
						
						068a81e9fc 
					 
					
						
						
							
							Refactor code into a new method.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19635  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-17 17:15:02 +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 
							
						 
					 
					
						
						
							
						
						8ac532c55e 
					 
					
						
						
							
							Implement legalize of call nodes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19617  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 19:46:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						55ba8fba75 
					 
					
						
						
							
							Revamp supported ops.  Instead of just being supported or not, we now keep  
						
						... 
						
						
						
						track of how to deal with it, and provide the target with a hook that they
can use to legalize arbitrary operations in arbitrary ways.
Implement custom lowering for a couple of ops, implement promotion for select
operations (which x86 needs).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19613  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 07:29:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						171453a284 
					 
					
						
						
							
							add method stub  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19612  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 07:28:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4b7899343e 
					 
					
						
						
							
							Don't mash stuff together.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19611  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 07:28:31 +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 
							
						 
					 
					
						
						
							
						
						f8161d83f0 
					 
					
						
						
							
							Implement some more missing promotions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19606  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 05:06:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9467497ae2 
					 
					
						
						
							
							Clarify assertion.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19597  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 02:23:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7636512f59 
					 
					
						
						
							
							Add assertions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19596  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 02:23:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c8ea3c4710 
					 
					
						
						
							
							Add support for promoted registers being live across blocks.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19595  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 02:23:07 +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 
							
						 
					 
					
						
						
							
						
						71c42a0190 
					 
					
						
						
							
							Move some information into the TargetLowering object.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19583  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 01:11:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						98e5c0e5e4 
					 
					
						
						
							
							Use the new TLI method to get this.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19582  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 01:11:19 +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 
							
						 
					 
					
						
						
							
						
						1713e73b8a 
					 
					
						
						
							
							legalize a bunch of operations that I missed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19580  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 00:38:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fb849800ea 
					 
					
						
						
							
							Add support for targets that require promotions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19579  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 00:37:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ff3e50cc39 
					 
					
						
						
							
							Fix some serious bugs in promotion.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19578  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 00:17:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						950aa3ca2c 
					 
					
						
						
							
							Eliminate unneeded extensions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19577  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-16 00:17:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8b6fa22e72 
					 
					
						
						
							
							Implement promotion of a whole bunch more operators.  I think that this is  
						
						... 
						
						
						
						basically everything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19576  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-15 22:16:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8a389bb376 
					 
					
						
						
							
							Print extra type for nodes with extra type info.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19575  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-15 21:11:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						45b8caf1c5 
					 
					
						
						
							
							Add support for legalizing FP_ROUND_INREG, SIGN_EXTEND_INREG, and  
						
						... 
						
						
						
						ZERO_EXTEND_INREG for targets that don't support them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19573  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-15 07:15:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ea6924444 
					 
					
						
						
							
							Common code factored out.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19572  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-15 07:14:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0f69b29108 
					 
					
						
						
							
							Add support for promoting ADD/MUL.  
						
						... 
						
						
						
						Add support for new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.
Realize that if we do any promotions, we need to iterate SelectionDAG
construction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19569  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-15 06:18:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						859157daee 
					 
					
						
						
							
							Add new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19568  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-15 06:17:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						03c8546ec5 
					 
					
						
						
							
							Add intitial support for promoting some operators.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19565  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-15 05:21:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						69a52155d2 
					 
					
						
						
							
							Adjust to CopyFromReg changes, implement deletion of truncating/extending  
						
						... 
						
						
						
						stores/loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19562  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-14 22:38:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2ee743ff9b 
					 
					
						
						
							
							Start implementing truncating stores and extending loads.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19559  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-14 22:08:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						18c2f13e0f 
					 
					
						
						
							
							Add new ImplicitDef node, rename CopyRegSDNode class to RegSDNode.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19535  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-13 20:50:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5a6c6d98d5 
					 
					
						
						
							
							Don't forget the existing root.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19531  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-13 19:53:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ddb870b065 
					 
					
						
						
							
							Codegen independent ops as being independent.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19528  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-13 17:59:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a385e9b20f 
					 
					
						
						
							
							Legalize new node, add assertion.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19527  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-13 17:59:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						282c5cae89 
					 
					
						
						
							
							Print new node.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19526  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-13 17:59:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2f0ca79a75 
					 
					
						
						
							
							Do not fold (zero_ext (sign_ext V)) -> (sign_ext V), they are not the same.  
						
						... 
						
						
						
						This fixes llvm-test/SingleSource/Regression/C/casts.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19519  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-12 18:51:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5c88456227 
					 
					
						
						
							
							New method  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19517  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-12 18:37:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2dad454af6 
					 
					
						
						
							
							Fix sign extend to long.  When coming from sbyte, we used to generate:  
						
						... 
						
						
						
						movsbl 4(%esp), %eax
        movl %eax, %edx
        sarl $7, %edx
Now we generate:
        movsbl 4(%esp), %eax
        movl %eax, %edx
        sarl $31, %edx
Which is right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19515  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-12 18:19:52 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						3bfbf4ea99 
					 
					
						
						
							
							Shut up warnings with GCC 3.4.3 about uninitialized variables.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19512  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-12 14:53:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7944d9d995 
					 
					
						
						
							
							Add an option to view the selection dags as they are generated.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19498  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-12 03:41:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c871e1d56f 
					 
					
						
						
							
							Print the value types in the nodes of the graph  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19485  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-11 22:21:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f1fdacae8c 
					 
					
						
						
							
							add an assertion, avoid creating copyfromreg/copytoreg pairs that are the  
						
						... 
						
						
						
						same for PHI nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19484  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-11 22:03:46 +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 
							
						 
					 
					
						
						
							
						
						64da653ba9 
					 
					
						
						
							
							Squelch optimized warning.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19475  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-11 17:46:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e1bd822ddb 
					 
					
						
						
							
							Teach legalize to lower MEMSET/MEMCPY/MEMMOVE operations if the target  
						
						... 
						
						
						
						does not support them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19465  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-11 05:57:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4c633e82f6 
					 
					
						
						
							
							Print new operations.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19464  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-11 05:57:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7041ee35ad 
					 
					
						
						
							
							Turn memset/memcpy/memmove into the corresponding operations.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19463  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-11 05:56:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a8d9cc8705 
					 
					
						
						
							
							shift X, 0 -> X  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19453  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-11 04:25:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e9c44cdf18 
					 
					
						
						
							
							Print SelectionDAGs bottom up, include extra info in the node labels  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19447  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-11 00:34:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fc08d9c789 
					 
					
						
						
							
							Add a marker for the graph root.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19445  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-10 23:52:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e0646b86e3 
					 
					
						
						
							
							Put the operation name in each node, put the function name on the graph.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19444  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-10 23:26:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d75f19fa42 
					 
					
						
						
							
							Split out SDNode::getOperationName into its own method.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19443  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-10 23:25:25 +00:00