Chad Rosier 
							
						 
					 
					
						
						
							
						
						053e69ad57 
					 
					
						
						
							
							Add fast-isel stats to determine who's doing all the work, the  
						
						... 
						
						
						
						target-independent selector or the target-specific selector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144833  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-16 21:05:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chad Rosier 
							
						 
					 
					
						
						
							
						
						22b34cce4d 
					 
					
						
						
							
							GEPs with all zero indices are trivially coalesced by fast-isel.  For example,  
						
						... 
						
						
						
						%arrayidx135 = getelementptr inbounds [4 x [4 x [4 x [4 x i32]]]]* %M0, i32 0, i64 0
%arrayidx136 = getelementptr inbounds [4 x [4 x [4 x i32]]]* %arrayidx135, i32 0, i64 %idxprom134
Prior to this commit, the GEP instruction that defines %arrayidx136 thought that 
%arrayidx135 was a trivial kill.  The GEP that defines %arrayidx135 doesn't 
generate any code and thus %M0 gets folded into the second GEP.  Thus, we need
to look through GEPs with all zero indices.
rdar://10443319
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144730  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-15 23:34:05 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						9e15d658c9 
					 
					
						
						
							
							Fix a thinko that Nick noticed. The previous code actually worked as  
						
						... 
						
						
						
						intended, but only by accident.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141779  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-12 15:56:56 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						9aee335c23 
					 
					
						
						
							
							Directly point debug info to the stack slot of the arugment, instead of trying to keep track of vreg in which it the arugment is copied. The LiveDebugVariable can keep track of variable's ranges.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139330  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-09-08 22:59:09 +00:00 
						 
				 
			
				
					
						
							
							
								Ivan Krasin 
							
						 
					 
					
						
						
							
						
						74af88a666 
					 
					
						
						
							
							FastISel: avoid function calls between the materialization of the constant and its use.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137993  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-18 22:06:10 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						497a397f3e 
					 
					
						
						
							
							Revert r135423.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135454  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-19 00:28:24 +00:00 
						 
				 
			
				
					
						
							
							
								Jeffrey Yasskin 
							
						 
					 
					
						
						
							
						
						3ba292dbc2 
					 
					
						
						
							
							Add APInt(numBits, ArrayRef<uint64_t> bigVal) constructor to prevent future ambiguity  
						
						... 
						
						
						
						errors like the one corrected by r135261.  Migrate all LLVM callers of the old
constructor to the new one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135431  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-18 21:45:40 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						1360bc8eb0 
					 
					
						
						
							
							During bottom up fast-isel, instructions emitted to materalize registers are at top of basic block and do not have debug location. This may misguide debugger while entering the basic block and sometimes debugger provides semi useful view of current location to developer by picking up previous known location as current location. Assign a sensible location to the first instruction in a basic block, if it does not have one location derived from source file, so that debugger can provide meaningful user experience to developers in edge cases.  
						
						... 
						
						
						
						[take 2]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135423  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-18 20:55:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						db125cfaf5 
					 
					
						
						
							
							land David Blaikie's patch to de-constify Type, with a few tweaks.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-18 04:54:35 +00:00 
						 
				 
			
				
					
						
							
							
								Jay Foad 
							
						 
					 
					
						
						
							
						
						fc6d3a4986 
					 
					
						
						
							
							Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135040  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-13 10:26:04 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						272511f518 
					 
					
						
						
							
							Revert r133953 for now.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134116  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-29 23:50:13 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e837dead3c 
					 
					
						
						
							
							- Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and  
						
						... 
						
						
						
						sink them into MC layer.
- Added MCInstrInfo, which captures the tablegen generated static data. Chang
TargetInstrInfo so it's based off MCInstrInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134021  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-28 19:10:37 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						016c5829a5 
					 
					
						
						
							
							During bottom up fast-isel, instructions emitted to materalize registers are at top of basic block and do not have debug location. This may misguide debugger while entering the basic block and sometimes debugger provides semi useful view of current location to developer by picking up previous known location as current location. Assign a sensible location to the first instruction in a basic block, if it does not have one location derived from source file, so that debugger can provide meaningful user experience to developers in edge cases.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133953  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-27 22:32:04 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						8594d429e0 
					 
					
						
						
							
							Handle debug info for  i128 constants.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133821  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-24 20:46:11 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						0b4d96baec 
					 
					
						
						
							
							PR10077: fix fast-isel of extractvalue of aggregate constants.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132676  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-06 05:46:34 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						76927d7303 
					 
					
						
						
							
							Rewrite fast-isel integer cast handling to handle more cases, and to be simpler and more consistent.  
						
						... 
						
						
						
						The practical effects here are that x86-64 fast-isel can now handle trunc from i8 to i1, and ARM fast-isel can handle many more constructs involving integers narrower than 32 bits (including loads, stores, and many integer casts).
rdar://9437928 .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132099  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-25 23:49:02 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						482feb33b2 
					 
					
						
						
							
							Make fast-isel work correctly s/uadd.with.overflow intrinsics.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131420  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-16 21:06:17 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						a4c920db7a 
					 
					
						
						
							
							Fix silly typo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131419  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-16 20:34:53 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						2586b8f936 
					 
					
						
						
							
							Basic fast-isel of extractvalue.  Not too helpful on its own, given the IR clang generates for cases like this, but it should become more useful soon.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131417  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-16 20:27:46 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						d0118a2371 
					 
					
						
						
							
							Fix a FIXME by moving the fast-isel implementation of the objectsize intrinsic from the x86 code to the generic code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131332  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-14 00:47:51 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d71867a8f4 
					 
					
						
						
							
							Allow FastISel of three-register-operand instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130934  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-05 17:59:04 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						b2b03fc2fa 
					 
					
						
						
							
							Make FastEmit_ri_ try a bit harder to succeed for supported operations; FastEmit_i can fail for non-Thumb2 ARM.  Makes ARMSimplifyAddress work correctly, and reduces the number of fast-isel bailouts on non-Thumb ARM.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130560  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-29 23:34:52 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						bd1253809b 
					 
					
						
						
							
							Fix a silly mistake in r130338.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130360  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-28 00:42:03 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						2790ba8e5a 
					 
					
						
						
							
							Make the fast-isel code for literal 0.0 a bit shorter/faster, since 0.0 is common.  rdar://problem/9303592 .  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130338  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-27 22:41:55 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						161b887506 
					 
					
						
						
							
							Remove unused function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130337  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-27 22:21:02 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						a61e73bda5 
					 
					
						
						
							
							Fast-isel support for simple inline asms.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130205  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-26 17:18:34 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d74ea775af 
					 
					
						
						
							
							Teach FastISel to deal with instructions that have two immediate operands.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130033  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-22 23:38:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						832e494359 
					 
					
						
						
							
							Implement support for x86 fastisel of small fixed-sized memcpys, which are generated  
						
						... 
						
						
						
						en-mass for C++ PODs.  On my c++ test file, this cuts the fast isel rejects by 10x 
and shrinks the generated .s file by 5%
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129755  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-19 05:52:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f051c1a29d 
					 
					
						
						
							
							while we're at it, handle 'sdiv exact' of a power of 2 also,  
						
						... 
						
						
						
						this fixes a few rejects on c++ iterator loops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129694  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-18 07:00:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						090ca9108b 
					 
					
						
						
							
							fix rdar://9297011 - udiv by power of two causing fast-isel rejects  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129693  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-18 06:55:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						602fc06817 
					 
					
						
						
							
							1. merge fast-isel-shift-imm.ll into fast-isel-x86-64.ll  
						
						... 
						
						
						
						2. implement rdar://9289501 - fast isel should fold trivial multiplies to shifts
3. teach tblgen to handle shift immediates that are different sizes than the 
   shifted operands, eliminating some code from the X86 fast isel backend.
4. Have FastISel::SelectBinaryOp use (the poorly named) FastEmit_ri_ function
   instead of FastEmit_ri to simplify code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129666  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-17 20:23:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fff65b354f 
					 
					
						
						
							
							fix rdar://9289583 - fast isel should handle non-canonical commutative binops  
						
						... 
						
						
						
						allowing us to fold the immediate into the 'and' in this case:
int test1(int i) {
  return 8&i;
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129653  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-17 01:16:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7a2bdde0a0 
					 
					
						
						
							
							Fix a ton of comment typos found by codespell.  Patch by  
						
						... 
						
						
						
						Luis Felipe Strano Moraes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-15 05:18:47 +00:00 
						 
				 
			
				
					
						
							
							
								Jay Foad 
							
						 
					 
					
						
						
							
						
						562b84b3ae 
					 
					
						
						
							
							Don't include Operator.h from InstrTypes.h.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129271  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-11 09:35:34 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						2ce5bf188d 
					 
					
						
						
							
							Teach FastISel to support register-immediate-immediate instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127496  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-11 21:33:55 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						afeaae7a94 
					 
					
						
						
							
							If dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG message instead of creating DBG_VALUE for undefined value in reg0.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121059  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-06 22:39:26 +00:00 
						 
				 
			
				
					
						
							
							
								Wesley Peck 
							
						 
					 
					
						
						
							
						
						bf17cfa3f9 
					 
					
						
						
							
							Renaming ISD::BIT_CONVERT to ISD::BITCAST to better reflect the LLVM IR concept.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119990  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-23 03:31:01 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						6fe75aaaeb 
					 
					
						
						
							
							Use frame index, if available for byval argument while lowering dbg_declare. Otherwise let getRegForValue() find register for this argument.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113843  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-14 20:29:31 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						4bafda9618 
					 
					
						
						
							
							Add DEBUG message.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113614  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-10 20:32:09 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						44a2c3476b 
					 
					
						
						
							
							Fix typo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111223  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-17 01:30:33 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						96f1d8ebdd 
					 
					
						
						
							
							mass elimination of reliance on automatic iterator dereferencing  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109103  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-22 13:36:47 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						c6e59b71f5 
					 
					
						
						
							
							After a custom inserter, in a block which has constant instructions,  
						
						... 
						
						
						
						update the current basic block in addition to the current insert
position, so that they remain consistent. This fixes rdar://8204072.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108765  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-19 22:48:56 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						9c3d5e41b9 
					 
					
						
						
							
							Revert r108369, sorting llvm.dbg.declare information by source position,  
						
						... 
						
						
						
						since it doesn't work for front-ends which don't emit column information
(which includes llvm-gcc in its present configuration), and doesn't
work for clang for K&R style variables where the variables are declared
in a different order from the parameter list.
Instead, make a separate pass through the instructions to collect the
llvm.dbg.declare instructions in order. This ensures that the debug
information for variables is emitted in this order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108538  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-16 17:54:27 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						163f78ea40 
					 
					
						
						
							
							Properly restore DebugLoc after leaving the local constant area.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108364  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-14 22:01:31 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						2dd50e656f 
					 
					
						
						
							
							Delete fast-isel's trivial load optimization; it breaks debugging because  
						
						... 
						
						
						
						it can look past points where a debugger might modify user variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108336  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-14 17:25:37 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						a10b8494a5 
					 
					
						
						
							
							Don't propagate debug locations to instructions for materializing  
						
						... 
						
						
						
						constants, since they may not be emited near the other instructions
which get the same line, and this confuses debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108302  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-14 01:07:44 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						e7917bb207 
					 
					
						
						
							
							Use COPY for fast-isel bitconvert, but don't create cross-class copies.  
						
						... 
						
						
						
						This doesn't change the behavior of SelectBitcast for X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108073  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-11 05:16:54 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						e797e0c864 
					 
					
						
						
							
							Use COPY for extracting ImplicitDef'ed values from fast-isel instructions.  
						
						... 
						
						
						
						This assumes that the registers can be copied which is probably a safe
assumption.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108070  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-11 03:31:05 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						5127f79913 
					 
					
						
						
							
							Use COPY in FastISel everywhere it is safe and trivial.  
						
						... 
						
						
						
						The remaining copyRegToReg calls actually check the return value (shock!), so we
cannot trivially replace them with COPY instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108069  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-11 03:31:00 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						84023e0fbe 
					 
					
						
						
							
							Reapply bottom-up fast-isel, with several fixes for x86-32:  
						
						... 
						
						
						
						- Check getBytesToPopOnReturn().
 - Eschew ST0 and ST1 for return values.
 - Fix the PIC base register initialization so that it doesn't ever
   fail to end up the top of the entry block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108039  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-10 09:00:22 +00:00