Evan Cheng 
							
						 
					 
					
						
						
							
						
						c99ef085b9 
					 
					
						
						
							
							Add reference counting to constantpool entries. Delete the unused ones.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34105  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-09 20:54:44 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						bd5d3dbdbe 
					 
					
						
						
							
							- Branch max. displacement calculation bug.  
						
						 
						
						... 
						
						
						
						- Add debugging info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33811  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-03 02:08:34 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						05cc424082 
					 
					
						
						
							
							Use MBB.empty() instead of MBB.size() for speed.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33789  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-02 19:09:19 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						1dd6a606ad 
					 
					
						
						
							
							Watch out for empty BB.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33788  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-02 18:49:02 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						556f33c6e2 
					 
					
						
						
							
							Pasto. Lots of it.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33762  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-01 20:44:52 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b43216ee4a 
					 
					
						
						
							
							- Off by one bugs in maximum displacement calculation / testing.  
						
						 
						
						... 
						
						
						
						- In thumb mode, a new constpool island BB size should be 4 + 2 to
  compensate for the potential padding due to alignment requirement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33753  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-01 10:16:15 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2021abe154 
					 
					
						
						
							
							Pessmistically assume the .align 2 before the first constpool entry adds  
						
						 
						
						... 
						
						
						
						two bytes padding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33734  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-01 01:09:47 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a2e35588c6 
					 
					
						
						
							
							Handle an interesting corner case: the constpool_entry being reference is two  
						
						 
						
						... 
						
						
						
						instructions away, i.e. its address is equal to PC.
        %r0 = tLDRpci <cp#0>
        bx
        CONSTPOOL_ENTRY 0 <cp#0>, 4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33728  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-31 23:35:18 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c0dbec7e10 
					 
					
						
						
							
							When determining whether a pc relative branch / load displacement fits in the  
						
						 
						
						... 
						
						
						
						instruction field, adjust it for PC value (4 for thumb, 8 for arm).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33711  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-31 19:57:44 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a9b8b8d62c 
					 
					
						
						
							
							Some comments.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33707  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-31 18:29:27 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						934536dab2 
					 
					
						
						
							
							ConstPool island bug: watch out for cases where UserMI is the last MI of the BB.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33706  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-31 18:19:07 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0c61584d05 
					 
					
						
						
							
							- Added Thumb constpool island support.  
						
						 
						
						... 
						
						
						
						- Islands are inserted right after the user MI since thumb LDR cannot encode
  negative offset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33690  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-31 02:22:22 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d1b2c1e88f 
					 
					
						
						
							
							- In thumb mode, if size of MachineFunction is >= 2048, force LR to be  
						
						 
						
						... 
						
						
						
						spilled (if it is not already).
- If LR is spilled, use BL to implement far jumps. LR is not used as a GPR
  in thumb mode so it can be clobbered if it is properly spilled / restored
  in prologue / epilogue.
- If LR is force spilled but no far jump has been emitted, try undo'ing the
  spill by:
  push lr -> delete
  pop pc -> bx lr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33650  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-30 01:18:38 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						29836c330f 
					 
					
						
						
							
							Factor GetInstSize() out of constpool island pass.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33644  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-29 23:45:17 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d85ac4d079 
					 
					
						
						
							
							Thumb jumptable support.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33568  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-27 02:29:45 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						43aeab68a6 
					 
					
						
						
							
							Conditional branch being fixed up is not the last MI in the BB, there is a  
						
						 
						
						... 
						
						
						
						unconditional branch following it. Simply invert the condition and swap
destinations if the conditional branch can reach the destination of the
unconditional branch:
beq L1
b   L2
=>
bne L2
b   L1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33548  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-26 20:38:26 +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 
							
						 
					 
					
						
						
							
						
						dd353b8ad7 
					 
					
						
						
							
							SplitBlockBeforeInstr() insert a unconditional branch to the next BB. This  
						
						 
						
						... 
						
						
						
						is unnecessary when we are fixing up a conditional branch since we will be
adding a unconditional branch to the destination of the original branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33517  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-26 02:02:39 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7755facd76 
					 
					
						
						
							
							Need to scan the function for branches even if there aren't any constants.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33515  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-26 01:04:44 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a0bf794eb6 
					 
					
						
						
							
							Forgot to update this.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33512  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-25 23:31:04 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c285414988 
					 
					
						
						
							
							Add comment, fix typo, reduce memory usage, etc.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33510  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-25 23:18:59 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						743fa032a7 
					 
					
						
						
							
							Doh. Skip JT branches.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33501  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-25 19:43:52 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						af5cbcb809 
					 
					
						
						
							
							Added (preliminary) branch shortening capability to constantpool island pass.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33497  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-25 03:12:46 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						012f2d97b7 
					 
					
						
						
							
							Use PC relative ldr to load from a constantpool in Thumb mode.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33484  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-24 08:53:17 +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