Dale Johannesen 
							
						 
					 
					
						
						
							
						
						f1b214d3ca 
					 
					
						
						
							
							Add intelligence about where to break large blocks.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34755  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-28 18:41:23 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						ce74de46dd 
					 
					
						
						
							
							cosmetic changes from review of last patch.  obvious  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34598  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-25 18:31:31 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						598270a68d 
					 
					
						
						
							
							remove crediting of Evan Cheng and me.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34568  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-25 01:42:36 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						99c49a4b94 
					 
					
						
						
							
							Removed WaterListOffset, inserted BBOffsets.  Remove TODO item about this  
						
						... 
						
						
						
						from README.
When no water available, use end of block if in range.  (More to do here.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34563  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-25 00:47:03 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						88e37ae366 
					 
					
						
						
							
							rewrite of constant islands  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34523  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-23 05:02:36 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e03cff6812 
					 
					
						
						
							
							These vectors are frequently large. Use std::vector instead.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34109  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-09 23:59:14 +00:00 
						 
				 
			
				
					
						
							
							
								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