Nick Lewycky 
							
						 
					 
					
						
						
							
						
						f5a86f45e7 
					 
					
						
						
							
							Remove includes of Support/Compiler.h that are no longer needed after the  
						
						... 
						
						
						
						VISIBILITY_HIDDEN removal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-25 06:57:41 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						6726b6d75a 
					 
					
						
						
							
							Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.  
						
						... 
						
						
						
						Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-25 06:33:48 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5adb66a646 
					 
					
						
						
							
							Make ARM and Thumb2 32-bit immediate materialization into a single 32-bit pseudo  
						
						... 
						
						
						
						instruction. This makes it re-materializable.
Thumb2 will split it back out into two instructions so IT pass will generate the
right mask. Also, this expose opportunies to optimize the movw to a 16-bit move.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82982  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-28 09:14:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						28d63b1699 
					 
					
						
						
							
							Cast MO.getImm() to unsigned before comparing with an unsigned limit.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81318  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-09 06:05:16 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						c2d98bc0d6 
					 
					
						
						
							
							Remove some not-really-used variables, as warned  
						
						... 
						
						
						
						about by icc (#593 , partial).  Patch by Erick Tryzelaar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81115  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-06 12:41:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						705e07f578 
					 
					
						
						
							
							remove various std::ostream version of printing methods from  
						
						... 
						
						
						
						MachineInstr and MachineOperand.  This required eliminating a
bunch of stuff that was using DOUT, I hope that bill doesn't
mind me stealing his fun. ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79813  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-23 03:41:05 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						9ae7d44d95 
					 
					
						
						
							
							Fix use after free in Thumb2SizeReduction (PR4707). A MachineInstr was used after erasure.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79189  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-16 11:56:42 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						bc9b754091 
					 
					
						
						
							
							Turn on if-conversion for thumb2.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79084  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-15 07:59:10 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a1efbbdbf3 
					 
					
						
						
							
							Shrink ADR and LDR from constantpool late during constantpool island pass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78970  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-14 00:32:16 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3aaccffbce 
					 
					
						
						
							
							PredCC is meant to be 2 bits wide, like PredCC1.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78829  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-12 18:35:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						007ea274f4 
					 
					
						
						
							
							Shrink Thumb2 movcc instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78790  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-12 05:17:19 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						05c269c645 
					 
					
						
						
							
							Shrink ADDS, ADC, RSB, and SUBS.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78776  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-12 01:49:45 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b89030ab65 
					 
					
						
						
							
							Shrinkify Thumb2 r = add sp, imm.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78745  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 23:00:31 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						4b322e58b7 
					 
					
						
						
							
							Shrinkify Thumb2 load / store multiple instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78717  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 21:11:32 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						195c71b472 
					 
					
						
						
							
							Fix the previous accidental commit. Now shrinking common Thumb2 load / store instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78659  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 09:37:40 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3a21425dbe 
					 
					
						
						
							
							Fix Thumb2 load / store addressing mode matching code. Do not use so_reg form to  
						
						... 
						
						
						
						match base only address, i.e. [r] since Thumb2 requires a offset register field.
For those, use [r + imm12] where the immediate is zero.
Note the generated assembly code does not look any different after the patch.
But the bug would have broken the JIT (if there is Thumb2 support) and it can
break later passes which expect the address mode to be well-formed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78658  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 08:52:18 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						65f2e7887a 
					 
					
						
						
							
							Watch out for empty BB.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78562  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-10 08:10:13 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						8442d00a0e 
					 
					
						
						
							
							rev, rev16, and revsh do not set CPSR.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78561  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-10 07:58:45 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0d3007bb32 
					 
					
						
						
							
							Duh. Most 16-bit Thumb rr instructions are two-address. Fix table.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78560  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-10 07:20:37 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						26cc252a43 
					 
					
						
						
							
							CPSR can be livein; transfer predicate operands correctly; tMUL is two-address.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78559  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-10 06:57:42 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e8af1f9afe 
					 
					
						
						
							
							Add support to reduce most of 32-bit Thumb2 arithmetic instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78550  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-10 02:37:24 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a56c57e5f0 
					 
					
						
						
							
							Add support to convert 32-bit instructions to 16-bit non-two-address ones.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78540  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-09 19:17:19 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3eff16e27a 
					 
					
						
						
							
							Add a skeleton Thumb2 instruction size reduction pass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78456  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-08 03:21:23 +00:00