Chris Lattner 
							
						 
					 
					
						
						
							
						
						eb13d1b710 
					 
					
						
						
							
							restore support for negative strides  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35859  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-10 03:48:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						37caf8c68e 
					 
					
						
						
							
							remove dead target hooks  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35846  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-09 23:33:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b445d0cbb9 
					 
					
						
						
							
							remove some dead target hooks, subsumed by isLegalAddressingMode  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35840  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-09 22:27:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0a7baa24d1 
					 
					
						
						
							
							Typo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35639  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-04 00:06:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b2c594f350 
					 
					
						
						
							
							Arm supports negative strides as well, add them.  This lets us compile:  
						
						... 
						
						
						
						CodeGen/ARM/arm-negative-stride.ll to:
LBB1_2: @bb
        str r1, [r3, -r0, lsl #2 ]
        add r0, r0, #1 
        cmp r0, r2
        bne LBB1_2      @bb
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35609  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-03 00:13:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6e0784da77 
					 
					
						
						
							
							fix the CodeGen/ARM/2007-03-13-InstrSched.ll regression: allow IV's with scales  
						
						... 
						
						
						
						to be folded into non-store instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35601  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-02 18:51:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c4e3f8e736 
					 
					
						
						
							
							add support for the 'w' inline asm register class.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35598  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-02 17:24:08 +00:00 
						 
				 
			
				
					
						
							
							
								Lauro Ramos Venancio 
							
						 
					 
					
						
						
							
						
						9996663fc6 
					 
					
						
						
							
							- Divides the comparisons in two types: comparisons that only use N and Z  
						
						... 
						
						
						
						flags (ARMISD::CMPNZ) and comparisons that use all flags (ARMISD::CMP).
- Defines the instructions: TST, TEQ (ARM) and TST (Thumb).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35573  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-02 01:30:03 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3074d9df96 
					 
					
						
						
							
							Add i16 address mode.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35551  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-01 08:06:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c9addb7488 
					 
					
						
						
							
							implement the new addressing mode description hook.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35521  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-30 23:15:24 +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 
						 
				 
			
				
					
						
							
							
								Lauro Ramos Venancio 
							
						 
					 
					
						
						
							
						
						b8a93a45f8 
					 
					
						
						
							
							bugfix: sometimes the spiller puts a load between the "mov lr, pc" and "bx" of a CALL_NOLINK.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35381  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-27 16:19:21 +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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Lauro Ramos Venancio 
							
						 
					 
					
						
						
							
						
						64c88d741e 
					 
					
						
						
							
							bugfix: When the source register of CALL_NOLINK was LR, the following code was emitted:  
						
						... 
						
						
						
						mov lr, pc
    bx lr
So, the function was not called.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35218  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-20 17:57:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1719e13da0 
					 
					
						
						
							
							fix indentation  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35202  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-20 02:25:53 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9f6636ff0c 
					 
					
						
						
							
							Fix naming inconsistencies.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35163  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-19 07:48:02 +00:00 
						 
				 
			
				
					
						
							
							
								Lauro Ramos Venancio 
							
						 
					 
					
						
						
							
						
						368f20fda4 
					 
					
						
						
							
							Only ARMv6 has BSWAP.  
						
						... 
						
						
						
						Fix MultiSource/Applications/aha test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35128  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-16 22:54:16 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2770747216 
					 
					
						
						
							
							Added isLegalAddressExpression(). Only allows X +/- C for now.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35122  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-16 08:43:56 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						961f879ed8 
					 
					
						
						
							
							Zero is always a legal AM immediate.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35087  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-13 20:37:59 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b01fad6d19 
					 
					
						
						
							
							Updated TargetLowering LSR addressing mode hooks for ARM and Thumb.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35075  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-12 23:30:29 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b582b1b1fc 
					 
					
						
						
							
							Fix a typo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35030  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-08 21:59:30 +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 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						1d9baccc9b 
					 
					
						
						
							
							Use new SDIselParamAttr enumeration. This removes "magick" constants  
						
						... 
						
						
						
						from formal attributes' flags processing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34963  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-06 08:12:33 +00:00 
						 
				 
			
				
					
						
							
							
								Lauro Ramos Venancio 
							
						 
					 
					
						
						
							
						
						600c383e5c 
					 
					
						
						
							
							Fix stack alignment in functions with varargs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34532  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-23 20:32:57 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						2ad9f17fee 
					 
					
						
						
							
							Simplify lowering and selection of exception ops.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34488  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-22 14:56:36 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						62819f3144 
					 
					
						
						
							
							Support to provide exception and selector registers.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34482  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-21 22:54:50 +00:00 
						 
				 
			
				
					
						
							
							
								Lauro Ramos Venancio 
							
						 
					 
					
						
						
							
						
						876eaf1135 
					 
					
						
						
							
							According to ARM EABI, 8-bytes function arguments must be 8-bytes aligned.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34241  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-13 14:07:13 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						fc4034259f 
					 
					
						
						
							
							Fix comments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33831  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-03 08:53:01 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9a2ef9509e 
					 
					
						
						
							
							Fix a bug in getARMCMP (which translate CondCode to ARM specific CC) when the RHS is a constant.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33775  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-02 01:53:26 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b0636156ef 
					 
					
						
						
							
							Thumb does not have clz.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33773  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-01 23:34:03 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						193f850880 
					 
					
						
						
							
							Specify the right CC for comparison libcalls.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33702  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-31 09:30:58 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b6ab2547cb 
					 
					
						
						
							
							Observe -soft-float.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33699  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-31 08:40:13 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c60e76d139 
					 
					
						
						
							
							- Fix codegen for pc relative constant (e.g. JT) in thumb mode:  
						
						... 
						
						
						
						.set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
LPCRELL0:
        add r1, pc, #PCRELV0
This is not legal since add r1, pc, #c requires the constant be a multiple of 4.
Do the following instead:
        .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4))
LPCRELL0:
        mov r1, #PCRELV0
        add r1, pc
- In thumb mode, it's not possible to use .set generate a pc relative stub
  address. The stub is ARM code which is in a different section from the thumb
  code. Load the value from a constpool instead.
- Some asm printing clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33664  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-30 20:37:08 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						5cbf985dcb 
					 
					
						
						
							
							For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid  
						
						... 
						
						
						
						confusion with external linkage types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-30 20:08:39 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						bcc5f36765 
					 
					
						
						
							
							Finish off bug 680, allowing targets to custom lower frame and return  
						
						... 
						
						
						
						address nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33636  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-29 22:58:52 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						b10308e440 
					 
					
						
						
							
							Propagate changes from my local tree. This patch includes:  
						
						... 
						
						
						
						1. New parameter attribute called 'inreg'. It has meaning "place this
parameter in registers, if possible". This is some generalization of
gcc's regparm(n) attribute. It's currently used only in X86-32 backend.
2. Completely rewritten CC handling/lowering code inside X86 backend.
Merged stdcall + c CCs and fastcall + fast CC.
3. Dropped CSRET CC. We cannot add struct return variant for each
target-specific CC (e.g. stdcall + csretcc and so on).
4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in
on first attribute has meaning 'This is hidden pointer to structure
return. Handle it gently'.
5. Fixed small bug in llvm-extract + add new feature to
FunctionExtraction pass, which relinks all internal-linkaged callees
from deleted function to external linkage. This will allow further
linking everything together.
NOTEs: 1. Documentation will be updated soon.
       2. llvm-upgrade should be improved to translate csret => sret.
          Before this, there will be some unexpected test fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33597  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-28 13:31:35 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						1ee2925742 
					 
					
						
						
							
							Make LABEL a builtin opcode.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33537  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-26 14:34:52 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2576f13645 
					 
					
						
						
							
							Use bl to call Thumb fuctions directly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33433  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-22 19:40:10 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						970a419633 
					 
					
						
						
							
							isDarwin -> isTargetDarwin  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33366  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-19 19:28:01 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a8e2989ece 
					 
					
						
						
							
							ARM backend contribution from Apple.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33353  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-19 07:51:42 +00:00