Chris Lattner 
							
						 
					 
					
						
						
							
						
						c8d288f8fa 
					 
					
						
						
							
							move a bunch of code out of the sdisel pass into its own opt pass "codegenprepare".  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35529  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-31 04:18:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d2f340b746 
					 
					
						
						
							
							switch TL::getValueType to use MVT::getValueType.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35527  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-31 04:05:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1436bb657d 
					 
					
						
						
							
							add one addressing mode description hook to rule them all.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35520  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-30 23:14:50 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						2041a0ef75 
					 
					
						
						
							
							Fix incorrect combination of different loads.  Reenable zext-over-truncate  
						
						... 
						
						
						
						combination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35517  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-30 21:38:07 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b0b6c76ffe 
					 
					
						
						
							
							Disable load width reduction xform of variant (zext (truncate load x)) for  
						
						... 
						
						
						
						big endian targets until llvm-gcc build issue has been resolved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35449  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-29 07:56:46 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7aff11a1ed 
					 
					
						
						
							
							Scale 1 is always ok.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35407  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-28 01:55:52 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						caaf69107e 
					 
					
						
						
							
							Remove isLegalAddressImmediate.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35406  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-28 01:53:55 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						baeccc8741 
					 
					
						
						
							
							GEP index sinking fixes:  
						
						... 
						
						
						
						1) Take address scale into consideration. e.g. i32* -> scale 4.
2) Examine all the users of GEP.
3) Generalize to inter-block GEP's (no longer uses loopinfo).
4) Don't do xform if GEP has other variable index(es).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35403  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-28 01:49:39 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						dd43321079 
					 
					
						
						
							
							Remove dead code  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35380  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-27 12:05:48 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						b17b08d1f2 
					 
					
						
						
							
							Split big monster into small helpers. No functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35379  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-27 11:29:11 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d0083bc5ec 
					 
					
						
						
							
							SDISel does not preserve all, it changes CFG and other info.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35376  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-27 00:53:36 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						15213b77cf 
					 
					
						
						
							
							SIGN_EXTEND_INREG requires one extra operand, a ValueType node.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35350  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-26 07:12:51 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						3a84b9baf6 
					 
					
						
						
							
							First step of switch lowering refactoring: perform worklist-driven  
						
						... 
						
						
						
						strategy, emit JT's where possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35338  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-25 15:07:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5df99b376f 
					 
					
						
						
							
							Implement support for vector operands to inline asm, implementing  
						
						... 
						
						
						
						CodeGen/X86/2007-03-24-InlineAsmVectorOp.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35332  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-25 05:00:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c13dd1cf4c 
					 
					
						
						
							
							implement initial support for the silly X constraint.  Testcase here: CodeGen/X86/2007-03-24-InlineAsmXConstraint.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35327  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-25 04:35:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						065421f99f 
					 
					
						
						
							
							Implement CodeGen/X86/2007-03-24-InlineAsmMultiRegConstraint.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35324  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-25 02:18:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4234f57fa0 
					 
					
						
						
							
							switch TargetLowering::getConstraintType to take the entire constraint,  
						
						... 
						
						
						
						not just the first letter.  No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35322  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-25 02:14:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						82dcb4fe23 
					 
					
						
						
							
							don't rely on ADL  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35299  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-24 17:37:03 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						dae54ce7fc 
					 
					
						
						
							
							Adjust offset to compensate for big endian machines.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35293  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-24 00:02:43 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e177e307fc 
					 
					
						
						
							
							Make sure SEXTLOAD of the specific type is supported on the target.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35289  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-23 22:13:36 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b37b80ce46 
					 
					
						
						
							
							Also replace uses of SRL if that's also folded during ReduceLoadWidth().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35286  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-23 20:55:21 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0b063def98 
					 
					
						
						
							
							A couple of bug fixes for reducing load width xform:  
						
						... 
						
						
						
						1. Address offset is in bytes.
2. Make sure truncate node uses are replaced with new load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35274  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-23 02:16:52 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ecb7a77885 
					 
					
						
						
							
							Change uses of Function::front to Function::getEntryBlock for readability.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35265  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-22 16:38:57 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c88138fb5e 
					 
					
						
						
							
							More opportunities to reduce load size.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35254  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-22 01:54:19 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						fa4bce2b76 
					 
					
						
						
							
							repair x86 performance, dejagnu problems from previous change  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35245  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-21 21:51:52 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						007b69eeaa 
					 
					
						
						
							
							fold (truncate (srl (load x), c)) -> (smaller load (x+c/vt bits))  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35239  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-21 20:14:05 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						8e59e163db 
					 
					
						
						
							
							do not share old induction variables when this would result in invalid  
						
						... 
						
						
						
						instructions (that would have to be split later)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35227  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-20 21:54:54 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						c01a53007a 
					 
					
						
						
							
							Fix some VC++ warnings.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35224  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-20 20:43:18 +00:00 
						 
				 
			
				
					
						
							
							
								Lauro Ramos Venancio 
							
						 
					 
					
						
						
							
						
						a0a26b7454 
					 
					
						
						
							
							Code clean up.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35220  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-20 20:09:03 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						29a68fb5b7 
					 
					
						
						
							
							Minor bug.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35219  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-20 19:32:11 +00:00 
						 
				 
			
				
					
						
							
							
								Lauro Ramos Venancio 
							
						 
					 
					
						
						
							
						
						8334b9fa3b 
					 
					
						
						
							
							CopyToReg source operand can be a physical register.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35213  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-20 16:46:44 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						db264ae07f 
					 
					
						
						
							
							Use SmallSet instead of std::set.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35133  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-17 08:53:30 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2edd563825 
					 
					
						
						
							
							If sdisel has decided to sink GEP index expression into any BB. Replace all uses  
						
						... 
						
						
						
						in that BB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35132  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-17 08:22:49 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9e2d86add8 
					 
					
						
						
							
							Turn on GEP index sinking by default.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35127  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-16 18:32:30 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9f5ead9601 
					 
					
						
						
							
							Stupid bug.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35126  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-16 17:50:20 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3cd4e5095b 
					 
					
						
						
							
							Sink a binary expression into its use blocks if it is a loop invariant  
						
						... 
						
						
						
						computation used as GEP indexes and if the expression can be folded into
target addressing mode of GEP load / store use types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35123  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-16 08:46:27 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						14245a9d62 
					 
					
						
						
							
							Added isLegalAddressExpression hook to test if the given expression can be  
						
						... 
						
						
						
						folded into target addressing mode for the given type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35121  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-16 08:42:32 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c6deb3d447 
					 
					
						
						
							
							Estimate a cost using the possible number of scratch registers required and use  
						
						... 
						
						
						
						it as a late BURR scheduling tie-breaker.
Intuitively, it's good to push down instructions whose results are liveout so
their long live ranges won't conflict with other values which are needed inside
the BB. Further prioritize liveout instructions by the number of operands which
are calculated within the BB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35109  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-14 22:43:40 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						61230d18d2 
					 
					
						
						
							
							Try schedule def + use closer whne Sethi-Ullman numbers are the same.  
						
						... 
						
						
						
						e.g.
t1 = op t2, c1
t3 = op t4, c2
and the following instructions are both ready.
t2 = op c3
t4 = op c4
Then schedule t2 = op first.
i.e.
t4 = op c4
t2 = op c3
t1 = op t2, c1
t3 = op t4, c2
This creates more short live intervals which work better with the register
allocator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35089  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-13 23:25:11 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c289faf015 
					 
					
						
						
							
							More flexible TargetLowering LSR hooks for testing whether an immediate is a legal target address immediate or scale.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35076  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-12 23:37:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6dfc6806bf 
					 
					
						
						
							
							implement support for floating point constants used as inline asm memory operands.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35033  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-08 22:29:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b4ddac9bf7 
					 
					
						
						
							
							make this fail even in non-assert builds.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35025  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-08 07:07:03 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						d0b82b301d 
					 
					
						
						
							
							Refactoring of formal parameter flags. Enable properly use of  
						
						... 
						
						
						
						zext/sext/aext stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35008  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-07 16:25:09 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						83060c544b 
					 
					
						
						
							
							Avoid combining indexed load further.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35005  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-07 08:07:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						edf2e8da25 
					 
					
						
						
							
							big endian 32-bit systems (e.g. ppc32) want to return the high reg first, not  
						
						... 
						
						
						
						the lo-reg first.  This is fallout from my ppc calling conv change yesterday,
it fixes test/ExecutionEngine/2003-05-06-LivenessClobber.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34983  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-06 20:01:06 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						0db79d86de 
					 
					
						
						
							
							Enumerate SDISel formal parameter attributes. Make use of new  
						
						... 
						
						
						
						enumeration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34960  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-06 06:10:33 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						ca5183d445 
					 
					
						
						
							
							Unbreak VC++ build.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34917  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-05 00:00:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b654176cb4 
					 
					
						
						
							
							fold away addc nodes when we know there cannot be a carry-out.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34913  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-04 20:40:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bcf2484450 
					 
					
						
						
							
							generalize  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34910  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-04 20:08:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						91153686f0 
					 
					
						
						
							
							canonicalize constants to the RHS of addc/adde.  If nothing uses the carry out of  
						
						... 
						
						
						
						addc, turn it into add.
This allows us to compile:
long long test(long long A, unsigned B) {
  return (A + ((long long)B << 32)) & 123;
}
into:
_test:
        movl $123, %eax
        andl 4(%esp), %eax
        xorl %edx, %edx
        ret
instead of:
_test:
        xorl %edx, %edx
        movl %edx, %eax
        addl 4(%esp), %eax   ;; add of zero
        andl $123, %eax
        ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34909  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-04 20:03:15 +00:00