5c8a85e2d8 
								
							 
						 
						
							
							
								
								Implement legalize of call nodes.  
							
							... 
							
							
							
							llvm-svn: 19617 
							
						 
						
							2005-01-16 19:46:48 +00:00  
				
					
						
							
							
								 
						
							
								3c0dd46a3b 
								
							 
						 
						
							
							
								
								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).
llvm-svn: 19613 
							
						 
						
							2005-01-16 07:29:19 +00:00  
				
					
						
							
							
								 
						
							
								3ba56b3fe7 
								
							 
						 
						
							
							
								
								Implement some more missing promotions.  
							
							... 
							
							
							
							llvm-svn: 19606 
							
						 
						
							2005-01-16 05:06:12 +00:00  
				
					
						
							
							
								 
						
							
								73b6977700 
								
							 
						 
						
							
							
								
								Clarify assertion.  
							
							... 
							
							
							
							llvm-svn: 19597 
							
						 
						
							2005-01-16 02:23:34 +00:00  
				
					
						
							
							
								 
						
							
								87a769cbd4 
								
							 
						 
						
							
							
								
								Move some information into the TargetLowering object.  
							
							... 
							
							
							
							llvm-svn: 19583 
							
						 
						
							2005-01-16 01:11:45 +00:00  
				
					
						
							
							
								 
						
							
								71d7f6e86f 
								
							 
						 
						
							
							
								
								legalize a bunch of operations that I missed.  
							
							... 
							
							
							
							llvm-svn: 19580 
							
						 
						
							2005-01-16 00:38:00 +00:00  
				
					
						
							
							
								 
						
							
								207a962c2c 
								
							 
						 
						
							
							
								
								Fix some serious bugs in promotion.  
							
							... 
							
							
							
							llvm-svn: 19578 
							
						 
						
							2005-01-16 00:17:42 +00:00  
				
					
						
							
							
								 
						
							
								4d97864e92 
								
							 
						 
						
							
							
								
								Implement promotion of a whole bunch more operators.  I think that this is  
							
							... 
							
							
							
							basically everything.
llvm-svn: 19576 
							
						 
						
							2005-01-15 22:16:26 +00:00  
				
					
						
							
							
								 
						
							
								99222f706c 
								
							 
						 
						
							
							
								
								Add support for legalizing FP_ROUND_INREG, SIGN_EXTEND_INREG, and  
							
							... 
							
							
							
							ZERO_EXTEND_INREG for targets that don't support them.
llvm-svn: 19573 
							
						 
						
							2005-01-15 07:15:18 +00:00  
				
					
						
							
							
								 
						
							
								c6c9a5b07d 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 19569 
							
						 
						
							2005-01-15 06:18:18 +00:00  
				
					
						
							
							
								 
						
							
								1f2c9d82fa 
								
							 
						 
						
							
							
								
								Add intitial support for promoting some operators.  
							
							... 
							
							
							
							llvm-svn: 19565 
							
						 
						
							2005-01-15 05:21:40 +00:00  
				
					
						
							
							
								 
						
							
								3b8e719d1d 
								
							 
						 
						
							
							
								
								Adjust to CopyFromReg changes, implement deletion of truncating/extending  
							
							... 
							
							
							
							stores/loads.
llvm-svn: 19562 
							
						 
						
							2005-01-14 22:38:01 +00:00  
				
					
						
							
							
								 
						
							
								39c6744c9f 
								
							 
						 
						
							
							
								
								Start implementing truncating stores and extending loads.  
							
							... 
							
							
							
							llvm-svn: 19559 
							
						 
						
							2005-01-14 22:08:15 +00:00  
				
					
						
							
							
								 
						
							
								e727af06c8 
								
							 
						 
						
							
							
								
								Add new ImplicitDef node, rename CopyRegSDNode class to RegSDNode.  
							
							... 
							
							
							
							llvm-svn: 19535 
							
						 
						
							2005-01-13 20:50:02 +00:00  
				
					
						
							
							
								 
						
							
								05b4e37e85 
								
							 
						 
						
							
							
								
								Legalize new node, add assertion.  
							
							... 
							
							
							
							llvm-svn: 19527 
							
						 
						
							2005-01-13 17:59:25 +00:00  
				
					
						
							
							
								 
						
							
								9864b08f94 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 19515 
							
						 
						
							2005-01-12 18:19:52 +00:00  
				
					
						
							
							
								 
						
							
								6dced92447 
								
							 
						 
						
							
							
								
								Shut up warnings with GCC 3.4.3 about uninitialized variables.  
							
							... 
							
							
							
							llvm-svn: 19512 
							
						 
						
							2005-01-12 14:53:45 +00:00  
				
					
						
							
							
								 
						
							
								f49c27c65c 
								
							 
						 
						
							
							
								
								Squelch optimized warning.  
							
							... 
							
							
							
							llvm-svn: 19475 
							
						 
						
							2005-01-11 17:46:49 +00:00  
				
					
						
							
							
								 
						
							
								85d70c6fd5 
								
							 
						 
						
							
							
								
								Teach legalize to lower MEMSET/MEMCPY/MEMMOVE operations if the target  
							
							... 
							
							
							
							does not support them.
llvm-svn: 19465 
							
						 
						
							2005-01-11 05:57:22 +00:00  
				
					
						
							
							
								 
						
							
								be02d430a9 
								
							 
						 
						
							
							
								
								Lower to the correct functions.  This fixes FreeBench/fourinarow  
							
							... 
							
							
							
							llvm-svn: 19436 
							
						 
						
							2005-01-10 21:02:37 +00:00  
				
					
						
							
							
								 
						
							
								9242c504da 
								
							 
						 
						
							
							
								
								Fix a bug legalizing call instructions (make sure to remember all result  
							
							... 
							
							
							
							values), and eliminate some switch statements.
llvm-svn: 19417 
							
						 
						
							2005-01-09 19:43:23 +00:00  
				
					
						
							
							
								 
						
							
								02f5ce2077 
								
							 
						 
						
							
							
								
								Fix a minor bug legalizing dynamic_stackalloc.  This allows us to compile  
							
							... 
							
							
							
							std::__pad<wchar_t, std::char_traits<wchar_t> >::_S_pad(std::ios_base&, wchar_t, wchar_t*, wchar_t const*, int, int, bool)
from libstdc++
llvm-svn: 19416 
							
						 
						
							2005-01-09 19:07:54 +00:00  
				
					
						
							
							
								 
						
							
								ec26b48d61 
								
							 
						 
						
							
							
								
								Teach legalize to deal with DYNAMIC_STACKALLOC (aka a dynamic llvm alloca)  
							
							... 
							
							
							
							llvm-svn: 19415 
							
						 
						
							2005-01-09 19:03:49 +00:00  
				
					
						
							
							
								 
						
							
								c0f31c5e96 
								
							 
						 
						
							
							
								
								Tighten up assertions.  
							
							... 
							
							
							
							llvm-svn: 19397 
							
						 
						
							2005-01-08 20:35:13 +00:00  
				
					
						
							
							
								 
						
							
								d006195517 
								
							 
						 
						
							
							
								
								Silence VS warnings.  
							
							... 
							
							
							
							llvm-svn: 19384 
							
						 
						
							2005-01-08 19:52:31 +00:00  
				
					
						
							
							
								 
						
							
								7e6eeba6c5 
								
							 
						 
						
							
							
								
								Implement handling of most long operators through libcalls.  
							
							... 
							
							
							
							Fix a bug legalizing "ret (Val,Val)"
llvm-svn: 19375 
							
						 
						
							2005-01-08 19:27:05 +00:00  
				
					
						
							
							
								 
						
							
								2a6db3c351 
								
							 
						 
						
							
							
								
								Add support for FP->INT conversions and back.  
							
							... 
							
							
							
							llvm-svn: 19369 
							
						 
						
							2005-01-08 08:08:56 +00:00  
				
					
						
							
							
								 
						
							
								e69daaf71d 
								
							 
						 
						
							
							
								
								Implement the 'store FPIMM, Ptr' -> 'store INTIMM, Ptr' optimization for  
							
							... 
							
							
							
							all targets.
llvm-svn: 19366 
							
						 
						
							2005-01-08 06:25:56 +00:00  
				
					
						
							
							
								 
						
							
								a65a2f0c36 
								
							 
						 
						
							
							
								
								Add support for truncating integer casts from long.  
							
							... 
							
							
							
							llvm-svn: 19358 
							
						 
						
							2005-01-07 22:37:48 +00:00  
				
					
						
							
							
								 
						
							
								ea4ca94cae 
								
							 
						 
						
							
							
								
								Fix a bug in load expansion legalization and ret legalization.  This fixes  
							
							... 
							
							
							
							CodeGen/Generic/select.ll:castconst.
llvm-svn: 19357 
							
						 
						
							2005-01-07 22:28:47 +00:00  
				
					
						
							
							
								 
						
							
								68a12140c0 
								
							 
						 
						
							
							
								
								Legalize unconditional branches too  
							
							... 
							
							
							
							llvm-svn: 19356 
							
						 
						
							2005-01-07 22:12:08 +00:00  
				
					
						
							
							
								 
						
							
								19a83990e1 
								
							 
						 
						
							
							
								
								Implement support for long GEP indices on 32-bit archs and support for  
							
							... 
							
							
							
							int GEP indices on 64-bit archs.
llvm-svn: 19354 
							
						 
						
							2005-01-07 21:56:57 +00:00  
				
					
						
							
							
								 
						
							
								32f20bfa93 
								
							 
						 
						
							
							
								
								implement legalization of a bunch more operators.  
							
							... 
							
							
							
							llvm-svn: 19352 
							
						 
						
							2005-01-07 21:45:56 +00:00  
				
					
						
							
							
								 
						
							
								fa854eb012 
								
							 
						 
						
							
							
								
								Fix another bug legalizing calls!  
							
							... 
							
							
							
							llvm-svn: 19350 
							
						 
						
							2005-01-07 21:35:32 +00:00  
				
					
						
							
							
								 
						
							
								f025d6788c 
								
							 
						 
						
							
							
								
								Fix a bug legalizing calls  
							
							... 
							
							
							
							llvm-svn: 19348 
							
						 
						
							2005-01-07 21:34:13 +00:00  
				
					
						
							
							
								 
						
							
								473825ccec 
								
							 
						 
						
							
							
								
								After legalizing a DAG, delete dead nodes to save space.  
							
							... 
							
							
							
							llvm-svn: 19346 
							
						 
						
							2005-01-07 21:09:37 +00:00  
				
					
						
							
							
								 
						
							
								ec3fe7c4a8 
								
							 
						 
						
							
							
								
								Teach legalize how to handle condbranches  
							
							... 
							
							
							
							llvm-svn: 19339 
							
						 
						
							2005-01-07 08:19:42 +00:00  
				
					
						
							
							
								 
						
							
								dc75059005 
								
							 
						 
						
							
							
								
								Initial implementation of the DAG legalization. This still has a long way  
							
							... 
							
							
							
							to go, but it does work for some non-trivial cases now.
llvm-svn: 19329 
							
						 
						
							2005-01-07 07:47:09 +00:00