| 
							
							
								 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 | 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 | 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 | 6b7598b995 | Lower to the correct functions.  This fixes FreeBench/fourinarow git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19436 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-10 21:02:37 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 38d6be5d49 | Fix a bug legalizing call instructions (make sure to remember all result values), and eliminate some switch statements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19417 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-09 19:43:23 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 513e52ec4e | 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++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19416 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-09 19:07:54 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | fa404e8a76 | Teach legalize to deal with DYNAMIC_STACKALLOC (aka a dynamic llvm alloca) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19415 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-09 19:03:49 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | e3304a3d24 | Tighten up assertions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19397 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-08 20:35:13 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | f26bc8ef48 | Silence VS warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19384 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-08 19:52:31 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 4e6c746899 | Implement handling of most long operators through libcalls. Fix a bug legalizing "ret (Val,Val)"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19375 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-08 19:27:05 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | ae0aacb833 | Add support for FP->INT conversions and back. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19369 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-08 08:08:56 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 5d2c6c784b | Implement the 'store FPIMM, Ptr' -> 'store INTIMM, Ptr' optimization for all targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19366 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-08 06:25:56 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | b00a6425de | Add support for truncating integer casts from long. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19358 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-07 22:37:48 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 8afc48e44a | Fix a bug in load expansion legalization and ret legalization.  This fixes CodeGen/Generic/select.ll:castconst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19357 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-07 22:28:47 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | c7af17923e | Legalize unconditional branches too git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19356 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-07 22:12:08 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 7cc4777a26 | Implement support for long GEP indices on 32-bit archs and support for int GEP indices on 64-bit archs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19354 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-07 21:56:57 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 03c0cf822e | implement legalization of a bunch more operators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19352 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-07 21:45:56 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | fad71ebe1e | Fix another bug legalizing calls! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19350 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-07 21:35:32 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | ebda942efc | Fix a bug legalizing calls git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19348 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-07 21:34:13 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 62fd269c14 | After legalizing a DAG, delete dead nodes to save space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19346 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-07 21:09:37 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | c18ae4cb6a | Teach legalize how to handle condbranches git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19339 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-07 08:19:42 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 3e928bbd61 | Initial implementation of the DAG legalization. This still has a long way to go, but it does work for some non-trivial cases now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19329 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-01-07 07:47:09 +00:00 |  |